import { PageRequest, PageResponse } from "../../query/v1beta1/pagination"; import { Any } from "../../../../google/protobuf/any"; import { BlockID } from "../../../../tendermint/types/types"; import { Block } from "../../../../tendermint/types/block"; import { NodeInfo } from "../../../../tendermint/p2p/types"; import { Rpc } from "@osmonauts/helpers"; import * as _m0 from "protobufjs/minimal"; import { GetNodeInfoRequest, GetNodeInfoResponse, GetSyncingRequest, GetSyncingResponse, GetLatestBlockRequest, GetLatestBlockResponse, GetBlockByHeightRequest, GetBlockByHeightResponse, GetLatestValidatorSetRequest, GetLatestValidatorSetResponse, GetValidatorSetByHeightRequest, GetValidatorSetByHeightResponse } from "./query"; /** Service defines the RPC service */ export interface Service { getNodeInfo(request: GetNodeInfoRequest): Promise; /*GetNodeInfo queries the current node info.*/ getSyncing(request: GetSyncingRequest): Promise; /*GetSyncing queries node syncing.*/ getLatestBlock(request: GetLatestBlockRequest): Promise; /*GetLatestBlock returns the latest block.*/ getBlockByHeight(request: GetBlockByHeightRequest): Promise; /*GetBlockByHeight queries block for given height.*/ getLatestValidatorSet(request: GetLatestValidatorSetRequest): Promise; /*GetLatestValidatorSet queries latest validator-set.*/ getValidatorSetByHeight(request: GetValidatorSetByHeightRequest): Promise; /*GetValidatorSetByHeight queries validator-set at a given height.*/ } export class ServiceClientImpl implements Service { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.getNodeInfo = this.getNodeInfo.bind(this); this.getSyncing = this.getSyncing.bind(this); this.getLatestBlock = this.getLatestBlock.bind(this); this.getBlockByHeight = this.getBlockByHeight.bind(this); this.getLatestValidatorSet = this.getLatestValidatorSet.bind(this); this.getValidatorSetByHeight = this.getValidatorSetByHeight.bind(this); } getNodeInfo(request: GetNodeInfoRequest): Promise { const data = GetNodeInfoRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.base.tendermint.v1beta1.Service", "GetNodeInfo", data); return promise.then(data => GetNodeInfoResponse.decode(new _m0.Reader(data))); } getSyncing(request: GetSyncingRequest): Promise { const data = GetSyncingRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.base.tendermint.v1beta1.Service", "GetSyncing", data); return promise.then(data => GetSyncingResponse.decode(new _m0.Reader(data))); } getLatestBlock(request: GetLatestBlockRequest): Promise { const data = GetLatestBlockRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.base.tendermint.v1beta1.Service", "GetLatestBlock", data); return promise.then(data => GetLatestBlockResponse.decode(new _m0.Reader(data))); } getBlockByHeight(request: GetBlockByHeightRequest): Promise { const data = GetBlockByHeightRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.base.tendermint.v1beta1.Service", "GetBlockByHeight", data); return promise.then(data => GetBlockByHeightResponse.decode(new _m0.Reader(data))); } getLatestValidatorSet(request: GetLatestValidatorSetRequest): Promise { const data = GetLatestValidatorSetRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.base.tendermint.v1beta1.Service", "GetLatestValidatorSet", data); return promise.then(data => GetLatestValidatorSetResponse.decode(new _m0.Reader(data))); } getValidatorSetByHeight(request: GetValidatorSetByHeightRequest): Promise { const data = GetValidatorSetByHeightRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.base.tendermint.v1beta1.Service", "GetValidatorSetByHeight", data); return promise.then(data => GetValidatorSetByHeightResponse.decode(new _m0.Reader(data))); } }