@hydro-protocol/hydro-client-js
Version:
Javascript SDK for the Hydro API
50 lines (49 loc) • 2.92 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bignumber_js_1 = require("bignumber.js");
var OrderData_1 = require("./OrderData");
/**
* Data used to represent an order on the exchange. The values in this class
* may not be set to useful values depending on the source, for example if
* you are looking at data of an order made by someone else it will only contain
* a minimal amount of data, and orders that come through from websocket events
* will also be more stripped down. You can expect the class to contain full
* data whenever creating or querying for your own orders.
*/
var Order = /** @class */ (function () {
function Order(json) {
this.id = json.id || json.orderId;
this.version = json.version;
this.marketId = json.marketId;
this.type = json.type && json.type.toUpperCase ? json.type.toUpperCase() : 'limit';
this.status = json.status;
this.side = json.side && json.side.toUpperCase ? json.side.toUpperCase() : 'buy';
this.account = json.account;
if (json.json) {
this.data = new OrderData_1.OrderData(json.json);
}
this.amount = json.amount ? new bignumber_js_1.BigNumber(json.amount) : new bignumber_js_1.BigNumber('0');
this.price = json.price ? new bignumber_js_1.BigNumber(json.price) : new bignumber_js_1.BigNumber('0');
this.averagePrice = json.averagePrice ? new bignumber_js_1.BigNumber(json.averagePrice) : new bignumber_js_1.BigNumber('0');
this.makerFeeRate = json.makerFeeRate ? new bignumber_js_1.BigNumber(json.makerFeeRate) : new bignumber_js_1.BigNumber('0');
this.takerFeeRate = json.takerFeeRate ? new bignumber_js_1.BigNumber(json.takerFeeRate) : new bignumber_js_1.BigNumber('0');
this.makerRebateRate = json.makerRebateRate
? new bignumber_js_1.BigNumber(json.makerRebateRate)
: new bignumber_js_1.BigNumber('0');
this.gasFeeAmount = json.gasFeeAmount ? new bignumber_js_1.BigNumber(json.gasFeeAmount) : new bignumber_js_1.BigNumber('0');
var availableAmount = json.availableAmount || json.newAvailableAmount;
this.availableAmount = availableAmount ? new bignumber_js_1.BigNumber(availableAmount) : new bignumber_js_1.BigNumber('0');
this.pendingAmount = json.pendingAmount
? new bignumber_js_1.BigNumber(json.pendingAmount)
: new bignumber_js_1.BigNumber('0');
this.canceledAmount = json.canceledAmount
? new bignumber_js_1.BigNumber(json.canceledAmount)
: new bignumber_js_1.BigNumber('0');
this.confirmedAmount = json.confirmedAmount
? new bignumber_js_1.BigNumber(json.confirmedAmount)
: new bignumber_js_1.BigNumber('0');
this.createdAt = json.createdAt ? new Date(json.createdAt) : undefined;
}
return Order;
}());
exports.Order = Order;