syntax = "proto3"; package cosmos.gov.v1beta1; import "cosmos/base/query/v1beta1/pagination.proto"; import "gogoproto/gogo.proto"; import "cosmos/gov/v1beta1/gov.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/gov/types"; // Query defines the gRPC querier service for gov module service Query { // Proposal queries proposal details based on ProposalID. rpc Proposal (QueryProposalRequest) returns (QueryProposalResponse) {} // Proposals queries all proposals based on given status. rpc Proposals (QueryProposalsRequest) returns (QueryProposalsResponse) {} // Vote queries voted information based on proposalID, voterAddr. rpc Vote(QueryVoteRequest) returns (QueryVoteResponse) {} // Votes queries votes of a given proposal. rpc Votes (QueryVotesRequest) returns (QueryVotesResponse) {} // Params queries all parameters of the gov module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {} // Deposit queries single deposit information based proposalID, depositAddr. rpc Deposit(QueryDepositRequest) returns (QueryDepositResponse) {} // Deposits queries all deposits of a single proposal. rpc Deposits(QueryDepositsRequest) returns (QueryDepositsResponse) {} // TallyResult queries the tally of a proposal vote. rpc TallyResult(QueryTallyResultRequest) returns (QueryTallyResultResponse) {} } // QueryProposalRequest is the request type for the Query/Proposal RPC method. message QueryProposalRequest { // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; } // QueryProposalResponse is the response type for the Query/Proposal RPC method. message QueryProposalResponse { Proposal proposal = 1 [(gogoproto.nullable) = false]; } // QueryProposalsRequest is the request type for the Query/Proposals RPC method. message QueryProposalsRequest { // proposal_status defines the status of the proposals. ProposalStatus proposal_status = 1 ; // voter defines the voter address for the proposals. bytes voter = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; // depositor defines the deposit addresses from the proposals. bytes depositor = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 4; } // QueryProposalsResponse is the response type for the Query/Proposals RPC method. message QueryProposalsResponse { repeated Proposal proposals = 1 [(gogoproto.nullable) = false]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryVoteRequest is the request type for the Query/Vote RPC method. message QueryVoteRequest { // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; // voter defines the oter address for the proposals. bytes voter = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } // QueryVoteResponse is the response type for the Query/Vote RPC method. message QueryVoteResponse { // vote defined the queried vote. Vote vote = 1 [(gogoproto.nullable) = false]; } // QueryVotesRequest is the request type for the Query/Votes RPC method. message QueryVotesRequest { // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryVotesResponse is the response type for the Query/Votes RPC method. message QueryVotesResponse { // votes defined the queried votes. repeated Vote votes = 1 [(gogoproto.nullable) = false]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryParamsRequest is the request type for the Query/Params RPC method. message QueryParamsRequest { // params_type defines which parameters to query for, can be one of "voting", "tallying" or "deposit". string params_type = 1; } // QueryParamsResponse is the response type for the Query/Params RPC method. message QueryParamsResponse { // voting_params defines the parameters related to voting. VotingParams voting_params = 1 [(gogoproto.nullable) = false]; // deposit_params defines the parameters related to deposit. DepositParams deposit_params = 2 [(gogoproto.nullable) = false]; // tally_params defines the parameters related to tally. TallyParams tally_params = 3 [(gogoproto.nullable) = false]; } // QueryDepositRequest is the request type for the Query/Deposit RPC method. message QueryDepositRequest { // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; // depositor defines the deposit addresses from the proposals. bytes depositor = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } // QueryDepositResponse is the response type for the Query/Deposit RPC method. message QueryDepositResponse { // deposit defines the requested deposit. Deposit deposit = 1 [(gogoproto.nullable) = false]; } // QueryDepositsRequest is the request type for the Query/Deposits RPC method. message QueryDepositsRequest { // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryDepositsResponse is the response type for the Query/Deposits RPC method. message QueryDepositsResponse { repeated Deposit deposits = 1 [(gogoproto.nullable) = false]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryTallyResultRequest is the request type for the Query/Tally RPC method. message QueryTallyResultRequest { // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; } // QueryTallyResultResponse is the response type for the Query/Tally RPC method. message QueryTallyResultResponse { // tally defines the requested tally. TallyResult tally = 1 [(gogoproto.nullable) = false]; }