syntax = "proto3"; package cosmos.gov; import "cosmos/query/pagination.proto"; import "gogoproto/gogo.proto"; import "cosmos/gov/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 { // 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 { // status of the proposals. ProposalStatus proposal_status = 1 ; // Voter address for the proposals. bytes voter = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; // Deposit addresses from the proposals. bytes depositor = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; cosmos.query.PageRequest pagination = 4; } // QueryProposalsResponse is the response type for the Query/Proposals RPC method message QueryProposalsResponse { repeated Proposal proposals = 1 [(gogoproto.nullable) = false]; cosmos.query.PageResponse pagination = 2; } // QueryVoteRequest is the request type for the Query/Vote RPC method message QueryVoteRequest { // unique id of the proposal uint64 proposal_id = 1; // Voter 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 vote = 1 [(gogoproto.nullable) = false]; } // QueryVotesRequest is the request type for the Query/Votes RPC method message QueryVotesRequest { // unique id of the proposal uint64 proposal_id = 1; cosmos.query.PageRequest pagination = 2; } // QueryVotesResponse is the response type for the Query/Votes RPC method message QueryVotesResponse { repeated Vote votes = 1 [(gogoproto.nullable) = false]; cosmos.query.PageResponse pagination = 2; } // QueryParamsRequest is the request type for the Query/Params RPC method message QueryParamsRequest { string params_type = 1; } // QueryParamsResponse is the response type for the Query/Params RPC method message QueryParamsResponse { VotingParams voting_params = 1 [(gogoproto.nullable) = false]; DepositParams deposit_params = 2 [(gogoproto.nullable) = false]; TallyParams tally_params = 3 [(gogoproto.nullable) = false]; } // QueryDepositRequest is the request type for the Query/Deposit RPC method message QueryDepositRequest { // unique id of the proposal uint64 proposal_id = 1; // 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 deposit = 1 [(gogoproto.nullable) = false]; } // QueryDepositsRequest is the request type for the Query/Deposits RPC method message QueryDepositsRequest { // unique id of the proposal uint64 proposal_id = 1; cosmos.query.PageRequest pagination = 2; } // QueryDepositsResponse is the response type for the Query/Deposits RPC method message QueryDepositsResponse { repeated Deposit deposits = 1 [(gogoproto.nullable) = false]; cosmos.query.PageResponse pagination = 2; } // QueryTallyResultRequest is the request type for the Query/Tally RPC method message QueryTallyResultRequest { // unique id of the proposal uint64 proposal_id = 1; } // QueryTallyResultResponse is the response type for the Query/Tally RPC method message QueryTallyResultResponse { TallyResult tally = 1 [(gogoproto.nullable) = false]; }