@d8x/perpetuals-sdk 1.1.25 → 1.1.26
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/orderExecutorTool.d.ts +0 -70
- package/dist/cjs/orderExecutorTool.js +0 -145
- package/dist/cjs/orderExecutorTool.js.map +1 -1
- package/dist/cjs/perpetualDataHandler.d.ts +70 -0
- package/dist/cjs/perpetualDataHandler.js +146 -0
- package/dist/cjs/perpetualDataHandler.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/orderExecutorTool.d.ts +0 -70
- package/dist/esm/orderExecutorTool.js +1 -146
- package/dist/esm/orderExecutorTool.js.map +1 -1
- package/dist/esm/perpetualDataHandler.d.ts +70 -0
- package/dist/esm/perpetualDataHandler.js +146 -0
- package/dist/esm/perpetualDataHandler.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/doc/d8x-perpetuals-sdk.md +842 -98
- package/doc/perpetualDataHandler.md +660 -0
- package/package.json +2 -2
- package/src/orderExecutorTool.ts +0 -154
- package/src/perpetualDataHandler.ts +155 -1
- package/src/version.ts +1 -1
|
@@ -97,50 +97,6 @@ export default class OrderExecutorTool extends WriteAccessHandler {
|
|
|
97
97
|
rpcURL?: string;
|
|
98
98
|
splitTx?: boolean;
|
|
99
99
|
}): Promise<ContractTransaction>;
|
|
100
|
-
/**
|
|
101
|
-
* All the orders in the order book for a given symbol that are currently open.
|
|
102
|
-
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
103
|
-
* @example
|
|
104
|
-
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
105
|
-
* async function main() {
|
|
106
|
-
* console.log(OrderExecutorTool);
|
|
107
|
-
* // setup (authentication required, PK is an environment variable with a private key)
|
|
108
|
-
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
109
|
-
* const pk: string = <string>process.env.PK;
|
|
110
|
-
* let orderTool = new OrderExecutorTool(config, pk);
|
|
111
|
-
* await orderTool.createProxyInstance();
|
|
112
|
-
* // get all open orders
|
|
113
|
-
* let openOrders = await orderTool.getAllOpenOrders("ETH-USD-MATIC");
|
|
114
|
-
* console.log(openOrders);
|
|
115
|
-
* }
|
|
116
|
-
* main();
|
|
117
|
-
*
|
|
118
|
-
* @returns Array with all open orders and their IDs.
|
|
119
|
-
*/
|
|
120
|
-
getAllOpenOrders(symbol: string, overrides?: CallOverrides): Promise<[Order[], string[], string[]]>;
|
|
121
|
-
/**
|
|
122
|
-
* Total number of limit orders for this symbol, excluding those that have been cancelled/removed.
|
|
123
|
-
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
124
|
-
* @example
|
|
125
|
-
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
126
|
-
* async function main() {
|
|
127
|
-
* console.log(OrderExecutorTool);
|
|
128
|
-
* // setup (authentication required, PK is an environment variable with a private key)
|
|
129
|
-
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
130
|
-
* const pk: string = <string>process.env.PK;
|
|
131
|
-
* let orderTool = new OrderExecutorTool(config, pk);
|
|
132
|
-
* await orderTool.createProxyInstance();
|
|
133
|
-
* // get all open orders
|
|
134
|
-
* let numberOfOrders = await orderTool.numberOfOpenOrders("ETH-USD-MATIC");
|
|
135
|
-
* console.log(numberOfOrders);
|
|
136
|
-
* }
|
|
137
|
-
* main();
|
|
138
|
-
*
|
|
139
|
-
* @returns {number} Number of open orders.
|
|
140
|
-
*/
|
|
141
|
-
numberOfOpenOrders(symbol: string, overrides?: CallOverrides & {
|
|
142
|
-
rpcURL?: string;
|
|
143
|
-
}): Promise<number>;
|
|
144
100
|
/**
|
|
145
101
|
* Get order from the digest (=id)
|
|
146
102
|
* @param symbol symbol of order book, e.g. ETH-USD-MATIC
|
|
@@ -164,32 +120,6 @@ export default class OrderExecutorTool extends WriteAccessHandler {
|
|
|
164
120
|
* @returns order or undefined
|
|
165
121
|
*/
|
|
166
122
|
getOrderById(symbol: string, id: string, overrides?: CallOverrides): Promise<Order | undefined>;
|
|
167
|
-
/**
|
|
168
|
-
* Get a list of active conditional orders in the order book.
|
|
169
|
-
* This a read-only action and does not incur in gas costs.
|
|
170
|
-
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
171
|
-
* @param {number} numElements Maximum number of orders to poll.
|
|
172
|
-
* @param {string=} startAfter Optional order ID from where to start polling. Defaults to the first order.
|
|
173
|
-
* @example
|
|
174
|
-
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
175
|
-
* async function main() {
|
|
176
|
-
* console.log(OrderExecutorTool);
|
|
177
|
-
* // setup (authentication required, PK is an environment variable with a private key)
|
|
178
|
-
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
179
|
-
* const pk: string = <string>process.env.PK;
|
|
180
|
-
* let orderTool = new OrderExecutorTool(config, pk);
|
|
181
|
-
* await orderTool.createProxyInstance();
|
|
182
|
-
* // get all open orders
|
|
183
|
-
* let activeOrders = await orderTool.pollLimitOrders("ETH-USD-MATIC", 2);
|
|
184
|
-
* console.log(activeOrders);
|
|
185
|
-
* }
|
|
186
|
-
* main();
|
|
187
|
-
*
|
|
188
|
-
* @returns Array of orders and corresponding order IDs
|
|
189
|
-
*/
|
|
190
|
-
pollLimitOrders(symbol: string, numElements: number, startAfter?: string | number, overrides?: CallOverrides & {
|
|
191
|
-
rpcURL?: string;
|
|
192
|
-
}): Promise<[Order[], string[], string[]]>;
|
|
193
123
|
/**
|
|
194
124
|
* Check if a conditional order can be executed
|
|
195
125
|
* @param order order structure
|
|
@@ -221,83 +221,6 @@ class OrderExecutorTool extends writeAccessHandler_1.default {
|
|
|
221
221
|
};
|
|
222
222
|
return await this.signer.sendTransaction(unsignedTx);
|
|
223
223
|
}
|
|
224
|
-
/**
|
|
225
|
-
* All the orders in the order book for a given symbol that are currently open.
|
|
226
|
-
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
227
|
-
* @example
|
|
228
|
-
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
229
|
-
* async function main() {
|
|
230
|
-
* console.log(OrderExecutorTool);
|
|
231
|
-
* // setup (authentication required, PK is an environment variable with a private key)
|
|
232
|
-
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
233
|
-
* const pk: string = <string>process.env.PK;
|
|
234
|
-
* let orderTool = new OrderExecutorTool(config, pk);
|
|
235
|
-
* await orderTool.createProxyInstance();
|
|
236
|
-
* // get all open orders
|
|
237
|
-
* let openOrders = await orderTool.getAllOpenOrders("ETH-USD-MATIC");
|
|
238
|
-
* console.log(openOrders);
|
|
239
|
-
* }
|
|
240
|
-
* main();
|
|
241
|
-
*
|
|
242
|
-
* @returns Array with all open orders and their IDs.
|
|
243
|
-
*/
|
|
244
|
-
async getAllOpenOrders(symbol, overrides) {
|
|
245
|
-
const MAX_ORDERS_POLLED = 500;
|
|
246
|
-
let totalOrders = await this.numberOfOpenOrders(symbol, overrides);
|
|
247
|
-
let orderBundles = [[], [], []];
|
|
248
|
-
let moreOrders = orderBundles[1].length < totalOrders;
|
|
249
|
-
let startAfter = 0;
|
|
250
|
-
while (orderBundles[1].length < totalOrders && moreOrders) {
|
|
251
|
-
let res = await this.pollLimitOrders(symbol, MAX_ORDERS_POLLED, startAfter, overrides);
|
|
252
|
-
if (res[1].length < 1) {
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
const curIds = new Set(orderBundles[1]);
|
|
256
|
-
for (let k = 0; k < res[0].length && res[2][k] !== constants_2.ZERO_ADDRESS; k++) {
|
|
257
|
-
if (!curIds.has(res[1][k])) {
|
|
258
|
-
orderBundles[0].push(res[0][k]);
|
|
259
|
-
orderBundles[1].push(res[1][k]);
|
|
260
|
-
orderBundles[2].push(res[2][k]);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
startAfter = orderBundles[0].length;
|
|
264
|
-
moreOrders = orderBundles[1].length < totalOrders;
|
|
265
|
-
}
|
|
266
|
-
return orderBundles;
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Total number of limit orders for this symbol, excluding those that have been cancelled/removed.
|
|
270
|
-
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
271
|
-
* @example
|
|
272
|
-
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
273
|
-
* async function main() {
|
|
274
|
-
* console.log(OrderExecutorTool);
|
|
275
|
-
* // setup (authentication required, PK is an environment variable with a private key)
|
|
276
|
-
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
277
|
-
* const pk: string = <string>process.env.PK;
|
|
278
|
-
* let orderTool = new OrderExecutorTool(config, pk);
|
|
279
|
-
* await orderTool.createProxyInstance();
|
|
280
|
-
* // get all open orders
|
|
281
|
-
* let numberOfOrders = await orderTool.numberOfOpenOrders("ETH-USD-MATIC");
|
|
282
|
-
* console.log(numberOfOrders);
|
|
283
|
-
* }
|
|
284
|
-
* main();
|
|
285
|
-
*
|
|
286
|
-
* @returns {number} Number of open orders.
|
|
287
|
-
*/
|
|
288
|
-
async numberOfOpenOrders(symbol, overrides) {
|
|
289
|
-
if (this.proxyContract == null) {
|
|
290
|
-
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
291
|
-
}
|
|
292
|
-
let rpcURL;
|
|
293
|
-
if (overrides) {
|
|
294
|
-
({ rpcURL, ...overrides } = overrides);
|
|
295
|
-
}
|
|
296
|
-
const provider = new providers_1.StaticJsonRpcProvider(rpcURL ?? this.nodeURL);
|
|
297
|
-
const orderBookSC = this.getOrderBookContract(symbol).connect(provider);
|
|
298
|
-
let numOrders = await orderBookSC.orderCount(overrides || {});
|
|
299
|
-
return Number(numOrders);
|
|
300
|
-
}
|
|
301
224
|
/**
|
|
302
225
|
* Get order from the digest (=id)
|
|
303
226
|
* @param symbol symbol of order book, e.g. ETH-USD-MATIC
|
|
@@ -329,74 +252,6 @@ class OrderExecutorTool extends writeAccessHandler_1.default {
|
|
|
329
252
|
let order = OrderExecutorTool.fromSmartContractOrder(smartContractOrder, this.symbolToPerpStaticInfo);
|
|
330
253
|
return order;
|
|
331
254
|
}
|
|
332
|
-
/**
|
|
333
|
-
* Get a list of active conditional orders in the order book.
|
|
334
|
-
* This a read-only action and does not incur in gas costs.
|
|
335
|
-
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
336
|
-
* @param {number} numElements Maximum number of orders to poll.
|
|
337
|
-
* @param {string=} startAfter Optional order ID from where to start polling. Defaults to the first order.
|
|
338
|
-
* @example
|
|
339
|
-
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
340
|
-
* async function main() {
|
|
341
|
-
* console.log(OrderExecutorTool);
|
|
342
|
-
* // setup (authentication required, PK is an environment variable with a private key)
|
|
343
|
-
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
344
|
-
* const pk: string = <string>process.env.PK;
|
|
345
|
-
* let orderTool = new OrderExecutorTool(config, pk);
|
|
346
|
-
* await orderTool.createProxyInstance();
|
|
347
|
-
* // get all open orders
|
|
348
|
-
* let activeOrders = await orderTool.pollLimitOrders("ETH-USD-MATIC", 2);
|
|
349
|
-
* console.log(activeOrders);
|
|
350
|
-
* }
|
|
351
|
-
* main();
|
|
352
|
-
*
|
|
353
|
-
* @returns Array of orders and corresponding order IDs
|
|
354
|
-
*/
|
|
355
|
-
async pollLimitOrders(symbol, numElements, startAfter, overrides) {
|
|
356
|
-
if (this.proxyContract == null) {
|
|
357
|
-
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
358
|
-
}
|
|
359
|
-
let rpcURL;
|
|
360
|
-
if (overrides) {
|
|
361
|
-
({ rpcURL, ...overrides } = overrides);
|
|
362
|
-
}
|
|
363
|
-
const provider = new providers_1.StaticJsonRpcProvider(rpcURL ?? this.nodeURL);
|
|
364
|
-
const orderBookSC = this.getOrderBookContract(symbol).connect(provider);
|
|
365
|
-
const multicall = contracts_1.Multicall3__factory.connect(this.config.multicall ?? constants_2.MULTICALL_ADDRESS, provider);
|
|
366
|
-
if (typeof startAfter === "undefined") {
|
|
367
|
-
startAfter = constants_2.ZERO_ORDER_ID;
|
|
368
|
-
}
|
|
369
|
-
else if (typeof startAfter === "string") {
|
|
370
|
-
startAfter = 0; // TODO: fix
|
|
371
|
-
}
|
|
372
|
-
// first get client orders (incl. dependency info)
|
|
373
|
-
let [orders, orderIds] = await orderBookSC.pollRange(startAfter, bignumber_1.BigNumber.from(numElements), overrides || {});
|
|
374
|
-
let userFriendlyOrders = new Array();
|
|
375
|
-
let traderAddr = [];
|
|
376
|
-
let orderIdsOut = [];
|
|
377
|
-
let k = 0;
|
|
378
|
-
while (k < numElements && k < orders.length && orders[k].traderAddr !== constants_2.ZERO_ADDRESS) {
|
|
379
|
-
userFriendlyOrders.push(writeAccessHandler_1.default.fromClientOrder(orders[k], this.symbolToPerpStaticInfo));
|
|
380
|
-
orderIdsOut.push(orderIds[k]);
|
|
381
|
-
traderAddr.push(orders[k].traderAddr);
|
|
382
|
-
k++;
|
|
383
|
-
}
|
|
384
|
-
// then get perp orders (incl. submitted ts info)
|
|
385
|
-
const multicalls = orderIdsOut.map((id) => ({
|
|
386
|
-
target: orderBookSC.address,
|
|
387
|
-
allowFailure: true,
|
|
388
|
-
callData: orderBookSC.interface.encodeFunctionData("orderOfDigest", [id]),
|
|
389
|
-
}));
|
|
390
|
-
const encodedResults = await multicall.callStatic.aggregate3(multicalls, overrides || {});
|
|
391
|
-
// order status
|
|
392
|
-
encodedResults.map((res, k) => {
|
|
393
|
-
if (res.success) {
|
|
394
|
-
const order = orderBookSC.interface.decodeFunctionResult("orderOfDigest", res.returnData);
|
|
395
|
-
userFriendlyOrders[k].submittedTimestamp = Number(order.submittedTimestamp);
|
|
396
|
-
}
|
|
397
|
-
});
|
|
398
|
-
return [userFriendlyOrders, orderIdsOut, traderAddr];
|
|
399
|
-
}
|
|
400
255
|
/**
|
|
401
256
|
* Check if a conditional order can be executed
|
|
402
257
|
* @param order order structure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderExecutorTool.js","sourceRoot":"","sources":["../../src/orderExecutorTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orderExecutorTool.js","sourceRoot":"","sources":["../../src/orderExecutorTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -201,6 +201,76 @@ export default class PerpetualDataHandler {
|
|
|
201
201
|
* @returns A Margin account
|
|
202
202
|
*/
|
|
203
203
|
static getMarginAccount(traderAddr: string, symbol: string, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, _proxyContract: Contract, _pxS2S3: [number, number], overrides?: CallOverrides): Promise<MarginAccount>;
|
|
204
|
+
/**
|
|
205
|
+
* All the orders in the order book for a given symbol that are currently open.
|
|
206
|
+
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
207
|
+
* @example
|
|
208
|
+
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
209
|
+
* async function main() {
|
|
210
|
+
* console.log(OrderExecutorTool);
|
|
211
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
212
|
+
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
213
|
+
* const pk: string = <string>process.env.PK;
|
|
214
|
+
* let orderTool = new OrderExecutorTool(config, pk);
|
|
215
|
+
* await orderTool.createProxyInstance();
|
|
216
|
+
* // get all open orders
|
|
217
|
+
* let openOrders = await orderTool.getAllOpenOrders("ETH-USD-MATIC");
|
|
218
|
+
* console.log(openOrders);
|
|
219
|
+
* }
|
|
220
|
+
* main();
|
|
221
|
+
*
|
|
222
|
+
* @returns Array with all open orders and their IDs.
|
|
223
|
+
*/
|
|
224
|
+
getAllOpenOrders(symbol: string, overrides?: CallOverrides): Promise<[Order[], string[], string[]]>;
|
|
225
|
+
/**
|
|
226
|
+
* Total number of limit orders for this symbol, excluding those that have been cancelled/removed.
|
|
227
|
+
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
228
|
+
* @example
|
|
229
|
+
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
230
|
+
* async function main() {
|
|
231
|
+
* console.log(OrderExecutorTool);
|
|
232
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
233
|
+
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
234
|
+
* const pk: string = <string>process.env.PK;
|
|
235
|
+
* let orderTool = new OrderExecutorTool(config, pk);
|
|
236
|
+
* await orderTool.createProxyInstance();
|
|
237
|
+
* // get all open orders
|
|
238
|
+
* let numberOfOrders = await orderTool.numberOfOpenOrders("ETH-USD-MATIC");
|
|
239
|
+
* console.log(numberOfOrders);
|
|
240
|
+
* }
|
|
241
|
+
* main();
|
|
242
|
+
*
|
|
243
|
+
* @returns {number} Number of open orders.
|
|
244
|
+
*/
|
|
245
|
+
numberOfOpenOrders(symbol: string, overrides?: CallOverrides & {
|
|
246
|
+
rpcURL?: string;
|
|
247
|
+
}): Promise<number>;
|
|
248
|
+
/**
|
|
249
|
+
* Get a list of active conditional orders in the order book.
|
|
250
|
+
* This a read-only action and does not incur in gas costs.
|
|
251
|
+
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
252
|
+
* @param {number} numElements Maximum number of orders to poll.
|
|
253
|
+
* @param {string=} startAfter Optional order ID from where to start polling. Defaults to the first order.
|
|
254
|
+
* @example
|
|
255
|
+
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
256
|
+
* async function main() {
|
|
257
|
+
* console.log(OrderExecutorTool);
|
|
258
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
259
|
+
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
260
|
+
* const pk: string = <string>process.env.PK;
|
|
261
|
+
* let orderTool = new OrderExecutorTool(config, pk);
|
|
262
|
+
* await orderTool.createProxyInstance();
|
|
263
|
+
* // get all open orders
|
|
264
|
+
* let activeOrders = await orderTool.pollLimitOrders("ETH-USD-MATIC", 2);
|
|
265
|
+
* console.log(activeOrders);
|
|
266
|
+
* }
|
|
267
|
+
* main();
|
|
268
|
+
*
|
|
269
|
+
* @returns Array of orders and corresponding order IDs
|
|
270
|
+
*/
|
|
271
|
+
pollLimitOrders(symbol: string, numElements: number, startAfter?: string | number, overrides?: CallOverrides & {
|
|
272
|
+
rpcURL?: string;
|
|
273
|
+
}): Promise<[Order[], string[], string[]]>;
|
|
204
274
|
/**
|
|
205
275
|
* Get trader states from the blockchain and parse into a list of human-readable margin accounts
|
|
206
276
|
* @param traderAddrs List of trader addresses
|
|
@@ -8,6 +8,7 @@ const abstract_signer_1 = require("@ethersproject/abstract-signer");
|
|
|
8
8
|
const bignumber_1 = require("@ethersproject/bignumber");
|
|
9
9
|
const constants_1 = require("@ethersproject/constants");
|
|
10
10
|
const contracts_1 = require("@ethersproject/contracts");
|
|
11
|
+
const providers_1 = require("@ethersproject/providers");
|
|
11
12
|
const constants_2 = require("./constants");
|
|
12
13
|
const contracts_2 = require("./contracts");
|
|
13
14
|
const d8XMath_1 = require("./d8XMath");
|
|
@@ -621,6 +622,151 @@ class PerpetualDataHandler {
|
|
|
621
622
|
let traderState = await _proxyContract.getTraderState(perpId, traderAddr, _pxS2S3.map((x) => (0, d8XMath_1.floatToABK64x64)(x)), overrides || {});
|
|
622
623
|
return PerpetualDataHandler.buildMarginAccountFromState(symbol, traderState, symbolToPerpStaticInfo, _pxS2S3);
|
|
623
624
|
}
|
|
625
|
+
/**
|
|
626
|
+
* All the orders in the order book for a given symbol that are currently open.
|
|
627
|
+
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
628
|
+
* @example
|
|
629
|
+
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
630
|
+
* async function main() {
|
|
631
|
+
* console.log(OrderExecutorTool);
|
|
632
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
633
|
+
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
634
|
+
* const pk: string = <string>process.env.PK;
|
|
635
|
+
* let orderTool = new OrderExecutorTool(config, pk);
|
|
636
|
+
* await orderTool.createProxyInstance();
|
|
637
|
+
* // get all open orders
|
|
638
|
+
* let openOrders = await orderTool.getAllOpenOrders("ETH-USD-MATIC");
|
|
639
|
+
* console.log(openOrders);
|
|
640
|
+
* }
|
|
641
|
+
* main();
|
|
642
|
+
*
|
|
643
|
+
* @returns Array with all open orders and their IDs.
|
|
644
|
+
*/
|
|
645
|
+
async getAllOpenOrders(symbol, overrides) {
|
|
646
|
+
const MAX_ORDERS_POLLED = 500;
|
|
647
|
+
let totalOrders = await this.numberOfOpenOrders(symbol, overrides);
|
|
648
|
+
let orderBundles = [[], [], []];
|
|
649
|
+
let moreOrders = orderBundles[1].length < totalOrders;
|
|
650
|
+
let startAfter = 0;
|
|
651
|
+
while (orderBundles[1].length < totalOrders && moreOrders) {
|
|
652
|
+
let res = await this.pollLimitOrders(symbol, MAX_ORDERS_POLLED, startAfter, overrides);
|
|
653
|
+
if (res[1].length < 1) {
|
|
654
|
+
break;
|
|
655
|
+
}
|
|
656
|
+
const curIds = new Set(orderBundles[1]);
|
|
657
|
+
for (let k = 0; k < res[0].length && res[2][k] !== constants_2.ZERO_ADDRESS; k++) {
|
|
658
|
+
if (!curIds.has(res[1][k])) {
|
|
659
|
+
orderBundles[0].push(res[0][k]);
|
|
660
|
+
orderBundles[1].push(res[1][k]);
|
|
661
|
+
orderBundles[2].push(res[2][k]);
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
startAfter = orderBundles[0].length;
|
|
665
|
+
moreOrders = orderBundles[1].length < totalOrders;
|
|
666
|
+
}
|
|
667
|
+
return orderBundles;
|
|
668
|
+
}
|
|
669
|
+
/**
|
|
670
|
+
* Total number of limit orders for this symbol, excluding those that have been cancelled/removed.
|
|
671
|
+
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
672
|
+
* @example
|
|
673
|
+
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
674
|
+
* async function main() {
|
|
675
|
+
* console.log(OrderExecutorTool);
|
|
676
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
677
|
+
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
678
|
+
* const pk: string = <string>process.env.PK;
|
|
679
|
+
* let orderTool = new OrderExecutorTool(config, pk);
|
|
680
|
+
* await orderTool.createProxyInstance();
|
|
681
|
+
* // get all open orders
|
|
682
|
+
* let numberOfOrders = await orderTool.numberOfOpenOrders("ETH-USD-MATIC");
|
|
683
|
+
* console.log(numberOfOrders);
|
|
684
|
+
* }
|
|
685
|
+
* main();
|
|
686
|
+
*
|
|
687
|
+
* @returns {number} Number of open orders.
|
|
688
|
+
*/
|
|
689
|
+
async numberOfOpenOrders(symbol, overrides) {
|
|
690
|
+
if (this.proxyContract == null) {
|
|
691
|
+
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
692
|
+
}
|
|
693
|
+
let rpcURL;
|
|
694
|
+
if (overrides) {
|
|
695
|
+
({ rpcURL, ...overrides } = overrides);
|
|
696
|
+
}
|
|
697
|
+
const provider = new providers_1.StaticJsonRpcProvider(rpcURL ?? this.nodeURL);
|
|
698
|
+
const orderBookSC = this.getOrderBookContract(symbol).connect(provider);
|
|
699
|
+
let numOrders = await orderBookSC.orderCount(overrides || {});
|
|
700
|
+
return Number(numOrders);
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* Get a list of active conditional orders in the order book.
|
|
704
|
+
* This a read-only action and does not incur in gas costs.
|
|
705
|
+
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
706
|
+
* @param {number} numElements Maximum number of orders to poll.
|
|
707
|
+
* @param {string=} startAfter Optional order ID from where to start polling. Defaults to the first order.
|
|
708
|
+
* @example
|
|
709
|
+
* import { OrderExecutorTool, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
|
|
710
|
+
* async function main() {
|
|
711
|
+
* console.log(OrderExecutorTool);
|
|
712
|
+
* // setup (authentication required, PK is an environment variable with a private key)
|
|
713
|
+
* const config = PerpetualDataHandler.readSDKConfig("cardona");
|
|
714
|
+
* const pk: string = <string>process.env.PK;
|
|
715
|
+
* let orderTool = new OrderExecutorTool(config, pk);
|
|
716
|
+
* await orderTool.createProxyInstance();
|
|
717
|
+
* // get all open orders
|
|
718
|
+
* let activeOrders = await orderTool.pollLimitOrders("ETH-USD-MATIC", 2);
|
|
719
|
+
* console.log(activeOrders);
|
|
720
|
+
* }
|
|
721
|
+
* main();
|
|
722
|
+
*
|
|
723
|
+
* @returns Array of orders and corresponding order IDs
|
|
724
|
+
*/
|
|
725
|
+
async pollLimitOrders(symbol, numElements, startAfter, overrides) {
|
|
726
|
+
if (this.proxyContract == null) {
|
|
727
|
+
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
728
|
+
}
|
|
729
|
+
let rpcURL;
|
|
730
|
+
if (overrides) {
|
|
731
|
+
({ rpcURL, ...overrides } = overrides);
|
|
732
|
+
}
|
|
733
|
+
const provider = new providers_1.StaticJsonRpcProvider(rpcURL ?? this.nodeURL);
|
|
734
|
+
const orderBookSC = this.getOrderBookContract(symbol).connect(provider);
|
|
735
|
+
const multicall = contracts_2.Multicall3__factory.connect(this.config.multicall ?? constants_2.MULTICALL_ADDRESS, provider);
|
|
736
|
+
if (typeof startAfter === "undefined") {
|
|
737
|
+
startAfter = constants_2.ZERO_ORDER_ID;
|
|
738
|
+
}
|
|
739
|
+
else if (typeof startAfter === "string") {
|
|
740
|
+
startAfter = 0; // TODO: fix
|
|
741
|
+
}
|
|
742
|
+
// first get client orders (incl. dependency info)
|
|
743
|
+
let [orders, orderIds] = await orderBookSC.pollRange(startAfter, bignumber_1.BigNumber.from(numElements), overrides || {});
|
|
744
|
+
let userFriendlyOrders = new Array();
|
|
745
|
+
let traderAddr = [];
|
|
746
|
+
let orderIdsOut = [];
|
|
747
|
+
let k = 0;
|
|
748
|
+
while (k < numElements && k < orders.length && orders[k].traderAddr !== constants_2.ZERO_ADDRESS) {
|
|
749
|
+
userFriendlyOrders.push(PerpetualDataHandler.fromClientOrder(orders[k], this.symbolToPerpStaticInfo));
|
|
750
|
+
orderIdsOut.push(orderIds[k]);
|
|
751
|
+
traderAddr.push(orders[k].traderAddr);
|
|
752
|
+
k++;
|
|
753
|
+
}
|
|
754
|
+
// then get perp orders (incl. submitted ts info)
|
|
755
|
+
const multicalls = orderIdsOut.map((id) => ({
|
|
756
|
+
target: orderBookSC.address,
|
|
757
|
+
allowFailure: true,
|
|
758
|
+
callData: orderBookSC.interface.encodeFunctionData("orderOfDigest", [id]),
|
|
759
|
+
}));
|
|
760
|
+
const encodedResults = await multicall.callStatic.aggregate3(multicalls, overrides || {});
|
|
761
|
+
// order status
|
|
762
|
+
encodedResults.map((res, k) => {
|
|
763
|
+
if (res.success) {
|
|
764
|
+
const order = orderBookSC.interface.decodeFunctionResult("orderOfDigest", res.returnData);
|
|
765
|
+
userFriendlyOrders[k].submittedTimestamp = Number(order.submittedTimestamp);
|
|
766
|
+
}
|
|
767
|
+
});
|
|
768
|
+
return [userFriendlyOrders, orderIdsOut, traderAddr];
|
|
769
|
+
}
|
|
624
770
|
/**
|
|
625
771
|
* Get trader states from the blockchain and parse into a list of human-readable margin accounts
|
|
626
772
|
* @param traderAddrs List of trader addresses
|