import { Rpc } from "../../../helpers"; import * as _m0 from "protobufjs/minimal"; import { QueryClient, createProtobufRpcClient } from "@cosmjs/stargate"; import { QueryParamsRequest, QueryParamsResponse, QueryValidatorDistributionInfoRequest, QueryValidatorDistributionInfoResponse, QueryValidatorOutstandingRewardsRequest, QueryValidatorOutstandingRewardsResponse, QueryValidatorCommissionRequest, QueryValidatorCommissionResponse, QueryValidatorSlashesRequest, QueryValidatorSlashesResponse, QueryDelegationRewardsRequest, QueryDelegationRewardsResponse, QueryDelegationTotalRewardsRequest, QueryDelegationTotalRewardsResponse, QueryDelegatorValidatorsRequest, QueryDelegatorValidatorsResponse, QueryDelegatorWithdrawAddressRequest, QueryDelegatorWithdrawAddressResponse, QueryCommunityPoolRequest, QueryCommunityPoolResponse } from "./query"; /** Query defines the gRPC querier service for distribution module. */ export interface Query { /** Params queries params of the distribution module. */ params(request?: QueryParamsRequest): Promise; /** ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator */ validatorDistributionInfo(request: QueryValidatorDistributionInfoRequest): Promise; /** ValidatorOutstandingRewards queries rewards of a validator address. */ validatorOutstandingRewards(request: QueryValidatorOutstandingRewardsRequest): Promise; /** ValidatorCommission queries accumulated commission for a validator. */ validatorCommission(request: QueryValidatorCommissionRequest): Promise; /** ValidatorSlashes queries slash events of a validator. */ validatorSlashes(request: QueryValidatorSlashesRequest): Promise; /** DelegationRewards queries the total rewards accrued by a delegation. */ delegationRewards(request: QueryDelegationRewardsRequest): Promise; /** * DelegationTotalRewards queries the total rewards accrued by each * validator. */ delegationTotalRewards(request: QueryDelegationTotalRewardsRequest): Promise; /** DelegatorValidators queries the validators of a delegator. */ delegatorValidators(request: QueryDelegatorValidatorsRequest): Promise; /** DelegatorWithdrawAddress queries withdraw address of a delegator. */ delegatorWithdrawAddress(request: QueryDelegatorWithdrawAddressRequest): Promise; /** CommunityPool queries the community pool coins. */ communityPool(request?: QueryCommunityPoolRequest): Promise; } export class QueryClientImpl implements Query { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.params = this.params.bind(this); this.validatorDistributionInfo = this.validatorDistributionInfo.bind(this); this.validatorOutstandingRewards = this.validatorOutstandingRewards.bind(this); this.validatorCommission = this.validatorCommission.bind(this); this.validatorSlashes = this.validatorSlashes.bind(this); this.delegationRewards = this.delegationRewards.bind(this); this.delegationTotalRewards = this.delegationTotalRewards.bind(this); this.delegatorValidators = this.delegatorValidators.bind(this); this.delegatorWithdrawAddress = this.delegatorWithdrawAddress.bind(this); this.communityPool = this.communityPool.bind(this); } params(request: QueryParamsRequest = {}): Promise { const data = QueryParamsRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.distribution.v1beta1.Query", "Params", data); return promise.then(data => QueryParamsResponse.decode(new _m0.Reader(data))); } validatorDistributionInfo(request: QueryValidatorDistributionInfoRequest): Promise { const data = QueryValidatorDistributionInfoRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.distribution.v1beta1.Query", "ValidatorDistributionInfo", data); return promise.then(data => QueryValidatorDistributionInfoResponse.decode(new _m0.Reader(data))); } validatorOutstandingRewards(request: QueryValidatorOutstandingRewardsRequest): Promise { const data = QueryValidatorOutstandingRewardsRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.distribution.v1beta1.Query", "ValidatorOutstandingRewards", data); return promise.then(data => QueryValidatorOutstandingRewardsResponse.decode(new _m0.Reader(data))); } validatorCommission(request: QueryValidatorCommissionRequest): Promise { const data = QueryValidatorCommissionRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.distribution.v1beta1.Query", "ValidatorCommission", data); return promise.then(data => QueryValidatorCommissionResponse.decode(new _m0.Reader(data))); } validatorSlashes(request: QueryValidatorSlashesRequest): Promise { const data = QueryValidatorSlashesRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.distribution.v1beta1.Query", "ValidatorSlashes", data); return promise.then(data => QueryValidatorSlashesResponse.decode(new _m0.Reader(data))); } delegationRewards(request: QueryDelegationRewardsRequest): Promise { const data = QueryDelegationRewardsRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.distribution.v1beta1.Query", "DelegationRewards", data); return promise.then(data => QueryDelegationRewardsResponse.decode(new _m0.Reader(data))); } delegationTotalRewards(request: QueryDelegationTotalRewardsRequest): Promise { const data = QueryDelegationTotalRewardsRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.distribution.v1beta1.Query", "DelegationTotalRewards", data); return promise.then(data => QueryDelegationTotalRewardsResponse.decode(new _m0.Reader(data))); } delegatorValidators(request: QueryDelegatorValidatorsRequest): Promise { const data = QueryDelegatorValidatorsRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.distribution.v1beta1.Query", "DelegatorValidators", data); return promise.then(data => QueryDelegatorValidatorsResponse.decode(new _m0.Reader(data))); } delegatorWithdrawAddress(request: QueryDelegatorWithdrawAddressRequest): Promise { const data = QueryDelegatorWithdrawAddressRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.distribution.v1beta1.Query", "DelegatorWithdrawAddress", data); return promise.then(data => QueryDelegatorWithdrawAddressResponse.decode(new _m0.Reader(data))); } communityPool(request: QueryCommunityPoolRequest = {}): Promise { const data = QueryCommunityPoolRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.distribution.v1beta1.Query", "CommunityPool", data); return promise.then(data => QueryCommunityPoolResponse.decode(new _m0.Reader(data))); } } export const createRpcQueryExtension = (base: QueryClient) => { const rpc = createProtobufRpcClient(base); const queryService = new QueryClientImpl(rpc); return { params(request?: QueryParamsRequest): Promise { return queryService.params(request); }, validatorDistributionInfo(request: QueryValidatorDistributionInfoRequest): Promise { return queryService.validatorDistributionInfo(request); }, validatorOutstandingRewards(request: QueryValidatorOutstandingRewardsRequest): Promise { return queryService.validatorOutstandingRewards(request); }, validatorCommission(request: QueryValidatorCommissionRequest): Promise { return queryService.validatorCommission(request); }, validatorSlashes(request: QueryValidatorSlashesRequest): Promise { return queryService.validatorSlashes(request); }, delegationRewards(request: QueryDelegationRewardsRequest): Promise { return queryService.delegationRewards(request); }, delegationTotalRewards(request: QueryDelegationTotalRewardsRequest): Promise { return queryService.delegationTotalRewards(request); }, delegatorValidators(request: QueryDelegatorValidatorsRequest): Promise { return queryService.delegatorValidators(request); }, delegatorWithdrawAddress(request: QueryDelegatorWithdrawAddressRequest): Promise { return queryService.delegatorWithdrawAddress(request); }, communityPool(request?: QueryCommunityPoolRequest): Promise { return queryService.communityPool(request); } }; };