import { QueryClient, setupGovExtension } from "@cosmjs/stargate";
import { ProposalStatus } from "cosmjs-types/cosmos/gov/v1beta1/gov";
import { connectComet } from "@cosmjs/tendermint-rpc";
const cometClient = await connectComet("https://rpc.my-chain.network");
const queryClient = QueryClient.withExtensions(cometClient, setupGovExtension);
Proposals
const allProposals = await queryClient.gov.proposals(
ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED,
"",
"",
);
console.info(allProposals.proposals);
const votingProposals = await queryClient.gov.proposals(
ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD,
"",
"",
);
const proposal = await queryClient.gov.proposal(1);
console.info(proposal.proposal);
Votes and Deposits
const votes = await queryClient.gov.votes(1);
console.info(votes.votes);
const vote = await queryClient.gov.vote(1, "cosmos1...");
console.info(vote.vote);
const deposits = await queryClient.gov.deposits(1);
console.info(deposits.deposits);
const deposit = await queryClient.gov.deposit(1, "cosmos1...");
Tally and Params
const tally = await queryClient.gov.tally(1);
console.info(tally.tally);
const votingParams = await queryClient.gov.params("voting");
const depositParams = await queryClient.gov.params("deposit");
const tallyParams = await queryClient.gov.params("tallying");
Available Methods
| Method | Parameters | Paginated |
|---|---|---|
proposals | proposalStatus, depositor, voter, paginationKey? | Yes |
proposal | proposalId | No |
votes | proposalId, paginationKey? | Yes |
vote | proposalId, voterAddress | No |
deposits | proposalId, paginationKey? | Yes |
deposit | proposalId, depositorAddress | No |
tally | proposalId | No |
params | parametersType | No |
Next Steps
Staking Queries
Validators and delegations.
Pagination
Navigate paginated result sets.