import { Rpc } from "../../../helpers"; import * as _m0 from "protobufjs/minimal"; import { QueryClient, createProtobufRpcClient } from "@cosmjs/stargate"; import { QueryGroupInfoRequest, QueryGroupInfoResponse, QueryGroupPolicyInfoRequest, QueryGroupPolicyInfoResponse, QueryGroupMembersRequest, QueryGroupMembersResponse, QueryGroupsByAdminRequest, QueryGroupsByAdminResponse, QueryGroupPoliciesByGroupRequest, QueryGroupPoliciesByGroupResponse, QueryGroupPoliciesByAdminRequest, QueryGroupPoliciesByAdminResponse, QueryProposalRequest, QueryProposalResponse, QueryProposalsByGroupPolicyRequest, QueryProposalsByGroupPolicyResponse, QueryVoteByProposalVoterRequest, QueryVoteByProposalVoterResponse, QueryVotesByProposalRequest, QueryVotesByProposalResponse, QueryVotesByVoterRequest, QueryVotesByVoterResponse, QueryGroupsByMemberRequest, QueryGroupsByMemberResponse, QueryTallyResultRequest, QueryTallyResultResponse, QueryGroupsRequest, QueryGroupsResponse } from "./query"; /** Query is the cosmos.group.v1 Query service. */ export interface Query { /** GroupInfo queries group info based on group id. */ groupInfo(request: QueryGroupInfoRequest): Promise; /** GroupPolicyInfo queries group policy info based on account address of group policy. */ groupPolicyInfo(request: QueryGroupPolicyInfoRequest): Promise; /** GroupMembers queries members of a group by group id. */ groupMembers(request: QueryGroupMembersRequest): Promise; /** GroupsByAdmin queries groups by admin address. */ groupsByAdmin(request: QueryGroupsByAdminRequest): Promise; /** GroupPoliciesByGroup queries group policies by group id. */ groupPoliciesByGroup(request: QueryGroupPoliciesByGroupRequest): Promise; /** GroupPoliciesByAdmin queries group policies by admin address. */ groupPoliciesByAdmin(request: QueryGroupPoliciesByAdminRequest): Promise; /** Proposal queries a proposal based on proposal id. */ proposal(request: QueryProposalRequest): Promise; /** ProposalsByGroupPolicy queries proposals based on account address of group policy. */ proposalsByGroupPolicy(request: QueryProposalsByGroupPolicyRequest): Promise; /** VoteByProposalVoter queries a vote by proposal id and voter. */ voteByProposalVoter(request: QueryVoteByProposalVoterRequest): Promise; /** VotesByProposal queries a vote by proposal id. */ votesByProposal(request: QueryVotesByProposalRequest): Promise; /** VotesByVoter queries a vote by voter. */ votesByVoter(request: QueryVotesByVoterRequest): Promise; /** GroupsByMember queries groups by member address. */ groupsByMember(request: QueryGroupsByMemberRequest): Promise; /** * TallyResult returns the tally result of a proposal. If the proposal is * still in voting period, then this query computes the current tally state, * which might not be final. On the other hand, if the proposal is final, * then it simply returns the `final_tally_result` state stored in the * proposal itself. */ tallyResult(request: QueryTallyResultRequest): Promise; /** * Groups queries all groups in state. * * Since: cosmos-sdk 0.47.1 */ groups(request?: QueryGroupsRequest): Promise; } export class QueryClientImpl implements Query { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.groupInfo = this.groupInfo.bind(this); this.groupPolicyInfo = this.groupPolicyInfo.bind(this); this.groupMembers = this.groupMembers.bind(this); this.groupsByAdmin = this.groupsByAdmin.bind(this); this.groupPoliciesByGroup = this.groupPoliciesByGroup.bind(this); this.groupPoliciesByAdmin = this.groupPoliciesByAdmin.bind(this); this.proposal = this.proposal.bind(this); this.proposalsByGroupPolicy = this.proposalsByGroupPolicy.bind(this); this.voteByProposalVoter = this.voteByProposalVoter.bind(this); this.votesByProposal = this.votesByProposal.bind(this); this.votesByVoter = this.votesByVoter.bind(this); this.groupsByMember = this.groupsByMember.bind(this); this.tallyResult = this.tallyResult.bind(this); this.groups = this.groups.bind(this); } groupInfo(request: QueryGroupInfoRequest): Promise { const data = QueryGroupInfoRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "GroupInfo", data); return promise.then(data => QueryGroupInfoResponse.decode(new _m0.Reader(data))); } groupPolicyInfo(request: QueryGroupPolicyInfoRequest): Promise { const data = QueryGroupPolicyInfoRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "GroupPolicyInfo", data); return promise.then(data => QueryGroupPolicyInfoResponse.decode(new _m0.Reader(data))); } groupMembers(request: QueryGroupMembersRequest): Promise { const data = QueryGroupMembersRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "GroupMembers", data); return promise.then(data => QueryGroupMembersResponse.decode(new _m0.Reader(data))); } groupsByAdmin(request: QueryGroupsByAdminRequest): Promise { const data = QueryGroupsByAdminRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "GroupsByAdmin", data); return promise.then(data => QueryGroupsByAdminResponse.decode(new _m0.Reader(data))); } groupPoliciesByGroup(request: QueryGroupPoliciesByGroupRequest): Promise { const data = QueryGroupPoliciesByGroupRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "GroupPoliciesByGroup", data); return promise.then(data => QueryGroupPoliciesByGroupResponse.decode(new _m0.Reader(data))); } groupPoliciesByAdmin(request: QueryGroupPoliciesByAdminRequest): Promise { const data = QueryGroupPoliciesByAdminRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "GroupPoliciesByAdmin", data); return promise.then(data => QueryGroupPoliciesByAdminResponse.decode(new _m0.Reader(data))); } proposal(request: QueryProposalRequest): Promise { const data = QueryProposalRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "Proposal", data); return promise.then(data => QueryProposalResponse.decode(new _m0.Reader(data))); } proposalsByGroupPolicy(request: QueryProposalsByGroupPolicyRequest): Promise { const data = QueryProposalsByGroupPolicyRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "ProposalsByGroupPolicy", data); return promise.then(data => QueryProposalsByGroupPolicyResponse.decode(new _m0.Reader(data))); } voteByProposalVoter(request: QueryVoteByProposalVoterRequest): Promise { const data = QueryVoteByProposalVoterRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "VoteByProposalVoter", data); return promise.then(data => QueryVoteByProposalVoterResponse.decode(new _m0.Reader(data))); } votesByProposal(request: QueryVotesByProposalRequest): Promise { const data = QueryVotesByProposalRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "VotesByProposal", data); return promise.then(data => QueryVotesByProposalResponse.decode(new _m0.Reader(data))); } votesByVoter(request: QueryVotesByVoterRequest): Promise { const data = QueryVotesByVoterRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "VotesByVoter", data); return promise.then(data => QueryVotesByVoterResponse.decode(new _m0.Reader(data))); } groupsByMember(request: QueryGroupsByMemberRequest): Promise { const data = QueryGroupsByMemberRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "GroupsByMember", data); return promise.then(data => QueryGroupsByMemberResponse.decode(new _m0.Reader(data))); } tallyResult(request: QueryTallyResultRequest): Promise { const data = QueryTallyResultRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "TallyResult", data); return promise.then(data => QueryTallyResultResponse.decode(new _m0.Reader(data))); } groups(request: QueryGroupsRequest = { pagination: undefined }): Promise { const data = QueryGroupsRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.group.v1.Query", "Groups", data); return promise.then(data => QueryGroupsResponse.decode(new _m0.Reader(data))); } } export const createRpcQueryExtension = (base: QueryClient) => { const rpc = createProtobufRpcClient(base); const queryService = new QueryClientImpl(rpc); return { groupInfo(request: QueryGroupInfoRequest): Promise { return queryService.groupInfo(request); }, groupPolicyInfo(request: QueryGroupPolicyInfoRequest): Promise { return queryService.groupPolicyInfo(request); }, groupMembers(request: QueryGroupMembersRequest): Promise { return queryService.groupMembers(request); }, groupsByAdmin(request: QueryGroupsByAdminRequest): Promise { return queryService.groupsByAdmin(request); }, groupPoliciesByGroup(request: QueryGroupPoliciesByGroupRequest): Promise { return queryService.groupPoliciesByGroup(request); }, groupPoliciesByAdmin(request: QueryGroupPoliciesByAdminRequest): Promise { return queryService.groupPoliciesByAdmin(request); }, proposal(request: QueryProposalRequest): Promise { return queryService.proposal(request); }, proposalsByGroupPolicy(request: QueryProposalsByGroupPolicyRequest): Promise { return queryService.proposalsByGroupPolicy(request); }, voteByProposalVoter(request: QueryVoteByProposalVoterRequest): Promise { return queryService.voteByProposalVoter(request); }, votesByProposal(request: QueryVotesByProposalRequest): Promise { return queryService.votesByProposal(request); }, votesByVoter(request: QueryVotesByVoterRequest): Promise { return queryService.votesByVoter(request); }, groupsByMember(request: QueryGroupsByMemberRequest): Promise { return queryService.groupsByMember(request); }, tallyResult(request: QueryTallyResultRequest): Promise { return queryService.tallyResult(request); }, groups(request?: QueryGroupsRequest): Promise { return queryService.groups(request); } }; };