0g-chain/proto/zgc/committee/v1beta1/tx.proto
2024-08-03 15:04:33 +08:00

41 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package zgc.committee.v1beta1;
import "cosmos_proto/cosmos.proto";
import "gogoproto/gogo.proto";
import "google/protobuf/any.proto";
import "zgc/committee/v1beta1/genesis.proto";
option go_package = "github.com/0glabs/0g-chain/x/committee/types";
option (gogoproto.goproto_getters_all) = false;
// Msg defines the committee Msg service
service Msg {
// SubmitProposal defines a method for submitting a committee proposal
rpc SubmitProposal(MsgSubmitProposal) returns (MsgSubmitProposalResponse);
// Vote defines a method for voting on a proposal
rpc Vote(MsgVote) returns (MsgVoteResponse);
}
// MsgSubmitProposal is used by committee members to create a new proposal that they can vote on.
message MsgSubmitProposal {
google.protobuf.Any pub_proposal = 1 [(cosmos_proto.accepts_interface) = "cosmos.gov.v1beta1.Content"];
string proposer = 2;
uint64 committee_id = 3 [(gogoproto.customname) = "CommitteeID"];
}
// MsgSubmitProposalResponse defines the SubmitProposal response type
message MsgSubmitProposalResponse {
uint64 proposal_id = 1 [(gogoproto.customname) = "ProposalID"];
}
// MsgVote is submitted by committee members to vote on proposals.
message MsgVote {
uint64 proposal_id = 1 [(gogoproto.customname) = "ProposalID"];
string voter = 2;
VoteType vote_type = 3;
}
// MsgVoteResponse defines the Vote response type
message MsgVoteResponse {}