## Description ref: #11086 --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules) - [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing) - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable)
192 lines
7.0 KiB
Protocol Buffer
192 lines
7.0 KiB
Protocol Buffer
syntax = "proto3";
|
|
package cosmos.gov.v1beta1;
|
|
|
|
import "cosmos/base/query/v1beta1/pagination.proto";
|
|
import "gogoproto/gogo.proto";
|
|
import "google/api/annotations.proto";
|
|
import "cosmos/gov/v1beta1/gov.proto";
|
|
import "cosmos_proto/cosmos.proto";
|
|
|
|
option go_package = "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1";
|
|
|
|
// Query defines the gRPC querier service for gov module
|
|
service Query {
|
|
// Proposal queries proposal details based on ProposalID.
|
|
rpc Proposal(QueryProposalRequest) returns (QueryProposalResponse) {
|
|
option (google.api.http).get = "/cosmos/gov/v1beta1/proposals/{proposal_id}";
|
|
}
|
|
|
|
// Proposals queries all proposals based on given status.
|
|
rpc Proposals(QueryProposalsRequest) returns (QueryProposalsResponse) {
|
|
option (google.api.http).get = "/cosmos/gov/v1beta1/proposals";
|
|
}
|
|
|
|
// Vote queries voted information based on proposalID, voterAddr.
|
|
rpc Vote(QueryVoteRequest) returns (QueryVoteResponse) {
|
|
option (google.api.http).get = "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}";
|
|
}
|
|
|
|
// Votes queries votes of a given proposal.
|
|
rpc Votes(QueryVotesRequest) returns (QueryVotesResponse) {
|
|
option (google.api.http).get = "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes";
|
|
}
|
|
|
|
// Params queries all parameters of the gov module.
|
|
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
|
|
option (google.api.http).get = "/cosmos/gov/v1beta1/params/{params_type}";
|
|
}
|
|
|
|
// Deposit queries single deposit information based proposalID, depositAddr.
|
|
rpc Deposit(QueryDepositRequest) returns (QueryDepositResponse) {
|
|
option (google.api.http).get = "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}";
|
|
}
|
|
|
|
// Deposits queries all deposits of a single proposal.
|
|
rpc Deposits(QueryDepositsRequest) returns (QueryDepositsResponse) {
|
|
option (google.api.http).get = "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits";
|
|
}
|
|
|
|
// TallyResult queries the tally of a proposal vote.
|
|
rpc TallyResult(QueryTallyResultRequest) returns (QueryTallyResultResponse) {
|
|
option (google.api.http).get = "/cosmos/gov/v1beta1/proposals/{proposal_id}/tally";
|
|
}
|
|
}
|
|
|
|
// 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 {
|
|
option (gogoproto.equal) = false;
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
// proposal_status defines the status of the proposals.
|
|
ProposalStatus proposal_status = 1;
|
|
|
|
// voter defines the voter address for the proposals.
|
|
string voter = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
|
|
|
// depositor defines the deposit addresses from the proposals.
|
|
string depositor = 3 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
|
|
|
// 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 {
|
|
option (gogoproto.equal) = false;
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
// proposal_id defines the unique id of the proposal.
|
|
uint64 proposal_id = 1;
|
|
|
|
// voter defines the voter address for the proposals.
|
|
string voter = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
|
}
|
|
|
|
// 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 {
|
|
option (gogoproto.goproto_getters) = false;
|
|
option (gogoproto.equal) = false;
|
|
|
|
// proposal_id defines the unique id of the proposal.
|
|
uint64 proposal_id = 1;
|
|
|
|
// depositor defines the deposit addresses from the proposals.
|
|
string depositor = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
|
}
|
|
|
|
// 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];
|
|
}
|