@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,76 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
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;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
39
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
40
|
-
if (!m) return o;
|
|
41
|
-
var i = m.call(o), r, ar = [], e;
|
|
42
|
-
try {
|
|
43
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
44
|
-
}
|
|
45
|
-
catch (error) { e = { error: error }; }
|
|
46
|
-
finally {
|
|
47
|
-
try {
|
|
48
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
49
|
-
}
|
|
50
|
-
finally { if (e) throw e.error; }
|
|
51
|
-
}
|
|
52
|
-
return ar;
|
|
53
|
-
};
|
|
54
|
-
var __values = (this && this.__values) || function(o) {
|
|
55
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
56
|
-
if (m) return m.call(o);
|
|
57
|
-
if (o && typeof o.length === "number") return {
|
|
58
|
-
next: function () {
|
|
59
|
-
if (o && i >= o.length) o = void 0;
|
|
60
|
-
return { value: o && o[i++], done: !o };
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
64
|
-
};
|
|
65
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
66
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
67
|
-
};
|
|
68
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
69
4
|
var ethers_1 = require("ethers");
|
|
70
5
|
var nodeSDKTypes_1 = require("./nodeSDKTypes");
|
|
71
6
|
var utils_1 = require("./utils");
|
|
72
7
|
var d8XMath_1 = require("./d8XMath");
|
|
73
|
-
var priceFeeds_1 = __importDefault(require("./priceFeeds"));
|
|
8
|
+
var priceFeeds_1 = tslib_1.__importDefault(require("./priceFeeds"));
|
|
74
9
|
/**
|
|
75
10
|
* Parent class for MarketData and WriteAccessHandler that handles
|
|
76
11
|
* common data and chain operations.
|
|
@@ -97,9 +32,9 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
97
32
|
this.priceFeedGetter = new priceFeeds_1.default(this, config.priceFeedConfigNetwork);
|
|
98
33
|
}
|
|
99
34
|
PerpetualDataHandler.prototype.initContractsAndData = function (signerOrProvider) {
|
|
100
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
35
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
101
36
|
var network, error_1, _a;
|
|
102
|
-
return __generator(this, function (_b) {
|
|
37
|
+
return tslib_1.__generator(this, function (_b) {
|
|
103
38
|
switch (_b.label) {
|
|
104
39
|
case 0:
|
|
105
40
|
this.signerOrProvider = signerOrProvider;
|
|
@@ -158,9 +93,9 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
158
93
|
*
|
|
159
94
|
*/
|
|
160
95
|
PerpetualDataHandler.prototype._fillSymbolMaps = function (proxyContract) {
|
|
161
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
96
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
162
97
|
var oracleFactoryAddr, _a, requiredPairs, _loop_1, this_1, j;
|
|
163
|
-
return __generator(this, function (_b) {
|
|
98
|
+
return tslib_1.__generator(this, function (_b) {
|
|
164
99
|
switch (_b.label) {
|
|
165
100
|
case 0:
|
|
166
101
|
if (proxyContract == null || this.lobFactoryContract == null) {
|
|
@@ -175,9 +110,8 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
175
110
|
_a.nestedPerpetualIDs = _b.sent();
|
|
176
111
|
requiredPairs = new Set();
|
|
177
112
|
_loop_1 = function (j) {
|
|
178
|
-
var pool, poolMarginTokenAddr, perpetualIDs, poolCCY, currentSymbols, currentSymbolsS3, currentLimitOrderBookAddr, ccy, initRate, mgnRate, lotSizes, refRebates, k, perp, base, quote, base3, quote3, sym, sym3, lobAddr, info, currentSymbols3, k,
|
|
179
|
-
|
|
180
|
-
return __generator(this, function (_d) {
|
|
113
|
+
var pool, poolMarginTokenAddr, perpetualIDs, poolCCY, currentSymbols, currentSymbolsS3, currentLimitOrderBookAddr, ccy, initRate, mgnRate, lotSizes, refRebates, k, perp, base, quote, base3, quote3, sym, sym3, lobAddr, info, currentSymbols3, k, _c, idsB32;
|
|
114
|
+
return tslib_1.__generator(this, function (_d) {
|
|
181
115
|
switch (_d.label) {
|
|
182
116
|
case 0: return [4 /*yield*/, proxyContract.getLiquidityPool(j + 1)];
|
|
183
117
|
case 1:
|
|
@@ -260,10 +194,9 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
260
194
|
_d.label = 7;
|
|
261
195
|
case 7:
|
|
262
196
|
if (!(k < perpetualIDs.length)) return [3 /*break*/, 10];
|
|
263
|
-
idsB32 = void 0, isPyth = void 0;
|
|
264
197
|
return [4 /*yield*/, proxyContract.getPriceInfo(perpetualIDs[k])];
|
|
265
198
|
case 8:
|
|
266
|
-
_c = __read.apply(void 0, [_d.sent(),
|
|
199
|
+
_c = tslib_1.__read.apply(void 0, [_d.sent(), 1]), idsB32 = _c[0];
|
|
267
200
|
this_1.symbolToPerpStaticInfo.set(currentSymbols3[k], {
|
|
268
201
|
id: perpetualIDs[k],
|
|
269
202
|
limitOrderBookAddr: currentLimitOrderBookAddr[k],
|
|
@@ -350,8 +283,8 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
350
283
|
* @returns PriceFeedSubmission and prices for S2 and S3. [S2price, 0] if S3 not defined.
|
|
351
284
|
*/
|
|
352
285
|
PerpetualDataHandler.prototype.fetchPriceSubmissionInfoForPerpetual = function (symbol) {
|
|
353
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
354
|
-
return __generator(this, function (_a) {
|
|
286
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
287
|
+
return tslib_1.__generator(this, function (_a) {
|
|
355
288
|
switch (_a.label) {
|
|
356
289
|
case 0: return [4 /*yield*/, this.priceFeedGetter.fetchFeedPriceInfoAndIndicesForPerpetual(symbol)];
|
|
357
290
|
case 1:
|
|
@@ -382,8 +315,8 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
382
315
|
* and corresponding price information
|
|
383
316
|
*/
|
|
384
317
|
PerpetualDataHandler.prototype.fetchLatestFeedPriceInfo = function (symbol) {
|
|
385
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
386
|
-
return __generator(this, function (_a) {
|
|
318
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
319
|
+
return tslib_1.__generator(this, function (_a) {
|
|
387
320
|
switch (_a.label) {
|
|
388
321
|
case 0: return [4 /*yield*/, this.priceFeedGetter.fetchLatestFeedPriceInfoForPerpetual(symbol)];
|
|
389
322
|
case 1: return [2 /*return*/, _a.sent()];
|
|
@@ -423,9 +356,9 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
423
356
|
return j + 1;
|
|
424
357
|
};
|
|
425
358
|
PerpetualDataHandler.getNestedPerpetualIds = function (_proxyContract) {
|
|
426
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
359
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
427
360
|
var poolCount, poolIds, i, perpetualCount, j, id;
|
|
428
|
-
return __generator(this, function (_a) {
|
|
361
|
+
return tslib_1.__generator(this, function (_a) {
|
|
429
362
|
switch (_a.label) {
|
|
430
363
|
case 0: return [4 /*yield*/, _proxyContract.getPoolCount()];
|
|
431
364
|
case 1:
|
|
@@ -471,7 +404,7 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
471
404
|
var cash = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_cash]);
|
|
472
405
|
var S2Liq = 0, S3Liq = 0, tau = Infinity, pnl = 0, unpaidFundingCC = 0, fLockedIn = ethers_1.BigNumber.from(0), side = nodeSDKTypes_1.CLOSED_SIDE, entryPrice = 0;
|
|
473
406
|
if (!isEmpty) {
|
|
474
|
-
_a = __read(PerpetualDataHandler._calculateLiquidationPrice(symbol, traderState, _pxS2S3[0], symbolToPerpStaticInfo), 5), S2Liq = _a[0], S3Liq = _a[1], tau = _a[2], pnl = _a[3], unpaidFundingCC = _a[4];
|
|
407
|
+
_a = tslib_1.__read(PerpetualDataHandler._calculateLiquidationPrice(symbol, traderState, _pxS2S3[0], symbolToPerpStaticInfo), 5), S2Liq = _a[0], S3Liq = _a[1], tau = _a[2], pnl = _a[3], unpaidFundingCC = _a[4];
|
|
475
408
|
fLockedIn = traderState[idx_locked_in];
|
|
476
409
|
side = traderState[idx_locked_in].gt(0) ? nodeSDKTypes_1.BUY_SIDE : nodeSDKTypes_1.SELL_SIDE;
|
|
477
410
|
entryPrice = (0, d8XMath_1.ABK64x64ToFloat)((0, d8XMath_1.div64x64)(fLockedIn, traderState[idx_notional]));
|
|
@@ -493,9 +426,9 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
493
426
|
return mgn;
|
|
494
427
|
};
|
|
495
428
|
PerpetualDataHandler.getMarginAccount = function (traderAddr, symbol, symbolToPerpStaticInfo, _proxyContract, _pxS2S3) {
|
|
496
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
429
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
497
430
|
var perpId, traderState;
|
|
498
|
-
return __generator(this, function (_a) {
|
|
431
|
+
return tslib_1.__generator(this, function (_a) {
|
|
499
432
|
switch (_a.label) {
|
|
500
433
|
case 0:
|
|
501
434
|
perpId = Number(symbol);
|
|
@@ -511,9 +444,9 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
511
444
|
});
|
|
512
445
|
};
|
|
513
446
|
PerpetualDataHandler._queryPerpetualPrice = function (symbol, tradeAmount, symbolToPerpStaticInfo, _proxyContract, indexPrices) {
|
|
514
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
447
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
515
448
|
var perpId, fIndexPrices, fPrice;
|
|
516
|
-
return __generator(this, function (_a) {
|
|
449
|
+
return tslib_1.__generator(this, function (_a) {
|
|
517
450
|
switch (_a.label) {
|
|
518
451
|
case 0:
|
|
519
452
|
perpId = PerpetualDataHandler.symbolToPerpetualId(symbol, symbolToPerpStaticInfo);
|
|
@@ -527,13 +460,13 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
527
460
|
});
|
|
528
461
|
};
|
|
529
462
|
PerpetualDataHandler._queryPerpetualMarkPrice = function (symbol, symbolToPerpStaticInfo, _proxyContract, indexPrices) {
|
|
530
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
463
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
531
464
|
var perpId, _a, S2, S3, ammState;
|
|
532
|
-
return __generator(this, function (_b) {
|
|
465
|
+
return tslib_1.__generator(this, function (_b) {
|
|
533
466
|
switch (_b.label) {
|
|
534
467
|
case 0:
|
|
535
468
|
perpId = PerpetualDataHandler.symbolToPerpetualId(symbol, symbolToPerpStaticInfo);
|
|
536
|
-
_a = __read(indexPrices.map(function (x) { return (0, d8XMath_1.floatToABK64x64)(x == undefined || Number.isNaN(x) ? 0 : x); }), 2), S2 = _a[0], S3 = _a[1];
|
|
469
|
+
_a = tslib_1.__read(indexPrices.map(function (x) { return (0, d8XMath_1.floatToABK64x64)(x == undefined || Number.isNaN(x) ? 0 : x); }), 2), S2 = _a[0], S3 = _a[1];
|
|
537
470
|
return [4 /*yield*/, _proxyContract.getAMMState(perpId, [S2, S3])];
|
|
538
471
|
case 1:
|
|
539
472
|
ammState = _b.sent();
|
|
@@ -543,15 +476,15 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
543
476
|
});
|
|
544
477
|
};
|
|
545
478
|
PerpetualDataHandler._queryPerpetualState = function (symbol, symbolToPerpStaticInfo, _proxyContract, indexPrices) {
|
|
546
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
479
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
547
480
|
var perpId, staticInfo, ccy, _a, S2, S3, ammState, markPrice, state;
|
|
548
|
-
return __generator(this, function (_b) {
|
|
481
|
+
return tslib_1.__generator(this, function (_b) {
|
|
549
482
|
switch (_b.label) {
|
|
550
483
|
case 0:
|
|
551
484
|
perpId = PerpetualDataHandler.symbolToPerpetualId(symbol, symbolToPerpStaticInfo);
|
|
552
485
|
staticInfo = symbolToPerpStaticInfo.get(symbol);
|
|
553
486
|
ccy = symbol.split("-");
|
|
554
|
-
_a = __read([indexPrices[0], indexPrices[1]], 2), S2 = _a[0], S3 = _a[1];
|
|
487
|
+
_a = tslib_1.__read([indexPrices[0], indexPrices[1]], 2), S2 = _a[0], S3 = _a[1];
|
|
555
488
|
if (staticInfo.collateralCurrencyType == nodeSDKTypes_1.CollaterlCCY.BASE) {
|
|
556
489
|
S3 = S2;
|
|
557
490
|
}
|
|
@@ -595,7 +528,7 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
595
528
|
var idx_locked_in = 5;
|
|
596
529
|
var idx_mark_price = 8;
|
|
597
530
|
var idx_s3 = 9;
|
|
598
|
-
|
|
531
|
+
// const idx_s2 = 10;
|
|
599
532
|
var S2Liq;
|
|
600
533
|
var S3Liq = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_s3]);
|
|
601
534
|
var perpInfo = symbolToPerpStaticInfo.get(symbol);
|
|
@@ -658,7 +591,7 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
658
591
|
var _b;
|
|
659
592
|
var symbol;
|
|
660
593
|
try {
|
|
661
|
-
for (var _c = __values(symbolToPerpStaticInfo.keys()), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
594
|
+
for (var _c = tslib_1.__values(symbolToPerpStaticInfo.keys()), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
662
595
|
symbol = _d.value;
|
|
663
596
|
if (((_b = symbolToPerpStaticInfo.get(symbol)) === null || _b === void 0 ? void 0 : _b.id) == id) {
|
|
664
597
|
return symbol;
|
|
@@ -692,8 +625,8 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
692
625
|
PerpetualDataHandler._getByValue = function (map, searchValue, valueField) {
|
|
693
626
|
var e_2, _a;
|
|
694
627
|
try {
|
|
695
|
-
for (var _b = __values(map.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
696
|
-
var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
|
|
628
|
+
for (var _b = tslib_1.__values(map.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
629
|
+
var _d = tslib_1.__read(_c.value, 2), key = _d[0], value = _d[1];
|
|
697
630
|
if (value[valueField] === searchValue) {
|
|
698
631
|
return key;
|
|
699
632
|
}
|
|
@@ -748,7 +681,7 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
748
681
|
leverage: (0, d8XMath_1.ABK64x64ToFloat)(ethers_1.BigNumber.from(order.fLeverage)),
|
|
749
682
|
deadline: Number(order.iDeadline),
|
|
750
683
|
timestamp: Number(order.createdTimestamp),
|
|
751
|
-
|
|
684
|
+
submittedTimestamp: Number(order.submittedTimestamp),
|
|
752
685
|
};
|
|
753
686
|
return userOrder;
|
|
754
687
|
};
|
|
@@ -760,6 +693,9 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
760
693
|
* @returns SmartContractOrder
|
|
761
694
|
*/
|
|
762
695
|
PerpetualDataHandler.toSmartContractOrder = function (order, traderAddr, perpStaticInfo) {
|
|
696
|
+
// this revers if order is invalid
|
|
697
|
+
PerpetualDataHandler.checkOrder(order, perpStaticInfo);
|
|
698
|
+
// translate order
|
|
763
699
|
var flags = PerpetualDataHandler._orderTypeToFlag(order);
|
|
764
700
|
var brokerSig = order.brokerSignature == undefined ? [] : order.brokerSignature;
|
|
765
701
|
var perpetualId = PerpetualDataHandler.symbolToPerpetualId(order.symbol, perpStaticInfo);
|
|
@@ -800,7 +736,7 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
800
736
|
fLeverage: order.leverage == undefined ? ethers_1.BigNumber.from(0) : (0, d8XMath_1.floatToABK64x64)(order.leverage),
|
|
801
737
|
iDeadline: ethers_1.BigNumber.from(Math.round(iDeadline)),
|
|
802
738
|
createdTimestamp: ethers_1.BigNumber.from(Math.round(order.timestamp)),
|
|
803
|
-
|
|
739
|
+
submittedTimestamp: 0,
|
|
804
740
|
};
|
|
805
741
|
return smOrder;
|
|
806
742
|
};
|
|
@@ -987,7 +923,7 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
987
923
|
}
|
|
988
924
|
else {
|
|
989
925
|
if (version === undefined) {
|
|
990
|
-
configFile = configFile.sort(function (conf) { return
|
|
926
|
+
configFile = configFile.sort(function (conf) { return conf.version; });
|
|
991
927
|
return configFile[0];
|
|
992
928
|
}
|
|
993
929
|
else {
|
|
@@ -1024,7 +960,7 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
1024
960
|
}
|
|
1025
961
|
else {
|
|
1026
962
|
if (version === undefined) {
|
|
1027
|
-
configFile = configFile.sort(function (conf) { return
|
|
963
|
+
configFile = configFile.sort(function (conf) { return conf.version; });
|
|
1028
964
|
return configFile[0];
|
|
1029
965
|
}
|
|
1030
966
|
else {
|
|
@@ -1089,20 +1025,22 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
1089
1025
|
* @param traderAccount Trader account
|
|
1090
1026
|
* @param perpStaticInfo Symbol to perpetual info map
|
|
1091
1027
|
*/
|
|
1092
|
-
PerpetualDataHandler.checkOrder = function (order,
|
|
1093
|
-
|
|
1094
|
-
|
|
1028
|
+
PerpetualDataHandler.checkOrder = function (order,
|
|
1029
|
+
// traderAccount: MarginAccount,
|
|
1030
|
+
perpStaticInfo) {
|
|
1095
1031
|
// check side
|
|
1096
1032
|
if (order.side != nodeSDKTypes_1.BUY_SIDE && order.side != nodeSDKTypes_1.SELL_SIDE) {
|
|
1097
1033
|
throw Error("order side must be ".concat(nodeSDKTypes_1.BUY_SIDE, " or ").concat(nodeSDKTypes_1.SELL_SIDE));
|
|
1098
1034
|
}
|
|
1099
1035
|
// check amount
|
|
1100
1036
|
var lotSize = perpStaticInfo.get(order.symbol).lotSizeBC;
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1037
|
+
// let curPos =
|
|
1038
|
+
// traderAccount.side == CLOSED_SIDE
|
|
1039
|
+
// ? 0
|
|
1040
|
+
// : (traderAccount.side == BUY_SIDE ? 1 : -1) * traderAccount.positionNotionalBaseCCY;
|
|
1041
|
+
// let newPos = curPos + (order.side == BUY_SIDE ? 1 : -1) * order.quantity;
|
|
1042
|
+
// if (Math.abs(order.quantity) < lotSize || (Math.abs(newPos) >= lotSize && Math.abs(newPos) < 10 * lotSize)) {
|
|
1043
|
+
if (Math.abs(order.quantity) < lotSize) {
|
|
1106
1044
|
throw Error("trade amount too small: ".concat(order.quantity, " ").concat(perpStaticInfo.get(order.symbol).S2Symbol));
|
|
1107
1045
|
}
|
|
1108
1046
|
// check limit price
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perpetualDataHandler.js","sourceRoot":"","sources":["../../src/perpetualDataHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -126,7 +126,7 @@ export default class PerpetualEventHandler {
|
|
|
126
126
|
* @param Order order struct
|
|
127
127
|
* @param digest order id
|
|
128
128
|
*/
|
|
129
|
-
onPerpetualLimitOrderCreated(perpetualId: number, trader: string,
|
|
129
|
+
onPerpetualLimitOrderCreated(perpetualId: number, trader: string, _referrerAddr: string, _brokerAddr: string, Order: SmartContractOrder, digest: string): void;
|
|
130
130
|
/**
|
|
131
131
|
* This function is async -> queries the margin account
|
|
132
132
|
* @param perpetualId id of the perpetual
|
|
@@ -138,7 +138,7 @@ export default class PerpetualEventHandler {
|
|
|
138
138
|
* @param fFundingPaymentCC funding payment made
|
|
139
139
|
* @param fOpenInterestBC open interest
|
|
140
140
|
*/
|
|
141
|
-
onUpdateMarginAccount(perpetualId: number, trader: string,
|
|
141
|
+
onUpdateMarginAccount(perpetualId: number, trader: string, _positionId: string, _fPositionBC: BigNumber, _fCashCC: BigNumber, _fLockedInValueQC: BigNumber, _fFundingPaymentCC: BigNumber, fOpenInterestBC: BigNumber): Promise<void>;
|
|
142
142
|
/**
|
|
143
143
|
*
|
|
144
144
|
* @param perpetualId perpetual id
|
|
@@ -150,7 +150,7 @@ export default class PerpetualEventHandler {
|
|
|
150
150
|
* @param price price in ABDK format
|
|
151
151
|
* @returns trade event data in regular number format
|
|
152
152
|
*/
|
|
153
|
-
onTrade(perpetualId: number,
|
|
153
|
+
onTrade(perpetualId: number, _trader: string, positionId: string, _order: SmartContractOrder, orderDigest: string, newPositionSizeBC: BigNumber, _price: BigNumber): TradeEvent;
|
|
154
154
|
/**
|
|
155
155
|
* static function to find the number of the OrderStruct with given orderId
|
|
156
156
|
* @param orderId id/digest of order
|
|
@@ -1,68 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
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;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
39
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
40
|
-
if (!m) return o;
|
|
41
|
-
var i = m.call(o), r, ar = [], e;
|
|
42
|
-
try {
|
|
43
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
44
|
-
}
|
|
45
|
-
catch (error) { e = { error: error }; }
|
|
46
|
-
finally {
|
|
47
|
-
try {
|
|
48
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
49
|
-
}
|
|
50
|
-
finally { if (e) throw e.error; }
|
|
51
|
-
}
|
|
52
|
-
return ar;
|
|
53
|
-
};
|
|
54
|
-
var __values = (this && this.__values) || function(o) {
|
|
55
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
56
|
-
if (m) return m.call(o);
|
|
57
|
-
if (o && typeof o.length === "number") return {
|
|
58
|
-
next: function () {
|
|
59
|
-
if (o && i >= o.length) o = void 0;
|
|
60
|
-
return { value: o && o[i++], done: !o };
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
64
|
-
};
|
|
65
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
66
4
|
var process_1 = require("process");
|
|
67
5
|
var d8XMath_1 = require("./d8XMath");
|
|
68
6
|
var nodeSDKTypes_1 = require("./nodeSDKTypes");
|
|
@@ -105,9 +43,9 @@ var PerpetualEventHandler = /** @class */ (function () {
|
|
|
105
43
|
* market data
|
|
106
44
|
*/
|
|
107
45
|
PerpetualEventHandler.prototype.initialize = function () {
|
|
108
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
109
47
|
var _a, k, poolState, poolSymbol, j, perpState, perpSymbol, orders, perpId, position;
|
|
110
|
-
return __generator(this, function (_b) {
|
|
48
|
+
return tslib_1.__generator(this, function (_b) {
|
|
111
49
|
switch (_b.label) {
|
|
112
50
|
case 0:
|
|
113
51
|
_a = this;
|
|
@@ -217,9 +155,9 @@ var PerpetualEventHandler = /** @class */ (function () {
|
|
|
217
155
|
* @param perpetualIdOrSymbol perpetual id as string ('100003') or symbol ('BTC-USD-MATIC')
|
|
218
156
|
*/
|
|
219
157
|
PerpetualEventHandler.prototype.updatePrices = function (perpetualIdOrSymbol) {
|
|
220
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
158
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
221
159
|
var perpId, symbol, sym, perpState, perp;
|
|
222
|
-
return __generator(this, function (_a) {
|
|
160
|
+
return tslib_1.__generator(this, function (_a) {
|
|
223
161
|
switch (_a.label) {
|
|
224
162
|
case 0:
|
|
225
163
|
perpId = Number(perpetualIdOrSymbol);
|
|
@@ -261,7 +199,7 @@ var PerpetualEventHandler = /** @class */ (function () {
|
|
|
261
199
|
* @returns void
|
|
262
200
|
*/
|
|
263
201
|
PerpetualEventHandler.prototype.onUpdateMarkPrice = function (perpetualId, fMidPricePremium, fMarkPricePremium, fSpotIndexPrice) {
|
|
264
|
-
var _a = __read(PerpetualEventHandler.ConvertUpdateMarkPrice(fMidPricePremium, fMarkPricePremium, fSpotIndexPrice), 3), newMidPrice = _a[0], newMarkPrice = _a[1], newIndexPrice = _a[2];
|
|
202
|
+
var _a = tslib_1.__read(PerpetualEventHandler.ConvertUpdateMarkPrice(fMidPricePremium, fMarkPricePremium, fSpotIndexPrice), 3), newMidPrice = _a[0], newMarkPrice = _a[1], newIndexPrice = _a[2];
|
|
265
203
|
var perpetual = this.getPerpetualData(perpetualId.toString());
|
|
266
204
|
if (perpetual == undefined) {
|
|
267
205
|
return;
|
|
@@ -344,7 +282,7 @@ var PerpetualEventHandler = /** @class */ (function () {
|
|
|
344
282
|
* @param Order order struct
|
|
345
283
|
* @param digest order id
|
|
346
284
|
*/
|
|
347
|
-
PerpetualEventHandler.prototype.onPerpetualLimitOrderCreated = function (perpetualId, trader,
|
|
285
|
+
PerpetualEventHandler.prototype.onPerpetualLimitOrderCreated = function (perpetualId, trader, _referrerAddr, _brokerAddr, Order, digest) {
|
|
348
286
|
if (trader != this.traderAddr) {
|
|
349
287
|
(0, process_1.emitWarning)("onPerpetualLimitOrderCreated: trader ".concat(trader, " not relevant"));
|
|
350
288
|
return;
|
|
@@ -371,10 +309,10 @@ var PerpetualEventHandler = /** @class */ (function () {
|
|
|
371
309
|
* @param fFundingPaymentCC funding payment made
|
|
372
310
|
* @param fOpenInterestBC open interest
|
|
373
311
|
*/
|
|
374
|
-
PerpetualEventHandler.prototype.onUpdateMarginAccount = function (perpetualId, trader,
|
|
375
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
312
|
+
PerpetualEventHandler.prototype.onUpdateMarginAccount = function (perpetualId, trader, _positionId, _fPositionBC, _fCashCC, _fLockedInValueQC, _fFundingPaymentCC, fOpenInterestBC) {
|
|
313
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
376
314
|
var perpetual, perpetualIdStr, margin;
|
|
377
|
-
return __generator(this, function (_a) {
|
|
315
|
+
return tslib_1.__generator(this, function (_a) {
|
|
378
316
|
switch (_a.label) {
|
|
379
317
|
case 0:
|
|
380
318
|
perpetual = this.getPerpetualData(perpetualId.toString());
|
|
@@ -407,7 +345,7 @@ var PerpetualEventHandler = /** @class */ (function () {
|
|
|
407
345
|
* @param price price in ABDK format
|
|
408
346
|
* @returns trade event data in regular number format
|
|
409
347
|
*/
|
|
410
|
-
PerpetualEventHandler.prototype.onTrade = function (perpetualId,
|
|
348
|
+
PerpetualEventHandler.prototype.onTrade = function (perpetualId, _trader, positionId, _order, orderDigest, newPositionSizeBC, _price) {
|
|
411
349
|
// remove order digest from open orders
|
|
412
350
|
var orderStructs = this.ordersInPerpetual.get(perpetualId);
|
|
413
351
|
if (orderStructs == undefined) {
|
|
@@ -437,7 +375,7 @@ var PerpetualEventHandler = /** @class */ (function () {
|
|
|
437
375
|
/*orderMapMap<number, {
|
|
438
376
|
orders: Order[];
|
|
439
377
|
orderIds: string[];*/
|
|
440
|
-
for (var _b = __values(orderMap.keys()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
378
|
+
for (var _b = tslib_1.__values(orderMap.keys()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
441
379
|
var perpId = _c.value;
|
|
442
380
|
var orderStructs = orderMap.get(perpId);
|
|
443
381
|
if (orderStructs === null || orderStructs === void 0 ? void 0 : orderStructs.orderIds.includes(orderId)) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perpetualEventHandler.js","sourceRoot":"","sources":["../../src/perpetualEventHandler.ts"],"names":[],"mappings":"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"}
|