UNPKG

@bandprotocol/bandchain.js

Version:

TypeScript library for Cosmos SDK and BandChain

142 lines (141 loc) 7.11 kB
import { BinaryReader } from "../../binary"; import { createProtobufRpcClient } from "@cosmjs/stargate"; import { QueryCountsRequest, QueryCountsResponse, QueryDataRequest, QueryDataResponse, QueryDataSourceRequest, QueryDataSourceResponse, QueryOracleScriptRequest, QueryOracleScriptResponse, QueryRequestRequest, QueryRequestResponse, QueryPendingRequestsRequest, QueryPendingRequestsResponse, QueryValidatorRequest, QueryValidatorResponse, QueryIsReporterRequest, QueryIsReporterResponse, QueryReportersRequest, QueryReportersResponse, QueryActiveValidatorsRequest, QueryActiveValidatorsResponse, QueryParamsRequest, QueryParamsResponse, QueryRequestSearchRequest, QueryRequestSearchResponse, QueryRequestPriceRequest, QueryRequestPriceResponse, QueryRequestVerificationRequest, QueryRequestVerificationResponse } from "./query"; export class QueryClientImpl { rpc; constructor(rpc) { this.rpc = rpc; this.counts = this.counts.bind(this); this.data = this.data.bind(this); this.dataSource = this.dataSource.bind(this); this.oracleScript = this.oracleScript.bind(this); this.request = this.request.bind(this); this.pendingRequests = this.pendingRequests.bind(this); this.validator = this.validator.bind(this); this.isReporter = this.isReporter.bind(this); this.reporters = this.reporters.bind(this); this.activeValidators = this.activeValidators.bind(this); this.params = this.params.bind(this); this.requestSearch = this.requestSearch.bind(this); this.requestPrice = this.requestPrice.bind(this); this.requestVerification = this.requestVerification.bind(this); } counts(request = {}) { const data = QueryCountsRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "Counts", data); return promise.then(data => QueryCountsResponse.decode(new BinaryReader(data))); } data(request) { const data = QueryDataRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "Data", data); return promise.then(data => QueryDataResponse.decode(new BinaryReader(data))); } dataSource(request) { const data = QueryDataSourceRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "DataSource", data); return promise.then(data => QueryDataSourceResponse.decode(new BinaryReader(data))); } oracleScript(request) { const data = QueryOracleScriptRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "OracleScript", data); return promise.then(data => QueryOracleScriptResponse.decode(new BinaryReader(data))); } request(request) { const data = QueryRequestRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "Request", data); return promise.then(data => QueryRequestResponse.decode(new BinaryReader(data))); } pendingRequests(request) { const data = QueryPendingRequestsRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "PendingRequests", data); return promise.then(data => QueryPendingRequestsResponse.decode(new BinaryReader(data))); } validator(request) { const data = QueryValidatorRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "Validator", data); return promise.then(data => QueryValidatorResponse.decode(new BinaryReader(data))); } isReporter(request) { const data = QueryIsReporterRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "IsReporter", data); return promise.then(data => QueryIsReporterResponse.decode(new BinaryReader(data))); } reporters(request) { const data = QueryReportersRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "Reporters", data); return promise.then(data => QueryReportersResponse.decode(new BinaryReader(data))); } activeValidators(request = {}) { const data = QueryActiveValidatorsRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "ActiveValidators", data); return promise.then(data => QueryActiveValidatorsResponse.decode(new BinaryReader(data))); } params(request = {}) { const data = QueryParamsRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "Params", data); return promise.then(data => QueryParamsResponse.decode(new BinaryReader(data))); } requestSearch(request) { const data = QueryRequestSearchRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "RequestSearch", data); return promise.then(data => QueryRequestSearchResponse.decode(new BinaryReader(data))); } requestPrice(request) { const data = QueryRequestPriceRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "RequestPrice", data); return promise.then(data => QueryRequestPriceResponse.decode(new BinaryReader(data))); } requestVerification(request) { const data = QueryRequestVerificationRequest.encode(request).finish(); const promise = this.rpc.request("oracle.v1.Query", "RequestVerification", data); return promise.then(data => QueryRequestVerificationResponse.decode(new BinaryReader(data))); } } export const createRpcQueryExtension = (base) => { const rpc = createProtobufRpcClient(base); const queryService = new QueryClientImpl(rpc); return { counts(request) { return queryService.counts(request); }, data(request) { return queryService.data(request); }, dataSource(request) { return queryService.dataSource(request); }, oracleScript(request) { return queryService.oracleScript(request); }, request(request) { return queryService.request(request); }, pendingRequests(request) { return queryService.pendingRequests(request); }, validator(request) { return queryService.validator(request); }, isReporter(request) { return queryService.isReporter(request); }, reporters(request) { return queryService.reporters(request); }, activeValidators(request) { return queryService.activeValidators(request); }, params(request) { return queryService.params(request); }, requestSearch(request) { return queryService.requestSearch(request); }, requestPrice(request) { return queryService.requestPrice(request); }, requestVerification(request) { return queryService.requestVerification(request); } }; };