UNPKG

@hydro-protocol/hydro-client-js

Version:
50 lines (49 loc) 2.92 kB
"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;