@d8x/perpetuals-sdk 0.1.12 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abi/testnet/IPerpetualManager.json +5215 -0
- package/dist/cjs/abi/testnet/LimitOrderBook.json +1075 -0
- package/dist/cjs/abi/zkevmTestnet/IPerpetualManager.json +5215 -0
- package/dist/cjs/abi/zkevmTestnet/LimitOrderBook.json +1075 -0
- package/dist/cjs/abi/zkevmTestnet/LimitOrderBookFactory.json +135 -0
- package/dist/cjs/accountTrade.js +441 -0
- package/dist/cjs/accountTrade.js.map +1 -0
- package/dist/{src → cjs}/brokerTool.js +31 -84
- package/dist/cjs/brokerTool.js.map +1 -0
- package/dist/cjs/config/defaultConfig.json +47 -0
- package/dist/cjs/config/mockSwap.json +4 -0
- package/dist/cjs/config/priceFeedConfig.json +104 -0
- package/dist/cjs/config/symbolList.json +13 -0
- package/dist/cjs/d8XMath.js.map +1 -0
- package/dist/cjs/index.js +29 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/liquidatorTool.js +287 -0
- package/dist/cjs/liquidatorTool.js.map +1 -0
- package/dist/{src → cjs}/liquidityProviderTool.js +12 -65
- package/dist/cjs/liquidityProviderTool.js.map +1 -0
- package/dist/{src → cjs}/marketData.js +52 -134
- package/dist/cjs/marketData.js.map +1 -0
- package/dist/{src → cjs}/nodeSDKTypes.d.ts +5 -5
- package/dist/cjs/nodeSDKTypes.js +64 -0
- package/dist/cjs/nodeSDKTypes.js.map +1 -0
- package/dist/{src → cjs}/orderReferrerTool.d.ts +12 -5
- package/dist/{src → cjs}/orderReferrerTool.js +114 -112
- package/dist/cjs/orderReferrerTool.js.map +1 -0
- package/dist/{src → cjs}/perpetualDataHandler.d.ts +1 -1
- package/dist/{src → cjs}/perpetualDataHandler.js +47 -109
- package/dist/cjs/perpetualDataHandler.js.map +1 -0
- package/dist/{src → cjs}/perpetualEventHandler.d.ts +3 -3
- package/dist/{src → cjs}/perpetualEventHandler.js +12 -74
- package/dist/cjs/perpetualEventHandler.js.map +1 -0
- package/dist/cjs/priceFeeds.js +466 -0
- package/dist/cjs/priceFeeds.js.map +1 -0
- package/dist/{src → cjs}/traderDigests.js +7 -43
- package/dist/cjs/traderDigests.js.map +1 -0
- package/dist/{src → cjs}/traderInterface.js +13 -66
- package/dist/cjs/traderInterface.js.map +1 -0
- package/dist/{src → cjs}/triangulator.js +2 -17
- package/dist/cjs/triangulator.js.map +1 -0
- package/dist/{src → cjs}/utils.js +3 -29
- package/dist/cjs/utils.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -0
- package/dist/{src → cjs}/version.js +1 -1
- package/dist/cjs/version.js.map +1 -0
- package/dist/{src → cjs}/writeAccessHandler.js +12 -65
- package/dist/cjs/writeAccessHandler.js.map +1 -0
- package/dist/esm/abi/ERC20.json +288 -0
- package/dist/esm/abi/MockTokenSwap.json +186 -0
- package/dist/{abi/testnet → esm/abi/central-park}/IPerpetualManager.json +404 -214
- package/dist/{abi/testnet → esm/abi/central-park}/LimitOrderBook.json +197 -15
- package/dist/esm/abi/central-park/LimitOrderBookFactory.json +135 -0
- package/dist/esm/abi/testnet/IPerpetualManager.json +5215 -0
- package/dist/esm/abi/testnet/LimitOrderBook.json +1075 -0
- package/dist/esm/abi/testnet/LimitOrderBookFactory.json +135 -0
- package/dist/esm/abi/zkevmTestnet/IPerpetualManager.json +5215 -0
- package/dist/esm/abi/zkevmTestnet/LimitOrderBook.json +1075 -0
- package/dist/esm/abi/zkevmTestnet/LimitOrderBookFactory.json +135 -0
- package/dist/esm/accountTrade.d.ts +221 -0
- package/dist/{src → esm}/accountTrade.js +22 -93
- package/dist/esm/accountTrade.js.map +1 -0
- package/dist/esm/brokerTool.d.ts +318 -0
- package/dist/esm/brokerTool.js +572 -0
- package/dist/esm/brokerTool.js.map +1 -0
- package/dist/esm/config/defaultConfig.json +47 -0
- package/dist/esm/config/mockSwap.json +4 -0
- package/dist/esm/config/priceFeedConfig.json +104 -0
- package/dist/esm/config/symbolList.json +13 -0
- package/dist/esm/d8XMath.d.ts +122 -0
- package/dist/esm/d8XMath.js +247 -0
- package/dist/esm/d8XMath.js.map +1 -0
- package/{src/index.ts → dist/esm/index.d.ts} +1 -15
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/liquidatorTool.d.ts +158 -0
- package/dist/{src → esm}/liquidatorTool.js +10 -65
- package/dist/esm/liquidatorTool.js.map +1 -0
- package/dist/esm/liquidityProviderTool.d.ts +126 -0
- package/dist/esm/liquidityProviderTool.js +218 -0
- package/dist/esm/liquidityProviderTool.js.map +1 -0
- package/dist/esm/marketData.d.ts +309 -0
- package/dist/esm/marketData.js +1007 -0
- package/dist/esm/marketData.js.map +1 -0
- package/dist/esm/nodeSDKTypes.d.ts +266 -0
- package/dist/esm/nodeSDKTypes.js +60 -0
- package/dist/esm/nodeSDKTypes.js.map +1 -0
- package/dist/esm/orderReferrerTool.d.ts +196 -0
- package/dist/esm/orderReferrerTool.js +491 -0
- package/dist/esm/orderReferrerTool.js.map +1 -0
- package/dist/esm/perpetualDataHandler.d.ts +220 -0
- package/dist/esm/perpetualDataHandler.js +1060 -0
- package/dist/esm/perpetualDataHandler.js.map +1 -0
- package/dist/esm/perpetualEventHandler.d.ts +179 -0
- package/dist/esm/perpetualEventHandler.js +435 -0
- package/dist/esm/perpetualEventHandler.js.map +1 -0
- package/dist/esm/priceFeeds.d.ts +115 -0
- package/dist/{src → esm}/priceFeeds.js +16 -83
- package/dist/esm/priceFeeds.js.map +1 -0
- package/dist/esm/traderDigests.d.ts +21 -0
- package/dist/esm/traderDigests.js +80 -0
- package/dist/esm/traderDigests.js.map +1 -0
- package/dist/esm/traderInterface.d.ts +79 -0
- package/dist/esm/traderInterface.js +196 -0
- package/dist/esm/traderInterface.js.map +1 -0
- package/dist/esm/triangulator.d.ts +27 -0
- package/dist/esm/triangulator.js +110 -0
- package/dist/esm/triangulator.js.map +1 -0
- package/dist/esm/utils.d.ts +59 -0
- package/dist/esm/utils.js +138 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/esm/writeAccessHandler.d.ts +50 -0
- package/dist/esm/writeAccessHandler.js +157 -0
- package/dist/esm/writeAccessHandler.js.map +1 -0
- package/package.json +16 -26
- package/dist/bundle.js +0 -36793
- package/dist/config/defaultConfig.json +0 -47
- package/dist/config/mockSwap.json +0 -4
- package/dist/config/priceFeedConfig.json +0 -104
- package/dist/config/symbolList.json +0 -13
- package/dist/src/index.js +0 -45
- package/dist/src/nodeSDKTypes.js +0 -115
- package/dist/src/version.d.ts +0 -1
- package/module.d.ts +0 -1
- package/src/accountTrade.ts +0 -392
- package/src/brokerTool.ts +0 -507
- package/src/d8XMath.ts +0 -319
- package/src/liquidatorTool.ts +0 -258
- package/src/liquidityProviderTool.ts +0 -186
- package/src/marketData.ts +0 -946
- package/src/nodeSDKTypes.ts +0 -293
- package/src/orderReferrerTool.ts +0 -389
- package/src/perpetualDataHandler.ts +0 -1061
- package/src/perpetualEventHandler.ts +0 -455
- package/src/priceFeeds.ts +0 -381
- package/src/traderDigests.ts +0 -91
- package/src/traderInterface.ts +0 -159
- package/src/triangulator.ts +0 -105
- package/src/utils.ts +0 -134
- package/src/version.ts +0 -1
- package/src/writeAccessHandler.ts +0 -127
- /package/dist/{abi → cjs/abi}/ERC20.json +0 -0
- /package/dist/{abi → cjs/abi}/MockTokenSwap.json +0 -0
- /package/dist/{abi → cjs/abi}/central-park/IPerpetualManager.json +0 -0
- /package/dist/{abi → cjs/abi}/central-park/LimitOrderBook.json +0 -0
- /package/dist/{abi → cjs/abi}/central-park/LimitOrderBookFactory.json +0 -0
- /package/dist/{abi → cjs/abi}/testnet/LimitOrderBookFactory.json +0 -0
- /package/dist/{src → cjs}/accountTrade.d.ts +0 -0
- /package/dist/{src → cjs}/brokerTool.d.ts +0 -0
- /package/dist/{src → cjs}/d8XMath.d.ts +0 -0
- /package/dist/{src → cjs}/d8XMath.js +0 -0
- /package/dist/{src → cjs}/index.d.ts +0 -0
- /package/dist/{src → cjs}/liquidatorTool.d.ts +0 -0
- /package/dist/{src → cjs}/liquidityProviderTool.d.ts +0 -0
- /package/dist/{src → cjs}/marketData.d.ts +0 -0
- /package/dist/{src → cjs}/priceFeeds.d.ts +0 -0
- /package/dist/{src → cjs}/traderDigests.d.ts +0 -0
- /package/dist/{src → cjs}/traderInterface.d.ts +0 -0
- /package/dist/{src → cjs}/triangulator.d.ts +0 -0
- /package/dist/{src → cjs}/utils.d.ts +0 -0
- /package/dist/{src → cjs}/writeAccessHandler.d.ts +0 -0
|
@@ -1,91 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
54
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
55
|
-
if (!m) return o;
|
|
56
|
-
var i = m.call(o), r, ar = [], e;
|
|
57
|
-
try {
|
|
58
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
59
|
-
}
|
|
60
|
-
catch (error) { e = { error: error }; }
|
|
61
|
-
finally {
|
|
62
|
-
try {
|
|
63
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
64
|
-
}
|
|
65
|
-
finally { if (e) throw e.error; }
|
|
66
|
-
}
|
|
67
|
-
return ar;
|
|
68
|
-
};
|
|
69
|
-
var __values = (this && this.__values) || function(o) {
|
|
70
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
71
|
-
if (m) return m.call(o);
|
|
72
|
-
if (o && typeof o.length === "number") return {
|
|
73
|
-
next: function () {
|
|
74
|
-
if (o && i >= o.length) o = void 0;
|
|
75
|
-
return { value: o && o[i++], done: !o };
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
79
|
-
};
|
|
80
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
81
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
82
|
-
};
|
|
83
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
84
4
|
var ethers_1 = require("ethers");
|
|
85
5
|
var d8XMath_1 = require("./d8XMath");
|
|
86
6
|
require("./nodeSDKTypes");
|
|
87
7
|
var nodeSDKTypes_1 = require("./nodeSDKTypes");
|
|
88
|
-
var perpetualDataHandler_1 = __importDefault(require("./perpetualDataHandler"));
|
|
8
|
+
var perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
|
|
89
9
|
var utils_1 = require("./utils");
|
|
90
10
|
/**
|
|
91
11
|
* Functions to access market data (e.g., information on open orders, information on products that can be traded).
|
|
@@ -94,7 +14,7 @@ var utils_1 = require("./utils");
|
|
|
94
14
|
* @extends PerpetualDataHandler
|
|
95
15
|
*/
|
|
96
16
|
var MarketData = /** @class */ (function (_super) {
|
|
97
|
-
__extends(MarketData, _super);
|
|
17
|
+
tslib_1.__extends(MarketData, _super);
|
|
98
18
|
/**
|
|
99
19
|
* Constructor
|
|
100
20
|
* @param {NodeSDKConfig} config Configuration object, see
|
|
@@ -123,8 +43,8 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
123
43
|
* @param provider optional provider
|
|
124
44
|
*/
|
|
125
45
|
MarketData.prototype.createProxyInstance = function (provider) {
|
|
126
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
127
|
-
return __generator(this, function (_a) {
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
47
|
+
return tslib_1.__generator(this, function (_a) {
|
|
128
48
|
switch (_a.label) {
|
|
129
49
|
case 0:
|
|
130
50
|
if (provider == undefined) {
|
|
@@ -202,8 +122,8 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
202
122
|
* @returns {ExchangeInfo} Array of static data for all the pools and perpetuals in the system.
|
|
203
123
|
*/
|
|
204
124
|
MarketData.prototype.exchangeInfo = function () {
|
|
205
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
206
|
-
return __generator(this, function (_a) {
|
|
125
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
126
|
+
return tslib_1.__generator(this, function (_a) {
|
|
207
127
|
switch (_a.label) {
|
|
208
128
|
case 0:
|
|
209
129
|
if (this.proxyContract == null) {
|
|
@@ -237,9 +157,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
237
157
|
* @returns {Array<Array<Order>, Array<string>>} Array of open orders and corresponding order-ids.
|
|
238
158
|
*/
|
|
239
159
|
MarketData.prototype.openOrders = function (traderAddr, symbol) {
|
|
240
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
160
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
241
161
|
var orderBookContract, _a, orders, digests;
|
|
242
|
-
return __generator(this, function (_b) {
|
|
162
|
+
return tslib_1.__generator(this, function (_b) {
|
|
243
163
|
switch (_b.label) {
|
|
244
164
|
case 0:
|
|
245
165
|
orderBookContract = this.getOrderBookContract(symbol);
|
|
@@ -248,7 +168,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
248
168
|
MarketData.orderIdsOfTrader(traderAddr, orderBookContract),
|
|
249
169
|
])];
|
|
250
170
|
case 1:
|
|
251
|
-
_a = __read.apply(void 0, [_b.sent(), 2]), orders = _a[0], digests = _a[1];
|
|
171
|
+
_a = tslib_1.__read.apply(void 0, [_b.sent(), 2]), orders = _a[0], digests = _a[1];
|
|
252
172
|
return [2 /*return*/, { orders: orders, orderIds: digests }];
|
|
253
173
|
}
|
|
254
174
|
});
|
|
@@ -276,9 +196,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
276
196
|
* @returns {MarginAccount} Position risk of trader.
|
|
277
197
|
*/
|
|
278
198
|
MarketData.prototype.positionRisk = function (traderAddr, symbol) {
|
|
279
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
199
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
280
200
|
var obj, mgnAcct;
|
|
281
|
-
return __generator(this, function (_a) {
|
|
201
|
+
return tslib_1.__generator(this, function (_a) {
|
|
282
202
|
switch (_a.label) {
|
|
283
203
|
case 0:
|
|
284
204
|
if (this.proxyContract == null) {
|
|
@@ -305,9 +225,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
305
225
|
*/
|
|
306
226
|
MarketData.prototype.positionRiskOnTrade = function (traderAddr, order, account, indexPriceInfo) {
|
|
307
227
|
var _a, _b, _c, _d, _e;
|
|
308
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
228
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
309
229
|
var obj, lotSizeBC, perpetualState, _f, S2, S3, Sm, currentMarginCashCC, currentPositionBC, currentLockedInQC, tradeAmountBC, newPositionBC, newSide, tradePrice, _g, poolId, exchangeFeeTbps, exchangeFeeCC, brokerFeeCC, referralFeeCC, isClose, isOpen, isFlip, keepPositionLvgOnClose, traderDepositCC, targetLvg, initialMarginRate, _h, b0, pos0, deltaCashCC, deltaLockedQC, pnl, newLockedInValueQC, newMarginCashCC, newEntryPrice, newMarginBalanceCC, newLeverage, _j, S2Liq, S3Liq, tau, newPositionRisk;
|
|
310
|
-
return __generator(this, function (_k) {
|
|
230
|
+
return tslib_1.__generator(this, function (_k) {
|
|
311
231
|
switch (_k.label) {
|
|
312
232
|
case 0:
|
|
313
233
|
if (this.proxyContract == null) {
|
|
@@ -334,7 +254,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
334
254
|
return [4 /*yield*/, this.getPerpetualState(order.symbol, indexPriceInfo)];
|
|
335
255
|
case 5:
|
|
336
256
|
perpetualState = _k.sent();
|
|
337
|
-
_f = __read([perpetualState.indexPrice, perpetualState.collToQuoteIndexPrice, perpetualState.markPrice], 3), S2 = _f[0], S3 = _f[1], Sm = _f[2];
|
|
257
|
+
_f = tslib_1.__read([perpetualState.indexPrice, perpetualState.collToQuoteIndexPrice, perpetualState.markPrice], 3), S2 = _f[0], S3 = _f[1], Sm = _f[2];
|
|
338
258
|
currentMarginCashCC = account.collateralCC;
|
|
339
259
|
currentPositionBC = (account.side == nodeSDKTypes_1.BUY_SIDE ? 1 : -1) * account.positionNotionalBaseCCY;
|
|
340
260
|
currentLockedInQC = account.entryPrice * currentPositionBC;
|
|
@@ -373,7 +293,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
373
293
|
else {
|
|
374
294
|
initialMarginRate = this.symbolToPerpStaticInfo.get(account.symbol).initialMarginRate;
|
|
375
295
|
targetLvg = isFlip || isOpen ? (_e = order.leverage) !== null && _e !== void 0 ? _e : 1 / initialMarginRate : 0;
|
|
376
|
-
_h = __read(isOpen ? [0, 0] : [account.collateralCC, currentPositionBC], 2), b0 = _h[0], pos0 = _h[1];
|
|
296
|
+
_h = tslib_1.__read(isOpen ? [0, 0] : [account.collateralCC, currentPositionBC], 2), b0 = _h[0], pos0 = _h[1];
|
|
377
297
|
traderDepositCC = (0, d8XMath_1.getDepositAmountForLvgTrade)(b0, pos0, tradeAmountBC, targetLvg, tradePrice, S3, Sm);
|
|
378
298
|
// fees are paid from wallet in this case
|
|
379
299
|
traderDepositCC += exchangeFeeCC + brokerFeeCC + referralFeeCC;
|
|
@@ -396,7 +316,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
396
316
|
: newMarginBalanceCC <= 0
|
|
397
317
|
? Infinity
|
|
398
318
|
: (Math.abs(newPositionBC) * Sm) / S3 / newMarginBalanceCC;
|
|
399
|
-
_j = __read(MarketData._getLiquidationParams(account.symbol, newLockedInValueQC, newPositionBC, newMarginCashCC, Sm, S3, this.symbolToPerpStaticInfo), 3), S2Liq = _j[0], S3Liq = _j[1], tau = _j[2];
|
|
319
|
+
_j = tslib_1.__read(MarketData._getLiquidationParams(account.symbol, newLockedInValueQC, newPositionBC, newMarginCashCC, Sm, S3, this.symbolToPerpStaticInfo), 3), S2Liq = _j[0], S3Liq = _j[1], tau = _j[2];
|
|
400
320
|
newPositionRisk = {
|
|
401
321
|
symbol: account.symbol,
|
|
402
322
|
positionNotionalBaseCCY: Math.abs(newPositionBC),
|
|
@@ -424,9 +344,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
424
344
|
* @returns {MarginAccount} Position risk after
|
|
425
345
|
*/
|
|
426
346
|
MarketData.prototype.positionRiskOnCollateralAction = function (deltaCollateral, account, indexPriceInfo) {
|
|
427
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
347
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
428
348
|
var obj, perpetualState, _a, S2, S3, Sm, positionBC, lockedInQC, newMarginCashCC, newMarginBalanceCC, newLeverage, _b, S2Liq, S3Liq, tau, newPositionRisk;
|
|
429
|
-
return __generator(this, function (_c) {
|
|
349
|
+
return tslib_1.__generator(this, function (_c) {
|
|
430
350
|
switch (_c.label) {
|
|
431
351
|
case 0:
|
|
432
352
|
if (this.proxyContract == null) {
|
|
@@ -444,7 +364,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
444
364
|
case 2: return [4 /*yield*/, this.getPerpetualState(account.symbol, indexPriceInfo)];
|
|
445
365
|
case 3:
|
|
446
366
|
perpetualState = _c.sent();
|
|
447
|
-
_a = __read([perpetualState.indexPrice, perpetualState.collToQuoteIndexPrice, perpetualState.markPrice], 3), S2 = _a[0], S3 = _a[1], Sm = _a[2];
|
|
367
|
+
_a = tslib_1.__read([perpetualState.indexPrice, perpetualState.collToQuoteIndexPrice, perpetualState.markPrice], 3), S2 = _a[0], S3 = _a[1], Sm = _a[2];
|
|
448
368
|
// no position: just increase collateral and kill liquidation vars
|
|
449
369
|
if (account.positionNotionalBaseCCY == 0) {
|
|
450
370
|
return [2 /*return*/, {
|
|
@@ -483,7 +403,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
483
403
|
}];
|
|
484
404
|
}
|
|
485
405
|
newLeverage = (Math.abs(positionBC) * Sm) / S3 / newMarginBalanceCC;
|
|
486
|
-
_b = __read(MarketData._getLiquidationParams(account.symbol, lockedInQC, positionBC, newMarginCashCC, Sm, S3, this.symbolToPerpStaticInfo), 3), S2Liq = _b[0], S3Liq = _b[1], tau = _b[2];
|
|
406
|
+
_b = tslib_1.__read(MarketData._getLiquidationParams(account.symbol, lockedInQC, positionBC, newMarginCashCC, Sm, S3, this.symbolToPerpStaticInfo), 3), S2Liq = _b[0], S3Liq = _b[1], tau = _b[2];
|
|
487
407
|
newPositionRisk = {
|
|
488
408
|
symbol: account.symbol,
|
|
489
409
|
positionNotionalBaseCCY: account.positionNotionalBaseCCY,
|
|
@@ -530,9 +450,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
530
450
|
* @returns Balance
|
|
531
451
|
*/
|
|
532
452
|
MarketData.prototype.getWalletBalance = function (address, symbol) {
|
|
533
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
453
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
534
454
|
var poolIdx, marginTokenAddr, token, walletBalanceDec18;
|
|
535
|
-
return __generator(this, function (_a) {
|
|
455
|
+
return tslib_1.__generator(this, function (_a) {
|
|
536
456
|
switch (_a.label) {
|
|
537
457
|
case 0:
|
|
538
458
|
poolIdx = this.getPoolIndexFromSymbol(symbol);
|
|
@@ -555,9 +475,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
555
475
|
* @returns Maximal trade size, not signed
|
|
556
476
|
*/
|
|
557
477
|
MarketData.prototype.maxOrderSizeForTrader = function (side, positionRisk) {
|
|
558
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
478
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
559
479
|
var curPosition, perpId, perpMaxPositionABK;
|
|
560
|
-
return __generator(this, function (_a) {
|
|
480
|
+
return tslib_1.__generator(this, function (_a) {
|
|
561
481
|
switch (_a.label) {
|
|
562
482
|
case 0:
|
|
563
483
|
curPosition = side == nodeSDKTypes_1.BUY_SIDE ? positionRisk.positionNotionalBaseCCY : -positionRisk.positionNotionalBaseCCY;
|
|
@@ -577,9 +497,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
577
497
|
* @returns signed maximal position size in base currency
|
|
578
498
|
*/
|
|
579
499
|
MarketData.prototype.maxSignedPosition = function (side, symbol) {
|
|
580
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
500
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
581
501
|
var perpId, isBuy, maxSignedPos;
|
|
582
|
-
return __generator(this, function (_a) {
|
|
502
|
+
return tslib_1.__generator(this, function (_a) {
|
|
583
503
|
switch (_a.label) {
|
|
584
504
|
case 0:
|
|
585
505
|
perpId = this.getPerpIdFromSymbol(symbol);
|
|
@@ -613,9 +533,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
613
533
|
* @returns {number} Price of index in given currency.
|
|
614
534
|
*/
|
|
615
535
|
MarketData.prototype.getOraclePrice = function (base, quote) {
|
|
616
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
536
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
617
537
|
var px;
|
|
618
|
-
return __generator(this, function (_a) {
|
|
538
|
+
return tslib_1.__generator(this, function (_a) {
|
|
619
539
|
switch (_a.label) {
|
|
620
540
|
case 0:
|
|
621
541
|
if (this.proxyContract == null) {
|
|
@@ -630,9 +550,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
630
550
|
});
|
|
631
551
|
};
|
|
632
552
|
MarketData.prototype.getOrderStatus = function (symbol, orderId) {
|
|
633
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
553
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
634
554
|
var orderBookContract, status;
|
|
635
|
-
return __generator(this, function (_a) {
|
|
555
|
+
return tslib_1.__generator(this, function (_a) {
|
|
636
556
|
switch (_a.label) {
|
|
637
557
|
case 0:
|
|
638
558
|
if (this.proxyContract == null) {
|
|
@@ -668,9 +588,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
668
588
|
* @returns mark price
|
|
669
589
|
*/
|
|
670
590
|
MarketData.prototype.getMarkPrice = function (symbol, indexPrices) {
|
|
671
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
591
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
672
592
|
var obj;
|
|
673
|
-
return __generator(this, function (_a) {
|
|
593
|
+
return tslib_1.__generator(this, function (_a) {
|
|
674
594
|
switch (_a.label) {
|
|
675
595
|
case 0:
|
|
676
596
|
if (this.proxyContract == null) {
|
|
@@ -709,9 +629,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
709
629
|
* @returns price (number)
|
|
710
630
|
*/
|
|
711
631
|
MarketData.prototype.getPerpetualPrice = function (symbol, quantity, indexPrices) {
|
|
712
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
632
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
713
633
|
var obj;
|
|
714
|
-
return __generator(this, function (_a) {
|
|
634
|
+
return tslib_1.__generator(this, function (_a) {
|
|
715
635
|
switch (_a.label) {
|
|
716
636
|
case 0:
|
|
717
637
|
if (this.proxyContract == null) {
|
|
@@ -736,9 +656,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
736
656
|
* @returns PerpetualState reference
|
|
737
657
|
*/
|
|
738
658
|
MarketData.prototype.getPerpetualState = function (symbol, indexPriceInfo) {
|
|
739
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
659
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
740
660
|
var obj, state;
|
|
741
|
-
return __generator(this, function (_a) {
|
|
661
|
+
return tslib_1.__generator(this, function (_a) {
|
|
742
662
|
switch (_a.label) {
|
|
743
663
|
case 0:
|
|
744
664
|
if (this.proxyContract == null) {
|
|
@@ -804,8 +724,8 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
804
724
|
* @returns {number} price
|
|
805
725
|
*/
|
|
806
726
|
MarketData.prototype.getPerpetualMidPrice = function (symbol) {
|
|
807
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
808
|
-
return __generator(this, function (_a) {
|
|
727
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
728
|
+
return tslib_1.__generator(this, function (_a) {
|
|
809
729
|
switch (_a.label) {
|
|
810
730
|
case 0:
|
|
811
731
|
if (this.proxyContract == null) {
|
|
@@ -825,9 +745,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
825
745
|
* @ignore
|
|
826
746
|
*/
|
|
827
747
|
MarketData.prototype.openOrdersOnOrderBook = function (traderAddr, orderBookContract) {
|
|
828
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
748
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
829
749
|
var orders, userFriendlyOrders, k;
|
|
830
|
-
return __generator(this, function (_a) {
|
|
750
|
+
return tslib_1.__generator(this, function (_a) {
|
|
831
751
|
switch (_a.label) {
|
|
832
752
|
case 0: return [4 /*yield*/, orderBookContract.getOrders(traderAddr, 0, 15)];
|
|
833
753
|
case 1:
|
|
@@ -851,9 +771,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
851
771
|
* @ignore
|
|
852
772
|
*/
|
|
853
773
|
MarketData.orderIdsOfTrader = function (traderAddr, orderBookContract) {
|
|
854
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
774
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
855
775
|
var digestsRaw, k, digests;
|
|
856
|
-
return __generator(this, function (_a) {
|
|
776
|
+
return tslib_1.__generator(this, function (_a) {
|
|
857
777
|
switch (_a.label) {
|
|
858
778
|
case 0: return [4 /*yield*/, orderBookContract.limitDigestsOfTrader(traderAddr, 0, 15)];
|
|
859
779
|
case 1:
|
|
@@ -878,9 +798,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
878
798
|
* @returns available margin in collateral currency
|
|
879
799
|
*/
|
|
880
800
|
MarketData.prototype.getAvailableMargin = function (traderAddr, symbol, indexPrices) {
|
|
881
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
801
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
882
802
|
var obj, perpID, traderState, idx_availableMargin, mgn;
|
|
883
|
-
return __generator(this, function (_a) {
|
|
803
|
+
return tslib_1.__generator(this, function (_a) {
|
|
884
804
|
switch (_a.label) {
|
|
885
805
|
case 0:
|
|
886
806
|
if (this.proxyContract == null) {
|
|
@@ -911,9 +831,9 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
911
831
|
* @returns a loyality score (4 worst, 1 best)
|
|
912
832
|
*/
|
|
913
833
|
MarketData.prototype.getTraderLoyalityScore = function (traderAddr, brokerAddr) {
|
|
914
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
834
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
915
835
|
var brokerProm, traderProm, k, brkrVol_1, trdrVol_1, totalBrokerVolume, totalTraderVolume, brkrVol, trdrVol, k, volumeCap, score, rank4;
|
|
916
|
-
return __generator(this, function (_a) {
|
|
836
|
+
return tslib_1.__generator(this, function (_a) {
|
|
917
837
|
switch (_a.label) {
|
|
918
838
|
case 0:
|
|
919
839
|
if (this.proxyContract == null) {
|
|
@@ -953,10 +873,10 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
953
873
|
});
|
|
954
874
|
};
|
|
955
875
|
MarketData._exchangeInfo = function (_proxyContract, _poolStaticInfos, _symbolToPerpStaticInfo, _symbolList, _priceFeedGetter) {
|
|
956
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
957
|
-
var nestedPerpetualIDs, factory, info, numPools, allSym, _a, _b, perpSymbol, sInfo, allSymArr, idxPriceMap, j, perpetualIDs, pool, PoolState,
|
|
876
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
877
|
+
var nestedPerpetualIDs, factory, info, numPools, allSym, _a, _b, perpSymbol, sInfo, allSymArr, idxPriceMap, j, perpetualIDs, pool, PoolState, k, perp, symS2, symS3, res, _c, indexS2, isS2MktClosed, indexS3, isS3MktClosed, fMidPrice, markPremiumRate, currentFundingRateBps, state, isMktClosed, PerpetualState;
|
|
958
878
|
var e_1, _d;
|
|
959
|
-
return __generator(this, function (_e) {
|
|
879
|
+
return tslib_1.__generator(this, function (_e) {
|
|
960
880
|
switch (_e.label) {
|
|
961
881
|
case 0: return [4 /*yield*/, perpetualDataHandler_1.default.getNestedPerpetualIds(_proxyContract)];
|
|
962
882
|
case 1:
|
|
@@ -968,7 +888,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
968
888
|
numPools = nestedPerpetualIDs.length;
|
|
969
889
|
allSym = new Set();
|
|
970
890
|
try {
|
|
971
|
-
for (_a = __values(_symbolToPerpStaticInfo.keys()), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
891
|
+
for (_a = tslib_1.__values(_symbolToPerpStaticInfo.keys()), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
972
892
|
perpSymbol = _b.value;
|
|
973
893
|
sInfo = _symbolToPerpStaticInfo.get(perpSymbol);
|
|
974
894
|
allSym.add(sInfo.S2Symbol);
|
|
@@ -1008,7 +928,6 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1008
928
|
brokerCollateralLotSize: (0, d8XMath_1.ABK64x64ToFloat)(pool.fBrokerCollateralLotSize),
|
|
1009
929
|
perpetuals: [],
|
|
1010
930
|
};
|
|
1011
|
-
poolSymbol = PoolState.poolSymbol;
|
|
1012
931
|
k = 0;
|
|
1013
932
|
_e.label = 6;
|
|
1014
933
|
case 6:
|
|
@@ -1022,12 +941,11 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1022
941
|
symS3 = (0, utils_1.contractSymbolToSymbol)(perp.S3BaseCCY, _symbolList) +
|
|
1023
942
|
"-" +
|
|
1024
943
|
(0, utils_1.contractSymbolToSymbol)(perp.S3QuoteCCY, _symbolList);
|
|
1025
|
-
perpSymbol = symS2 + "-" + poolSymbol;
|
|
1026
944
|
res = idxPriceMap.get(symS2);
|
|
1027
945
|
if (res == undefined) {
|
|
1028
946
|
throw new Error("Price for index ".concat(symS2, " could not be fetched - config issue"));
|
|
1029
947
|
}
|
|
1030
|
-
_c = __read([res[0], res[1]], 2), indexS2 = _c[0], isS2MktClosed = _c[1];
|
|
948
|
+
_c = tslib_1.__read([res[0], res[1]], 2), indexS2 = _c[0], isS2MktClosed = _c[1];
|
|
1031
949
|
indexS3 = 1;
|
|
1032
950
|
isS3MktClosed = false;
|
|
1033
951
|
if (perp.eCollateralCurrency == nodeSDKTypes_1.COLLATERAL_CURRENCY_BASE) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
|
|
@@ -153,7 +153,7 @@ export interface Order {
|
|
|
153
153
|
leverage?: number | undefined;
|
|
154
154
|
deadline?: number | undefined;
|
|
155
155
|
timestamp: number;
|
|
156
|
-
|
|
156
|
+
submittedTimestamp?: number;
|
|
157
157
|
parentChildOrderIds?: [string, string];
|
|
158
158
|
}
|
|
159
159
|
export interface TradeEvent {
|
|
@@ -178,7 +178,7 @@ export interface TradeEvent {
|
|
|
178
178
|
int128 fLeverage; // 0 if deposit and trade separate
|
|
179
179
|
uint64 iDeadline;
|
|
180
180
|
uint64 createdTimestamp;
|
|
181
|
-
uint64
|
|
181
|
+
uint64 submittedTimestamp;
|
|
182
182
|
}
|
|
183
183
|
*/
|
|
184
184
|
export interface SmartContractOrder {
|
|
@@ -195,7 +195,7 @@ export interface SmartContractOrder {
|
|
|
195
195
|
fLeverage: BigNumberish;
|
|
196
196
|
iDeadline: BigNumberish;
|
|
197
197
|
createdTimestamp: BigNumberish;
|
|
198
|
-
|
|
198
|
+
submittedTimestamp: BigNumberish;
|
|
199
199
|
}
|
|
200
200
|
/**
|
|
201
201
|
* struct ClientOrder {
|
|
@@ -212,7 +212,7 @@ export interface SmartContractOrder {
|
|
|
212
212
|
int128 fLeverage; // 0 if deposit and trade separate
|
|
213
213
|
uint64 iDeadline;
|
|
214
214
|
uint64 createdTimestamp;
|
|
215
|
-
//uint64
|
|
215
|
+
//uint64 submittedTimestamp <- will be set by LimitOrderBook
|
|
216
216
|
bytes32 parentChildDigest1;
|
|
217
217
|
bytes32 parentChildDigest2;
|
|
218
218
|
}
|
|
@@ -262,5 +262,5 @@ export interface PriceFeedFormat {
|
|
|
262
262
|
}
|
|
263
263
|
export declare const DEFAULT_CONFIG_MAINNET_NAME = "mainnet";
|
|
264
264
|
export declare const DEFAULT_CONFIG_TESTNET_NAME = "central-park";
|
|
265
|
-
export declare function loadABIs(config: NodeSDKConfig):
|
|
265
|
+
export declare function loadABIs(config: NodeSDKConfig): void;
|
|
266
266
|
export declare const DEFAULT_CONFIG: NodeSDKConfig[];
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var e_1, _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DEFAULT_CONFIG = exports.loadABIs = exports.DEFAULT_CONFIG_TESTNET_NAME = exports.DEFAULT_CONFIG_MAINNET_NAME = exports.CollaterlCCY = exports.CLOSED_SIDE = exports.SELL_SIDE = exports.BUY_SIDE = exports.ORDER_TYPE_STOP_LIMIT = exports.ORDER_TYPE_STOP_MARKET = exports.ORDER_TYPE_MARKET = exports.ORDER_TYPE_LIMIT = exports.MASK_KEEP_POS_LEVERAGE = exports.MASK_STOP_ORDER = exports.MASK_MARKET_ORDER = exports.MASK_LIMIT_ORDER = exports.MASK_CLOSE_ONLY = exports.ORDER_MAX_DURATION_SEC = exports.DECIMALS = exports.MAX_UINT_256 = exports.MAX_64x64 = exports.ONE_64x64 = exports.ZERO_ORDER_ID = exports.ZERO_ADDRESS = exports.PERP_STATE_STR = exports.COLLATERAL_CURRENCY_QUANTO = exports.COLLATERAL_CURRENCY_BASE = exports.COLLATERAL_CURRENCY_QUOTE = exports.SYMBOL_LIST = exports.MOCK_TOKEN_SWAP_ABI = exports.ERC20_ABI = void 0;
|
|
5
|
+
var tslib_1 = require("tslib");
|
|
6
|
+
var ethers_1 = require("ethers");
|
|
7
|
+
exports.ERC20_ABI = require("./abi/ERC20.json");
|
|
8
|
+
exports.MOCK_TOKEN_SWAP_ABI = require("./abi/MockTokenSwap.json");
|
|
9
|
+
exports.SYMBOL_LIST = new Map(Object.entries(require("./config/symbolList.json")));
|
|
10
|
+
exports.COLLATERAL_CURRENCY_QUOTE = 0;
|
|
11
|
+
exports.COLLATERAL_CURRENCY_BASE = 1;
|
|
12
|
+
exports.COLLATERAL_CURRENCY_QUANTO = 2;
|
|
13
|
+
exports.PERP_STATE_STR = ["INVALID", "INITIALIZING", "NORMAL", "EMERGENCY", "CLEARED"];
|
|
14
|
+
exports.ZERO_ADDRESS = ethers_1.constants.AddressZero;
|
|
15
|
+
exports.ZERO_ORDER_ID = ethers_1.constants.HashZero;
|
|
16
|
+
exports.ONE_64x64 = ethers_1.BigNumber.from("0x010000000000000000");
|
|
17
|
+
exports.MAX_64x64 = ethers_1.BigNumber.from("0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
|
|
18
|
+
exports.MAX_UINT_256 = ethers_1.BigNumber.from(2).pow(256).sub(ethers_1.BigNumber.from(1));
|
|
19
|
+
exports.DECIMALS = ethers_1.BigNumber.from(10).pow(ethers_1.BigNumber.from(18));
|
|
20
|
+
exports.ORDER_MAX_DURATION_SEC = 60 * 60 * 24 * 30 * 4;
|
|
21
|
+
exports.MASK_CLOSE_ONLY = ethers_1.BigNumber.from("0x80000000");
|
|
22
|
+
exports.MASK_LIMIT_ORDER = ethers_1.BigNumber.from("0x04000000");
|
|
23
|
+
exports.MASK_MARKET_ORDER = ethers_1.BigNumber.from("0x40000000");
|
|
24
|
+
exports.MASK_STOP_ORDER = ethers_1.BigNumber.from("0x20000000");
|
|
25
|
+
exports.MASK_KEEP_POS_LEVERAGE = ethers_1.BigNumber.from("0x08000000");
|
|
26
|
+
exports.ORDER_TYPE_LIMIT = "LIMIT";
|
|
27
|
+
exports.ORDER_TYPE_MARKET = "MARKET";
|
|
28
|
+
exports.ORDER_TYPE_STOP_MARKET = "STOP_MARKET";
|
|
29
|
+
exports.ORDER_TYPE_STOP_LIMIT = "STOP_LIMIT";
|
|
30
|
+
exports.BUY_SIDE = "BUY";
|
|
31
|
+
exports.SELL_SIDE = "SELL";
|
|
32
|
+
exports.CLOSED_SIDE = "CLOSED";
|
|
33
|
+
var CollaterlCCY;
|
|
34
|
+
(function (CollaterlCCY) {
|
|
35
|
+
CollaterlCCY[CollaterlCCY["QUOTE"] = 0] = "QUOTE";
|
|
36
|
+
CollaterlCCY[CollaterlCCY["BASE"] = 1] = "BASE";
|
|
37
|
+
CollaterlCCY[CollaterlCCY["QUANTO"] = 2] = "QUANTO";
|
|
38
|
+
})(CollaterlCCY = exports.CollaterlCCY || (exports.CollaterlCCY = {}));
|
|
39
|
+
exports.DEFAULT_CONFIG_MAINNET_NAME = "mainnet";
|
|
40
|
+
exports.DEFAULT_CONFIG_TESTNET_NAME = "central-park";
|
|
41
|
+
function loadABIs(config) {
|
|
42
|
+
if (config.proxyABILocation.length > 0) {
|
|
43
|
+
config.proxyABI = require("./abi/".concat(config.proxyABILocation));
|
|
44
|
+
config.lobFactoryABI = require("./abi/".concat(config.limitOrderBookFactoryABILocation));
|
|
45
|
+
config.lobABI = require("./abi/".concat(config.limitOrderBookABILocation));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.loadABIs = loadABIs;
|
|
49
|
+
var constConfig = require("./config/defaultConfig.json");
|
|
50
|
+
try {
|
|
51
|
+
for (var constConfig_1 = tslib_1.__values(constConfig), constConfig_1_1 = constConfig_1.next(); !constConfig_1_1.done; constConfig_1_1 = constConfig_1.next()) {
|
|
52
|
+
var config = constConfig_1_1.value;
|
|
53
|
+
loadABIs(config);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
57
|
+
finally {
|
|
58
|
+
try {
|
|
59
|
+
if (constConfig_1_1 && !constConfig_1_1.done && (_a = constConfig_1.return)) _a.call(constConfig_1);
|
|
60
|
+
}
|
|
61
|
+
finally { if (e_1) throw e_1.error; }
|
|
62
|
+
}
|
|
63
|
+
exports.DEFAULT_CONFIG = constConfig;
|
|
64
|
+
//# sourceMappingURL=nodeSDKTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeSDKTypes.js","sourceRoot":"","sources":["../../src/nodeSDKTypes.ts"],"names":[],"mappings":";;;;;AAAA,iCAA+G;AAElG,QAAA,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACxC,QAAA,mBAAmB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAC1D,QAAA,WAAW,GAAG,IAAI,GAAG,CAAiB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;AAC3F,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAC9B,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAC7B,QAAA,0BAA0B,GAAG,CAAC,CAAC;AAC/B,QAAA,cAAc,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAC/E,QAAA,YAAY,GAAG,kBAAS,CAAC,WAAW,CAAC;AACrC,QAAA,aAAa,GAAG,kBAAS,CAAC,QAAQ,CAAC;AAEnC,QAAA,SAAS,GAAG,kBAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACnD,QAAA,SAAS,GAAG,kBAAS,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;AACjE,QAAA,YAAY,GAAG,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,QAAA,QAAQ,GAAG,kBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAEtD,QAAA,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE/C,QAAA,eAAe,GAAG,kBAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/C,QAAA,gBAAgB,GAAG,kBAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAChD,QAAA,iBAAiB,GAAG,kBAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACjD,QAAA,eAAe,GAAG,kBAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/C,QAAA,sBAAsB,GAAG,kBAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAEtD,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,iBAAiB,GAAG,QAAQ,CAAC;AAC7B,QAAA,sBAAsB,GAAG,aAAa,CAAC;AACvC,QAAA,qBAAqB,GAAG,YAAY,CAAC;AACrC,QAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,QAAA,SAAS,GAAG,MAAM,CAAC;AACnB,QAAA,WAAW,GAAG,QAAQ,CAAC;AAiCpC,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iDAAS,CAAA;IACT,+CAAI,CAAA;IACJ,mDAAM,CAAA;AACR,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAgNY,QAAA,2BAA2B,GAAG,SAAS,CAAC;AACxC,QAAA,2BAA2B,GAAG,cAAc,CAAC;AAE1D,SAAgB,QAAQ,CAAC,MAAqB;IAC5C,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QACtC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,gBAAS,MAAM,CAAC,gBAAgB,CAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAS,MAAM,CAAC,gCAAgC,CAAE,CAAC,CAAC;QACnF,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,gBAAS,MAAM,CAAC,yBAAyB,CAAE,CAAC,CAAC;KACtE;AACH,CAAC;AAND,4BAMC;AAED,IAAI,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAoB,CAAC;;IAC5E,KAAmB,IAAA,gBAAA,iBAAA,WAAW,CAAA,wCAAA,iEAAE;QAA3B,IAAI,MAAM,wBAAA;QACb,QAAQ,CAAC,MAAM,CAAC,CAAC;KAClB;;;;;;;;;AAEY,QAAA,cAAc,GAAoB,WAAW,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ethers } from "ethers";
|
|
2
|
-
import { NodeSDKConfig, Order, PerpetualStaticInfo, PriceFeedSubmission } from "./nodeSDKTypes";
|
|
2
|
+
import { NodeSDKConfig, Order, PerpetualStaticInfo, PriceFeedSubmission, SmartContractOrder } from "./nodeSDKTypes";
|
|
3
3
|
import WriteAccessHandler from "./writeAccessHandler";
|
|
4
4
|
/**
|
|
5
5
|
* Functions to execute existing conditional orders from the limit order book. This class
|
|
@@ -8,7 +8,7 @@ import WriteAccessHandler from "./writeAccessHandler";
|
|
|
8
8
|
* @extends WriteAccessHandler
|
|
9
9
|
*/
|
|
10
10
|
export default class OrderReferrerTool extends WriteAccessHandler {
|
|
11
|
-
static
|
|
11
|
+
static TRADE_DELAY: number;
|
|
12
12
|
/**
|
|
13
13
|
* Constructor.
|
|
14
14
|
* @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.readSDKConfig.
|
|
@@ -64,6 +64,7 @@ export default class OrderReferrerTool extends WriteAccessHandler {
|
|
|
64
64
|
* @returns Transaction object.
|
|
65
65
|
*/
|
|
66
66
|
executeOrder(symbol: string, orderId: string, referrerAddr?: string, nonce?: number, submission?: PriceFeedSubmission): Promise<ethers.ContractTransaction>;
|
|
67
|
+
executeOrders(symbol: string, orderIds: string[], referrerAddr?: string, nonce?: number, submission?: PriceFeedSubmission): Promise<ethers.ContractTransaction>;
|
|
67
68
|
/**
|
|
68
69
|
* All the orders in the order book for a given symbol that are currently open.
|
|
69
70
|
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
@@ -175,7 +176,7 @@ export default class OrderReferrerTool extends WriteAccessHandler {
|
|
|
175
176
|
* main();
|
|
176
177
|
* @returns true if order can be executed for the current state of the perpetuals
|
|
177
178
|
*/
|
|
178
|
-
isTradeable(order: Order, indexPrices?: [number, number]): Promise<boolean>;
|
|
179
|
+
isTradeable(order: Order, blockTimestamp?: number, indexPrices?: [number, number]): Promise<boolean>;
|
|
179
180
|
/**
|
|
180
181
|
* Check for a batch of orders on the same perpetual whether they can be traded
|
|
181
182
|
* @param orders orders belonging to 1 perpetual
|
|
@@ -183,7 +184,13 @@ export default class OrderReferrerTool extends WriteAccessHandler {
|
|
|
183
184
|
* if not defined.
|
|
184
185
|
* @returns array of tradeable boolean
|
|
185
186
|
*/
|
|
186
|
-
isTradeableBatch(orders: Order[], indexPrices?: [number, number, boolean, boolean]): Promise<boolean[]>;
|
|
187
|
-
|
|
187
|
+
isTradeableBatch(orders: Order[], blockTimestamp?: number, indexPrices?: [number, number, boolean, boolean]): Promise<boolean[]>;
|
|
188
|
+
protected _isTradeable(order: Order, tradePrice: number, markPrice: number, blockTimestamp: number, symbolToPerpInfoMap: Map<string, PerpetualStaticInfo>): boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Wrapper of static method to use after mappings have been loaded into memory.
|
|
191
|
+
* @param scOrder Perpetual order as received in the proxy events.
|
|
192
|
+
* @returns A user-friendly order struct.
|
|
193
|
+
*/
|
|
194
|
+
smartContractOrderToOrder(scOrder: SmartContractOrder): Order;
|
|
188
195
|
getTransactionCount(blockTag?: ethers.providers.BlockTag): Promise<number>;
|
|
189
196
|
}
|