@bandprotocol/bandchain.js
Version:
TypeScript library for Cosmos SDK and BandChain
133 lines (132 loc) • 7.23 kB
JavaScript
import { BinaryReader } from "../../../binary";
import { 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 } from "./query";
export class QueryClientImpl {
rpc;
constructor(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) {
const data = QueryGroupInfoRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "GroupInfo", data);
return promise.then(data => QueryGroupInfoResponse.decode(new BinaryReader(data)));
}
groupPolicyInfo(request) {
const data = QueryGroupPolicyInfoRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "GroupPolicyInfo", data);
return promise.then(data => QueryGroupPolicyInfoResponse.decode(new BinaryReader(data)));
}
groupMembers(request) {
const data = QueryGroupMembersRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "GroupMembers", data);
return promise.then(data => QueryGroupMembersResponse.decode(new BinaryReader(data)));
}
groupsByAdmin(request) {
const data = QueryGroupsByAdminRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "GroupsByAdmin", data);
return promise.then(data => QueryGroupsByAdminResponse.decode(new BinaryReader(data)));
}
groupPoliciesByGroup(request) {
const data = QueryGroupPoliciesByGroupRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "GroupPoliciesByGroup", data);
return promise.then(data => QueryGroupPoliciesByGroupResponse.decode(new BinaryReader(data)));
}
groupPoliciesByAdmin(request) {
const data = QueryGroupPoliciesByAdminRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "GroupPoliciesByAdmin", data);
return promise.then(data => QueryGroupPoliciesByAdminResponse.decode(new BinaryReader(data)));
}
proposal(request) {
const data = QueryProposalRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "Proposal", data);
return promise.then(data => QueryProposalResponse.decode(new BinaryReader(data)));
}
proposalsByGroupPolicy(request) {
const data = QueryProposalsByGroupPolicyRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "ProposalsByGroupPolicy", data);
return promise.then(data => QueryProposalsByGroupPolicyResponse.decode(new BinaryReader(data)));
}
voteByProposalVoter(request) {
const data = QueryVoteByProposalVoterRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "VoteByProposalVoter", data);
return promise.then(data => QueryVoteByProposalVoterResponse.decode(new BinaryReader(data)));
}
votesByProposal(request) {
const data = QueryVotesByProposalRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "VotesByProposal", data);
return promise.then(data => QueryVotesByProposalResponse.decode(new BinaryReader(data)));
}
votesByVoter(request) {
const data = QueryVotesByVoterRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "VotesByVoter", data);
return promise.then(data => QueryVotesByVoterResponse.decode(new BinaryReader(data)));
}
groupsByMember(request) {
const data = QueryGroupsByMemberRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "GroupsByMember", data);
return promise.then(data => QueryGroupsByMemberResponse.decode(new BinaryReader(data)));
}
tallyResult(request) {
const data = QueryTallyResultRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.group.v1.Query", "TallyResult", data);
return promise.then(data => QueryTallyResultResponse.decode(new BinaryReader(data)));
}
}
export const createRpcQueryExtension = (base) => {
const rpc = createProtobufRpcClient(base);
const queryService = new QueryClientImpl(rpc);
return {
groupInfo(request) {
return queryService.groupInfo(request);
},
groupPolicyInfo(request) {
return queryService.groupPolicyInfo(request);
},
groupMembers(request) {
return queryService.groupMembers(request);
},
groupsByAdmin(request) {
return queryService.groupsByAdmin(request);
},
groupPoliciesByGroup(request) {
return queryService.groupPoliciesByGroup(request);
},
groupPoliciesByAdmin(request) {
return queryService.groupPoliciesByAdmin(request);
},
proposal(request) {
return queryService.proposal(request);
},
proposalsByGroupPolicy(request) {
return queryService.proposalsByGroupPolicy(request);
},
voteByProposalVoter(request) {
return queryService.voteByProposalVoter(request);
},
votesByProposal(request) {
return queryService.votesByProposal(request);
},
votesByVoter(request) {
return queryService.votesByVoter(request);
},
groupsByMember(request) {
return queryService.groupsByMember(request);
},
tallyResult(request) {
return queryService.tallyResult(request);
}
};
};