import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; import { GroupInfo, GroupPolicyInfo, GroupMember, Proposal, Vote, TallyResult } from "./types"; import { Rpc } from "@osmonauts/helpers"; import * as _m0 from "protobufjs/minimal"; 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 } from "./query"; /** Query defines the RPC service */ export interface Query { groupInfo(request: QueryGroupInfoRequest): Promise; /*GroupInfo queries group info based on group id.*/ groupPolicyInfo(request: QueryGroupPolicyInfoRequest): Promise; /*GroupPolicyInfo queries group policy info based on account address of group policy.*/ groupMembers(request: QueryGroupMembersRequest): Promise; /*GroupMembers queries members of a group*/ groupsByAdmin(request: QueryGroupsByAdminRequest): Promise; /*GroupsByAdmin queries groups by admin address.*/ groupPoliciesByGroup(request: QueryGroupPoliciesByGroupRequest): Promise; /*GroupPoliciesByGroup queries group policies by group id.*/ groupPoliciesByAdmin(request: QueryGroupPoliciesByAdminRequest): Promise; /*GroupsByAdmin queries group policies by admin address.*/ proposal(request: QueryProposalRequest): Promise; /*Proposal queries a proposal based on proposal id.*/ proposalsByGroupPolicy(request: QueryProposalsByGroupPolicyRequest): Promise; /*ProposalsByGroupPolicy queries proposals based on account address of group policy.*/ voteByProposalVoter(request: QueryVoteByProposalVoterRequest): Promise; /*VoteByProposalVoter queries a vote by proposal id and voter.*/ votesByProposal(request: QueryVotesByProposalRequest): Promise; /*VotesByProposal queries a vote by proposal.*/ votesByVoter(request: QueryVotesByVoterRequest): Promise; /*VotesByVoter queries a vote by voter.*/ groupsByMember(request: QueryGroupsByMemberRequest): Promise; /*GroupsByMember queries groups by member address.*/ tallyResult(request: QueryTallyResultRequest): Promise; /*TallyResult queries the tally of a proposal votes.*/ } 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); } 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))); } }