@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,79 +1,10 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
70
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
71
|
-
};
|
|
72
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
73
4
|
var ethers_1 = require("ethers");
|
|
74
5
|
var nodeSDKTypes_1 = require("./nodeSDKTypes");
|
|
75
|
-
var perpetualDataHandler_1 = __importDefault(require("./perpetualDataHandler"));
|
|
76
|
-
var writeAccessHandler_1 = __importDefault(require("./writeAccessHandler"));
|
|
6
|
+
var perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
|
|
7
|
+
var writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
|
|
77
8
|
/**
|
|
78
9
|
* Functions to execute existing conditional orders from the limit order book. This class
|
|
79
10
|
* requires a private key and executes smart-contract interactions that require
|
|
@@ -81,7 +12,7 @@ var writeAccessHandler_1 = __importDefault(require("./writeAccessHandler"));
|
|
|
81
12
|
* @extends WriteAccessHandler
|
|
82
13
|
*/
|
|
83
14
|
var OrderReferrerTool = /** @class */ (function (_super) {
|
|
84
|
-
__extends(OrderReferrerTool, _super);
|
|
15
|
+
tslib_1.__extends(OrderReferrerTool, _super);
|
|
85
16
|
/**
|
|
86
17
|
* Constructor.
|
|
87
18
|
* @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.readSDKConfig.
|
|
@@ -139,9 +70,9 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
139
70
|
* @returns Transaction object.
|
|
140
71
|
*/
|
|
141
72
|
OrderReferrerTool.prototype.executeOrder = function (symbol, orderId, referrerAddr, nonce, submission) {
|
|
142
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
73
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
143
74
|
var orderBookSC, options;
|
|
144
|
-
return __generator(this, function (_a) {
|
|
75
|
+
return tslib_1.__generator(this, function (_a) {
|
|
145
76
|
switch (_a.label) {
|
|
146
77
|
case 0:
|
|
147
78
|
if (this.proxyContract == null || this.signer == null) {
|
|
@@ -168,6 +99,36 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
168
99
|
});
|
|
169
100
|
});
|
|
170
101
|
};
|
|
102
|
+
OrderReferrerTool.prototype.executeOrders = function (symbol, orderIds, referrerAddr, nonce, submission) {
|
|
103
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
104
|
+
var orderBookSC, options;
|
|
105
|
+
return tslib_1.__generator(this, function (_a) {
|
|
106
|
+
switch (_a.label) {
|
|
107
|
+
case 0:
|
|
108
|
+
if (this.proxyContract == null || this.signer == null) {
|
|
109
|
+
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
110
|
+
}
|
|
111
|
+
orderBookSC = this.getOrderBookContract(symbol);
|
|
112
|
+
if (typeof referrerAddr == "undefined") {
|
|
113
|
+
referrerAddr = this.traderAddr;
|
|
114
|
+
}
|
|
115
|
+
if (!(submission == undefined)) return [3 /*break*/, 2];
|
|
116
|
+
return [4 /*yield*/, this.priceFeedGetter.fetchLatestFeedPriceInfoForPerpetual(symbol)];
|
|
117
|
+
case 1:
|
|
118
|
+
submission = _a.sent();
|
|
119
|
+
_a.label = 2;
|
|
120
|
+
case 2:
|
|
121
|
+
options = {
|
|
122
|
+
gasLimit: this.gasLimit,
|
|
123
|
+
nonce: nonce,
|
|
124
|
+
value: this.PRICE_UPDATE_FEE_GWEI * (submission === null || submission === void 0 ? void 0 : submission.priceFeedVaas.length),
|
|
125
|
+
};
|
|
126
|
+
return [4 /*yield*/, orderBookSC.executeOrders(orderIds, referrerAddr, submission === null || submission === void 0 ? void 0 : submission.priceFeedVaas, submission === null || submission === void 0 ? void 0 : submission.timestamps, options)];
|
|
127
|
+
case 3: return [2 /*return*/, _a.sent()];
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
};
|
|
171
132
|
/**
|
|
172
133
|
* All the orders in the order book for a given symbol that are currently open.
|
|
173
134
|
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
@@ -189,9 +150,9 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
189
150
|
* @returns Array with all open orders and their IDs.
|
|
190
151
|
*/
|
|
191
152
|
OrderReferrerTool.prototype.getAllOpenOrders = function (symbol) {
|
|
192
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
153
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
193
154
|
var totalOrders;
|
|
194
|
-
return __generator(this, function (_a) {
|
|
155
|
+
return tslib_1.__generator(this, function (_a) {
|
|
195
156
|
switch (_a.label) {
|
|
196
157
|
case 0: return [4 /*yield*/, this.numberOfOpenOrders(symbol)];
|
|
197
158
|
case 1:
|
|
@@ -223,9 +184,9 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
223
184
|
* @returns {number} Number of open orders.
|
|
224
185
|
*/
|
|
225
186
|
OrderReferrerTool.prototype.numberOfOpenOrders = function (symbol) {
|
|
226
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
187
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
227
188
|
var orderBookSC, numOrders;
|
|
228
|
-
return __generator(this, function (_a) {
|
|
189
|
+
return tslib_1.__generator(this, function (_a) {
|
|
229
190
|
switch (_a.label) {
|
|
230
191
|
case 0:
|
|
231
192
|
if (this.proxyContract == null) {
|
|
@@ -263,9 +224,9 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
263
224
|
* @returns order or undefined
|
|
264
225
|
*/
|
|
265
226
|
OrderReferrerTool.prototype.getOrderById = function (symbol, id) {
|
|
266
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
227
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
267
228
|
var ob, smartContractOrder, order;
|
|
268
|
-
return __generator(this, function (_a) {
|
|
229
|
+
return tslib_1.__generator(this, function (_a) {
|
|
269
230
|
switch (_a.label) {
|
|
270
231
|
case 0: return [4 /*yield*/, this.getOrderBookContract(symbol)];
|
|
271
232
|
case 1:
|
|
@@ -306,10 +267,10 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
306
267
|
* @returns Array of orders and corresponding order IDs
|
|
307
268
|
*/
|
|
308
269
|
OrderReferrerTool.prototype.pollLimitOrders = function (symbol, numElements, startAfter) {
|
|
309
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
270
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
310
271
|
var orderBookSC, orders, orderIds, userFriendlyOrders, orderIdsOut, k;
|
|
311
272
|
var _a;
|
|
312
|
-
return __generator(this, function (_b) {
|
|
273
|
+
return tslib_1.__generator(this, function (_b) {
|
|
313
274
|
switch (_b.label) {
|
|
314
275
|
case 0:
|
|
315
276
|
if (this.proxyContract == null) {
|
|
@@ -321,7 +282,7 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
321
282
|
}
|
|
322
283
|
return [4 /*yield*/, orderBookSC.pollLimitOrders(startAfter, ethers_1.BigNumber.from(numElements))];
|
|
323
284
|
case 1:
|
|
324
|
-
_a = __read.apply(void 0, [_b.sent(), 2]), orders = _a[0], orderIds = _a[1];
|
|
285
|
+
_a = tslib_1.__read.apply(void 0, [_b.sent(), 2]), orders = _a[0], orderIds = _a[1];
|
|
325
286
|
userFriendlyOrders = new Array();
|
|
326
287
|
orderIdsOut = [];
|
|
327
288
|
k = 0;
|
|
@@ -357,10 +318,10 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
357
318
|
* main();
|
|
358
319
|
* @returns true if order can be executed for the current state of the perpetuals
|
|
359
320
|
*/
|
|
360
|
-
OrderReferrerTool.prototype.isTradeable = function (order, indexPrices) {
|
|
361
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
362
|
-
var obj, orderPrice, markPrice,
|
|
363
|
-
return __generator(this, function (_a) {
|
|
321
|
+
OrderReferrerTool.prototype.isTradeable = function (order, blockTimestamp, indexPrices) {
|
|
322
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
323
|
+
var obj, orderPrice, markPrice, currentBlock;
|
|
324
|
+
return tslib_1.__generator(this, function (_a) {
|
|
364
325
|
switch (_a.label) {
|
|
365
326
|
case 0:
|
|
366
327
|
if (this.proxyContract == null) {
|
|
@@ -378,10 +339,16 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
378
339
|
return [4 /*yield*/, perpetualDataHandler_1.default._queryPerpetualMarkPrice(order.symbol, this.symbolToPerpStaticInfo, this.proxyContract, indexPrices)];
|
|
379
340
|
case 4:
|
|
380
341
|
markPrice = _a.sent();
|
|
342
|
+
if (!(blockTimestamp == undefined)) return [3 /*break*/, 7];
|
|
381
343
|
return [4 /*yield*/, this.provider.getBlockNumber()];
|
|
382
344
|
case 5:
|
|
383
|
-
|
|
384
|
-
return [
|
|
345
|
+
currentBlock = _a.sent();
|
|
346
|
+
return [4 /*yield*/, this.provider.getBlock(currentBlock)];
|
|
347
|
+
case 6:
|
|
348
|
+
blockTimestamp = (_a.sent()).timestamp;
|
|
349
|
+
_a.label = 7;
|
|
350
|
+
case 7: return [4 /*yield*/, this._isTradeable(order, orderPrice, markPrice, blockTimestamp, this.symbolToPerpStaticInfo)];
|
|
351
|
+
case 8: return [2 /*return*/, _a.sent()];
|
|
385
352
|
}
|
|
386
353
|
});
|
|
387
354
|
});
|
|
@@ -393,11 +360,11 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
393
360
|
* if not defined.
|
|
394
361
|
* @returns array of tradeable boolean
|
|
395
362
|
*/
|
|
396
|
-
OrderReferrerTool.prototype.isTradeableBatch = function (orders, indexPrices) {
|
|
397
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
398
|
-
var obj, orderPrice, markPrice,
|
|
363
|
+
OrderReferrerTool.prototype.isTradeableBatch = function (orders, blockTimestamp, indexPrices) {
|
|
364
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
365
|
+
var obj, orderPrice, markPrice, currentBlock;
|
|
399
366
|
var _this = this;
|
|
400
|
-
return __generator(this, function (_a) {
|
|
367
|
+
return tslib_1.__generator(this, function (_a) {
|
|
401
368
|
switch (_a.label) {
|
|
402
369
|
case 0:
|
|
403
370
|
if (orders.length == 0) {
|
|
@@ -418,7 +385,7 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
418
385
|
case 2:
|
|
419
386
|
if (indexPrices[2] || indexPrices[3]) {
|
|
420
387
|
// market closed
|
|
421
|
-
return [2 /*return*/, orders.map(function (
|
|
388
|
+
return [2 /*return*/, orders.map(function () { return false; })];
|
|
422
389
|
}
|
|
423
390
|
return [4 /*yield*/, Promise.all(orders.map(function (o) {
|
|
424
391
|
return perpetualDataHandler_1.default._queryPerpetualPrice(o.symbol, o.quantity, _this.symbolToPerpStaticInfo, _this.proxyContract, [indexPrices[0], indexPrices[1]]);
|
|
@@ -428,51 +395,86 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
428
395
|
return [4 /*yield*/, perpetualDataHandler_1.default._queryPerpetualMarkPrice(orders[0].symbol, this.symbolToPerpStaticInfo, this.proxyContract, [indexPrices[0], indexPrices[1]])];
|
|
429
396
|
case 4:
|
|
430
397
|
markPrice = _a.sent();
|
|
398
|
+
if (!(blockTimestamp == undefined)) return [3 /*break*/, 7];
|
|
431
399
|
return [4 /*yield*/, this.provider.getBlockNumber()];
|
|
432
400
|
case 5:
|
|
433
|
-
|
|
434
|
-
return [
|
|
435
|
-
|
|
436
|
-
|
|
401
|
+
currentBlock = _a.sent();
|
|
402
|
+
return [4 /*yield*/, this.provider.getBlock(currentBlock)];
|
|
403
|
+
case 6:
|
|
404
|
+
blockTimestamp = (_a.sent()).timestamp;
|
|
405
|
+
_a.label = 7;
|
|
406
|
+
case 7: return [4 /*yield*/, orders.map(function (o, idx) {
|
|
407
|
+
return _this._isTradeable(o, orderPrice[idx], markPrice, blockTimestamp, _this.symbolToPerpStaticInfo);
|
|
408
|
+
})];
|
|
409
|
+
case 8: return [2 /*return*/, _a.sent()];
|
|
437
410
|
}
|
|
438
411
|
});
|
|
439
412
|
});
|
|
440
413
|
};
|
|
441
|
-
OrderReferrerTool._isTradeable = function (order, tradePrice, markPrice,
|
|
414
|
+
OrderReferrerTool.prototype._isTradeable = function (order, tradePrice, markPrice, blockTimestamp, symbolToPerpInfoMap) {
|
|
442
415
|
// check expiration date
|
|
443
416
|
if (order.deadline != undefined && order.deadline < Date.now() / 1000) {
|
|
417
|
+
console.log("order expired");
|
|
444
418
|
return false;
|
|
445
419
|
}
|
|
446
|
-
|
|
420
|
+
// -1 because order is executed on the next block (+1)
|
|
421
|
+
if (order.submittedTimestamp != undefined &&
|
|
422
|
+
order.submittedTimestamp + OrderReferrerTool.TRADE_DELAY < blockTimestamp - 1) {
|
|
423
|
+
console.log("on hold for ".concat(blockTimestamp - 1 - order.submittedTimestamp - OrderReferrerTool.TRADE_DELAY, " seconds"));
|
|
447
424
|
return false;
|
|
448
425
|
}
|
|
449
426
|
// check order size
|
|
450
|
-
|
|
427
|
+
var lotSize = perpetualDataHandler_1.default._getLotSize(order.symbol, symbolToPerpInfoMap);
|
|
428
|
+
if (order.quantity < lotSize) {
|
|
429
|
+
console.log("order size too small: ".concat(order.quantity, " < ").concat(lotSize));
|
|
451
430
|
return false;
|
|
452
431
|
}
|
|
453
432
|
// check limit price: fromSmartContractOrder will set it to undefined when not tradeable
|
|
454
433
|
if (order.limitPrice == undefined) {
|
|
434
|
+
console.log("limit price undefined");
|
|
455
435
|
return false;
|
|
456
436
|
}
|
|
457
437
|
var limitPrice = order.limitPrice;
|
|
458
438
|
if ((order.side == nodeSDKTypes_1.BUY_SIDE && tradePrice > limitPrice) || (order.side == nodeSDKTypes_1.SELL_SIDE && tradePrice < limitPrice)) {
|
|
439
|
+
console.log("limit price not met: ".concat(limitPrice, " ").concat(order.side, " @ ").concat(tradePrice));
|
|
459
440
|
return false;
|
|
460
441
|
}
|
|
461
|
-
//
|
|
462
|
-
if (order.stopPrice
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
if ((order.side == nodeSDKTypes_1.BUY_SIDE && markPrice < order.stopPrice) ||
|
|
467
|
-
(order.side == nodeSDKTypes_1.SELL_SIDE && markPrice > order.stopPrice)) {
|
|
442
|
+
// check stop price
|
|
443
|
+
if (order.stopPrice != undefined &&
|
|
444
|
+
((order.side == nodeSDKTypes_1.BUY_SIDE && markPrice < order.stopPrice) ||
|
|
445
|
+
(order.side == nodeSDKTypes_1.SELL_SIDE && markPrice > order.stopPrice))) {
|
|
446
|
+
console.log("stop price not met");
|
|
468
447
|
return false;
|
|
469
448
|
}
|
|
449
|
+
//check dependency
|
|
450
|
+
if (order.parentChildOrderIds != undefined &&
|
|
451
|
+
order.parentChildOrderIds[0] == ethers_1.ethers.constants.HashZero &&
|
|
452
|
+
order.parentChildOrderIds[1] != ethers_1.ethers.constants.HashZero) {
|
|
453
|
+
// order has a parent
|
|
454
|
+
var orderBookContract = this.getOrderBookContract(order.symbol);
|
|
455
|
+
return orderBookContract.getOrderStatus(order.parentChildOrderIds[1]).then(function (status) {
|
|
456
|
+
if (status == 2 || status == 3) {
|
|
457
|
+
console.log("parent not executed/cancelled");
|
|
458
|
+
// parent is open or unknown
|
|
459
|
+
return false;
|
|
460
|
+
}
|
|
461
|
+
return true;
|
|
462
|
+
});
|
|
463
|
+
}
|
|
470
464
|
// all checks passed -> order is tradeable
|
|
471
465
|
return true;
|
|
472
466
|
};
|
|
467
|
+
/**
|
|
468
|
+
* Wrapper of static method to use after mappings have been loaded into memory.
|
|
469
|
+
* @param scOrder Perpetual order as received in the proxy events.
|
|
470
|
+
* @returns A user-friendly order struct.
|
|
471
|
+
*/
|
|
472
|
+
OrderReferrerTool.prototype.smartContractOrderToOrder = function (scOrder) {
|
|
473
|
+
return perpetualDataHandler_1.default.fromSmartContractOrder(scOrder, this.symbolToPerpStaticInfo);
|
|
474
|
+
};
|
|
473
475
|
OrderReferrerTool.prototype.getTransactionCount = function (blockTag) {
|
|
474
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
475
|
-
return __generator(this, function (_a) {
|
|
476
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
477
|
+
return tslib_1.__generator(this, function (_a) {
|
|
476
478
|
switch (_a.label) {
|
|
477
479
|
case 0:
|
|
478
480
|
if (this.signer == null) {
|
|
@@ -484,7 +486,7 @@ var OrderReferrerTool = /** @class */ (function (_super) {
|
|
|
484
486
|
});
|
|
485
487
|
});
|
|
486
488
|
};
|
|
487
|
-
OrderReferrerTool.
|
|
489
|
+
OrderReferrerTool.TRADE_DELAY = 5;
|
|
488
490
|
return OrderReferrerTool;
|
|
489
491
|
}(writeAccessHandler_1.default));
|
|
490
492
|
exports.default = OrderReferrerTool;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderReferrerTool.js","sourceRoot":"","sources":["../../src/orderReferrerTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -216,5 +216,5 @@ export default class PerpetualDataHandler {
|
|
|
216
216
|
* @param traderAccount Trader account
|
|
217
217
|
* @param perpStaticInfo Symbol to perpetual info map
|
|
218
218
|
*/
|
|
219
|
-
protected static checkOrder(order: Order,
|
|
219
|
+
protected static checkOrder(order: Order, perpStaticInfo: Map<string, PerpetualStaticInfo>): void;
|
|
220
220
|
}
|