76 lines
2.8 KiB
Protocol Buffer
76 lines
2.8 KiB
Protocol Buffer
|
syntax = "proto3";
|
||
|
package cosmos.gov.v1beta1;
|
||
|
|
||
|
import "cosmos/base/v1beta1/coin.proto";
|
||
|
import "cosmos/gov/v1beta1/gov.proto";
|
||
|
import "cosmos_proto/cosmos.proto";
|
||
|
import "gogoproto/gogo.proto";
|
||
|
import "google/protobuf/any.proto";
|
||
|
|
||
|
option go_package = "github.com/cosmos/cosmos-sdk/x/gov/types";
|
||
|
|
||
|
// Msg defines the bank Msg service.
|
||
|
service Msg {
|
||
|
// SubmitProposal defines a method to create new proposal given a content.
|
||
|
rpc SubmitProposal(MsgSubmitProposal) returns (MsgSubmitProposalResponse);
|
||
|
|
||
|
// Vote defines a method to add a vote on a specific proposal.
|
||
|
rpc Vote(MsgVote) returns (MsgVoteResponse);
|
||
|
|
||
|
// Deposit defines a method to add deposit on a specific proposal.
|
||
|
rpc Deposit(MsgDeposit) returns (MsgDepositResponse);
|
||
|
}
|
||
|
|
||
|
// MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary
|
||
|
// proposal Content.
|
||
|
message MsgSubmitProposal {
|
||
|
option (gogoproto.equal) = false;
|
||
|
option (gogoproto.goproto_stringer) = false;
|
||
|
option (gogoproto.stringer) = false;
|
||
|
option (gogoproto.goproto_getters) = false;
|
||
|
|
||
|
google.protobuf.Any content = 1 [(cosmos_proto.accepts_interface) = "Content"];
|
||
|
repeated cosmos.base.v1beta1.Coin initial_deposit = 2 [
|
||
|
(gogoproto.nullable) = false,
|
||
|
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins",
|
||
|
(gogoproto.moretags) = "yaml:\"initial_deposit\""
|
||
|
];
|
||
|
string proposer = 3;
|
||
|
}
|
||
|
|
||
|
// MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.
|
||
|
message MsgSubmitProposalResponse {
|
||
|
uint64 proposal_id = 1 [(gogoproto.jsontag) = "proposal_id", (gogoproto.moretags) = "yaml:\"proposal_id\""];
|
||
|
}
|
||
|
|
||
|
// MsgVote defines a message to cast a vote.
|
||
|
message MsgVote {
|
||
|
option (gogoproto.equal) = false;
|
||
|
option (gogoproto.goproto_stringer) = false;
|
||
|
option (gogoproto.stringer) = false;
|
||
|
option (gogoproto.goproto_getters) = false;
|
||
|
|
||
|
uint64 proposal_id = 1 [(gogoproto.jsontag) = "proposal_id", (gogoproto.moretags) = "yaml:\"proposal_id\""];
|
||
|
string voter = 2;
|
||
|
VoteOption option = 3;
|
||
|
}
|
||
|
|
||
|
// MsgVoteResponse defines the Msg/Vote response type.
|
||
|
message MsgVoteResponse {}
|
||
|
|
||
|
// MsgDeposit defines a message to submit a deposit to an existing proposal.
|
||
|
message MsgDeposit {
|
||
|
option (gogoproto.equal) = false;
|
||
|
option (gogoproto.goproto_stringer) = false;
|
||
|
option (gogoproto.stringer) = false;
|
||
|
option (gogoproto.goproto_getters) = false;
|
||
|
|
||
|
uint64 proposal_id = 1 [(gogoproto.jsontag) = "proposal_id", (gogoproto.moretags) = "yaml:\"proposal_id\""];
|
||
|
string depositor = 2;
|
||
|
repeated cosmos.base.v1beta1.Coin amount = 3
|
||
|
[(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"];
|
||
|
}
|
||
|
|
||
|
// MsgDepositResponse defines the Msg/Deposit response type.
|
||
|
message MsgDepositResponse {}
|