0g-chain/proto/kava/kavadist/v1beta1/proposal.proto
2024-08-03 15:03:23 +08:00

45 lines
1.5 KiB
Protocol Buffer

syntax = "proto3";
package kava.kavadist.v1beta1;
import "cosmos/base/v1beta1/coin.proto";
import "gogoproto/gogo.proto";
option go_package = "github.com/0glabs/0g-chain/x/kavadist/types";
// CommunityPoolMultiSpendProposal spends from the community pool by sending to one or more
// addresses
message CommunityPoolMultiSpendProposal {
option (gogoproto.goproto_stringer) = false;
option (gogoproto.goproto_getters) = false;
string title = 1;
string description = 2;
repeated MultiSpendRecipient recipient_list = 3 [(gogoproto.nullable) = false];
}
// CommunityPoolMultiSpendProposalJSON defines a CommunityPoolMultiSpendProposal with a deposit
message CommunityPoolMultiSpendProposalJSON {
option (gogoproto.goproto_stringer) = true;
option (gogoproto.goproto_getters) = false;
string title = 1;
string description = 2;
repeated MultiSpendRecipient recipient_list = 3 [(gogoproto.nullable) = false];
repeated cosmos.base.v1beta1.Coin deposit = 4 [
(gogoproto.nullable) = false,
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
];
}
// MultiSpendRecipient defines a recipient and the amount of coins they are receiving
message MultiSpendRecipient {
option (gogoproto.goproto_stringer) = false;
option (gogoproto.goproto_getters) = false;
string address = 1;
repeated cosmos.base.v1beta1.Coin amount = 2 [
(gogoproto.nullable) = false,
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
];
}