UNPKG

@bandprotocol/bandchain.js

Version:

TypeScript library for Cosmos SDK and BandChain

72 lines (71 loc) 3.06 kB
import { BinaryReader } from "../../../binary"; import { createProtobufRpcClient } from "@cosmjs/stargate"; import { QueryVaultsRequest, QueryVaultsResponse, QueryVaultRequest, QueryVaultResponse, QueryLocksRequest, QueryLocksResponse, QueryLockRequest, QueryLockResponse, QueryStakeRequest, QueryStakeResponse, QueryParamsRequest, QueryParamsResponse } from "./query"; export class QueryClientImpl { rpc; constructor(rpc) { this.rpc = rpc; this.vaults = this.vaults.bind(this); this.vault = this.vault.bind(this); this.locks = this.locks.bind(this); this.lock = this.lock.bind(this); this.stake = this.stake.bind(this); this.params = this.params.bind(this); } vaults(request = { pagination: undefined }) { const data = QueryVaultsRequest.encode(request).finish(); const promise = this.rpc.request("band.restake.v1beta1.Query", "Vaults", data); return promise.then(data => QueryVaultsResponse.decode(new BinaryReader(data))); } vault(request) { const data = QueryVaultRequest.encode(request).finish(); const promise = this.rpc.request("band.restake.v1beta1.Query", "Vault", data); return promise.then(data => QueryVaultResponse.decode(new BinaryReader(data))); } locks(request) { const data = QueryLocksRequest.encode(request).finish(); const promise = this.rpc.request("band.restake.v1beta1.Query", "Locks", data); return promise.then(data => QueryLocksResponse.decode(new BinaryReader(data))); } lock(request) { const data = QueryLockRequest.encode(request).finish(); const promise = this.rpc.request("band.restake.v1beta1.Query", "Lock", data); return promise.then(data => QueryLockResponse.decode(new BinaryReader(data))); } stake(request) { const data = QueryStakeRequest.encode(request).finish(); const promise = this.rpc.request("band.restake.v1beta1.Query", "Stake", data); return promise.then(data => QueryStakeResponse.decode(new BinaryReader(data))); } params(request = {}) { const data = QueryParamsRequest.encode(request).finish(); const promise = this.rpc.request("band.restake.v1beta1.Query", "Params", data); return promise.then(data => QueryParamsResponse.decode(new BinaryReader(data))); } } export const createRpcQueryExtension = (base) => { const rpc = createProtobufRpcClient(base); const queryService = new QueryClientImpl(rpc); return { vaults(request) { return queryService.vaults(request); }, vault(request) { return queryService.vault(request); }, locks(request) { return queryService.locks(request); }, lock(request) { return queryService.lock(request); }, stake(request) { return queryService.stake(request); }, params(request) { return queryService.params(request); } }; };