import { Duration } from "../../../google/protobuf/duration"; import { DistrInfo, Params } from "./incentives"; import { Gauge } from "../../incentives/gauge"; import { Rpc } from "@osmonauts/helpers"; import * as _m0 from "protobufjs/minimal"; import { QueryGaugeIdsRequest, QueryGaugeIdsResponse, QueryDistrInfoRequest, QueryDistrInfoResponse, QueryParamsRequest, QueryParamsResponse, QueryLockableDurationsRequest, QueryLockableDurationsResponse, QueryIncentivizedPoolsRequest, QueryIncentivizedPoolsResponse, QueryExternalIncentiveGaugesRequest, QueryExternalIncentiveGaugesResponse } from "./query"; /** Query defines the RPC service */ export interface Query { gaugeIds(request: QueryGaugeIdsRequest): Promise; /*GaugeIds takes the pool id and returns the matching gauge ids and durations*/ distrInfo(request: QueryDistrInfoRequest): Promise; /*null*/ params(request: QueryParamsRequest): Promise; /*null*/ lockableDurations(request: QueryLockableDurationsRequest): Promise; /*null*/ incentivizedPools(request: QueryIncentivizedPoolsRequest): Promise; /*null*/ externalIncentiveGauges(request: QueryExternalIncentiveGaugesRequest): Promise; /*null*/ } export class QueryClientImpl implements Query { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.gaugeIds = this.gaugeIds.bind(this); this.distrInfo = this.distrInfo.bind(this); this.params = this.params.bind(this); this.lockableDurations = this.lockableDurations.bind(this); this.incentivizedPools = this.incentivizedPools.bind(this); this.externalIncentiveGauges = this.externalIncentiveGauges.bind(this); } gaugeIds(request: QueryGaugeIdsRequest): Promise { const data = QueryGaugeIdsRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.poolincentives.v1beta1.Query", "GaugeIds", data); return promise.then(data => QueryGaugeIdsResponse.decode(new _m0.Reader(data))); } distrInfo(request: QueryDistrInfoRequest): Promise { const data = QueryDistrInfoRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.poolincentives.v1beta1.Query", "DistrInfo", data); return promise.then(data => QueryDistrInfoResponse.decode(new _m0.Reader(data))); } params(request: QueryParamsRequest): Promise { const data = QueryParamsRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.poolincentives.v1beta1.Query", "Params", data); return promise.then(data => QueryParamsResponse.decode(new _m0.Reader(data))); } lockableDurations(request: QueryLockableDurationsRequest): Promise { const data = QueryLockableDurationsRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.poolincentives.v1beta1.Query", "LockableDurations", data); return promise.then(data => QueryLockableDurationsResponse.decode(new _m0.Reader(data))); } incentivizedPools(request: QueryIncentivizedPoolsRequest): Promise { const data = QueryIncentivizedPoolsRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.poolincentives.v1beta1.Query", "IncentivizedPools", data); return promise.then(data => QueryIncentivizedPoolsResponse.decode(new _m0.Reader(data))); } externalIncentiveGauges(request: QueryExternalIncentiveGaugesRequest): Promise { const data = QueryExternalIncentiveGaugesRequest.encode(request).finish(); const promise = this.rpc.request("osmosis.poolincentives.v1beta1.Query", "ExternalIncentiveGauges", data); return promise.then(data => QueryExternalIncentiveGaugesResponse.decode(new _m0.Reader(data))); } }