@bandprotocol/bandchain.js
Version:
TypeScript library for Cosmos SDK and BandChain
90 lines (89 loc) • 4.68 kB
JavaScript
import { BinaryReader } from "../../../../binary";
import { createProtobufRpcClient } from "@cosmjs/stargate";
import { QueryClientStateRequest, QueryClientStateResponse, QueryClientStatesRequest, QueryClientStatesResponse, QueryConsensusStateRequest, QueryConsensusStateResponse, QueryConsensusStatesRequest, QueryConsensusStatesResponse, QueryClientStatusRequest, QueryClientStatusResponse, QueryClientParamsRequest, QueryClientParamsResponse, QueryUpgradedClientStateRequest, QueryUpgradedClientStateResponse, QueryUpgradedConsensusStateRequest, QueryUpgradedConsensusStateResponse } from "./query";
export class QueryClientImpl {
rpc;
constructor(rpc) {
this.rpc = rpc;
this.clientState = this.clientState.bind(this);
this.clientStates = this.clientStates.bind(this);
this.consensusState = this.consensusState.bind(this);
this.consensusStates = this.consensusStates.bind(this);
this.clientStatus = this.clientStatus.bind(this);
this.clientParams = this.clientParams.bind(this);
this.upgradedClientState = this.upgradedClientState.bind(this);
this.upgradedConsensusState = this.upgradedConsensusState.bind(this);
}
clientState(request) {
const data = QueryClientStateRequest.encode(request).finish();
const promise = this.rpc.request("ibc.core.client.v1.Query", "ClientState", data);
return promise.then(data => QueryClientStateResponse.decode(new BinaryReader(data)));
}
clientStates(request = {
pagination: undefined
}) {
const data = QueryClientStatesRequest.encode(request).finish();
const promise = this.rpc.request("ibc.core.client.v1.Query", "ClientStates", data);
return promise.then(data => QueryClientStatesResponse.decode(new BinaryReader(data)));
}
consensusState(request) {
const data = QueryConsensusStateRequest.encode(request).finish();
const promise = this.rpc.request("ibc.core.client.v1.Query", "ConsensusState", data);
return promise.then(data => QueryConsensusStateResponse.decode(new BinaryReader(data)));
}
consensusStates(request) {
const data = QueryConsensusStatesRequest.encode(request).finish();
const promise = this.rpc.request("ibc.core.client.v1.Query", "ConsensusStates", data);
return promise.then(data => QueryConsensusStatesResponse.decode(new BinaryReader(data)));
}
clientStatus(request) {
const data = QueryClientStatusRequest.encode(request).finish();
const promise = this.rpc.request("ibc.core.client.v1.Query", "ClientStatus", data);
return promise.then(data => QueryClientStatusResponse.decode(new BinaryReader(data)));
}
clientParams(request = {}) {
const data = QueryClientParamsRequest.encode(request).finish();
const promise = this.rpc.request("ibc.core.client.v1.Query", "ClientParams", data);
return promise.then(data => QueryClientParamsResponse.decode(new BinaryReader(data)));
}
upgradedClientState(request = {}) {
const data = QueryUpgradedClientStateRequest.encode(request).finish();
const promise = this.rpc.request("ibc.core.client.v1.Query", "UpgradedClientState", data);
return promise.then(data => QueryUpgradedClientStateResponse.decode(new BinaryReader(data)));
}
upgradedConsensusState(request = {}) {
const data = QueryUpgradedConsensusStateRequest.encode(request).finish();
const promise = this.rpc.request("ibc.core.client.v1.Query", "UpgradedConsensusState", data);
return promise.then(data => QueryUpgradedConsensusStateResponse.decode(new BinaryReader(data)));
}
}
export const createRpcQueryExtension = (base) => {
const rpc = createProtobufRpcClient(base);
const queryService = new QueryClientImpl(rpc);
return {
clientState(request) {
return queryService.clientState(request);
},
clientStates(request) {
return queryService.clientStates(request);
},
consensusState(request) {
return queryService.consensusState(request);
},
consensusStates(request) {
return queryService.consensusStates(request);
},
clientStatus(request) {
return queryService.clientStatus(request);
},
clientParams(request) {
return queryService.clientParams(request);
},
upgradedClientState(request) {
return queryService.upgradedClientState(request);
},
upgradedConsensusState(request) {
return queryService.upgradedConsensusState(request);
}
};
};