@bandprotocol/bandchain.js
Version:
TypeScript library for Cosmos SDK and BandChain
142 lines (141 loc) • 7.11 kB
JavaScript
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);
}
};
};