@injectivelabs/exchange-api
Version:
Injective Exchange API client with generated gRPC bindings.
142 lines (129 loc) • 3.96 kB
JavaScript
// package: injective_exchange_rpc
// file: injective_exchange_rpc.proto
var injective_exchange_rpc_pb = require("./injective_exchange_rpc_pb");
var grpc = require("@improbable-eng/grpc-web").grpc;
var InjectiveExchangeRPC = (function () {
function InjectiveExchangeRPC() {}
InjectiveExchangeRPC.serviceName = "injective_exchange_rpc.InjectiveExchangeRPC";
return InjectiveExchangeRPC;
}());
InjectiveExchangeRPC.GetTx = {
methodName: "GetTx",
service: InjectiveExchangeRPC,
requestStream: false,
responseStream: false,
requestType: injective_exchange_rpc_pb.GetTxRequest,
responseType: injective_exchange_rpc_pb.GetTxResponse
};
InjectiveExchangeRPC.PrepareTx = {
methodName: "PrepareTx",
service: InjectiveExchangeRPC,
requestStream: false,
responseStream: false,
requestType: injective_exchange_rpc_pb.PrepareTxRequest,
responseType: injective_exchange_rpc_pb.PrepareTxResponse
};
InjectiveExchangeRPC.BroadcastTx = {
methodName: "BroadcastTx",
service: InjectiveExchangeRPC,
requestStream: false,
responseStream: false,
requestType: injective_exchange_rpc_pb.BroadcastTxRequest,
responseType: injective_exchange_rpc_pb.BroadcastTxResponse
};
exports.InjectiveExchangeRPC = InjectiveExchangeRPC;
function InjectiveExchangeRPCClient(serviceHost, options) {
this.serviceHost = serviceHost;
this.options = options || {};
}
InjectiveExchangeRPCClient.prototype.getTx = function getTx(requestMessage, metadata, callback) {
if (arguments.length === 2) {
callback = arguments[1];
}
var client = grpc.unary(InjectiveExchangeRPC.GetTx, {
request: requestMessage,
host: this.serviceHost,
metadata: metadata,
transport: this.options.transport,
debug: this.options.debug,
onEnd: function (response) {
if (callback) {
if (response.status !== grpc.Code.OK) {
var err = new Error(response.statusMessage);
err.code = response.status;
err.metadata = response.trailers;
callback(err, null);
} else {
callback(null, response.message);
}
}
}
});
return {
cancel: function () {
callback = null;
client.close();
}
};
};
InjectiveExchangeRPCClient.prototype.prepareTx = function prepareTx(requestMessage, metadata, callback) {
if (arguments.length === 2) {
callback = arguments[1];
}
var client = grpc.unary(InjectiveExchangeRPC.PrepareTx, {
request: requestMessage,
host: this.serviceHost,
metadata: metadata,
transport: this.options.transport,
debug: this.options.debug,
onEnd: function (response) {
if (callback) {
if (response.status !== grpc.Code.OK) {
var err = new Error(response.statusMessage);
err.code = response.status;
err.metadata = response.trailers;
callback(err, null);
} else {
callback(null, response.message);
}
}
}
});
return {
cancel: function () {
callback = null;
client.close();
}
};
};
InjectiveExchangeRPCClient.prototype.broadcastTx = function broadcastTx(requestMessage, metadata, callback) {
if (arguments.length === 2) {
callback = arguments[1];
}
var client = grpc.unary(InjectiveExchangeRPC.BroadcastTx, {
request: requestMessage,
host: this.serviceHost,
metadata: metadata,
transport: this.options.transport,
debug: this.options.debug,
onEnd: function (response) {
if (callback) {
if (response.status !== grpc.Code.OK) {
var err = new Error(response.statusMessage);
err.code = response.status;
err.metadata = response.trailers;
callback(err, null);
} else {
callback(null, response.message);
}
}
}
});
return {
cancel: function () {
callback = null;
client.close();
}
};
};
exports.InjectiveExchangeRPCClient = InjectiveExchangeRPCClient;