cosmos-sdk/proto/cosmos/gov/query.proto

149 lines
4.8 KiB
Protocol Buffer

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];
}