@d8x/perpetuals-sdk 0.8.1 → 0.8.2
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/marketData.d.ts +17 -1
- package/dist/cjs/marketData.js +108 -4
- package/dist/cjs/marketData.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/marketData.d.ts +17 -1
- package/dist/esm/marketData.js +109 -5
- package/dist/esm/marketData.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/marketData.ts +127 -5
- package/src/version.ts +1 -1
package/dist/cjs/marketData.d.ts
CHANGED
|
@@ -118,6 +118,13 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
118
118
|
* @returns open orders and order ids
|
|
119
119
|
*/
|
|
120
120
|
private _openOrdersOfPerpetual;
|
|
121
|
+
/**
|
|
122
|
+
* All open orders for a trader-address and a given perpetual symbol.
|
|
123
|
+
* @param {string} traderAddr Address of the trader for which we get the open orders.
|
|
124
|
+
* @param {string} symbol perpetual-symbol of the form ETH-USD-MATIC
|
|
125
|
+
* @returns open orders and order ids
|
|
126
|
+
*/
|
|
127
|
+
private _openOrdersOfPerpetuals;
|
|
121
128
|
/**
|
|
122
129
|
* Information about the position open by a given trader in a given perpetual contract, or
|
|
123
130
|
* for all perpetuals in a pool
|
|
@@ -154,7 +161,7 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
154
161
|
* @param {string} symbol perpetual symbol of the form ETH-USD-MATIC
|
|
155
162
|
* @returns MarginAccount struct for the trader
|
|
156
163
|
*/
|
|
157
|
-
protected
|
|
164
|
+
protected _positionRiskForTraderInPerpetuals(traderAddr: string, symbols: string[], overrides?: CallOverrides): Promise<MarginAccount[]>;
|
|
158
165
|
/**
|
|
159
166
|
* Estimates what the position risk will be if a given order is executed.
|
|
160
167
|
* @param traderAddr Address of trader
|
|
@@ -363,6 +370,15 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
363
370
|
* @ignore
|
|
364
371
|
*/
|
|
365
372
|
protected openOrdersOnOrderBook(traderAddr: string, orderBookContract: LimitOrderBook, overrides?: CallOverrides): Promise<Order[]>;
|
|
373
|
+
/**
|
|
374
|
+
* Query smart contract to get user orders and convert to user friendly order format.
|
|
375
|
+
* @param {string} traderAddr Address of trader.
|
|
376
|
+
* @param {ethers.Contract} orderBookContract Instance of order book.
|
|
377
|
+
* @returns {Order[]} Array of user friendly order struct.
|
|
378
|
+
* @ignore
|
|
379
|
+
*/
|
|
380
|
+
protected _openOrdersOnOrderBooks(traderAddr: string, orderBookContracts: LimitOrderBook[], overrides?: CallOverrides): Promise<Order[][]>;
|
|
381
|
+
protected _orderIdsOfTrader(traderAddr: string, orderBookContracts: LimitOrderBook[], overrides?: CallOverrides): Promise<string[][]>;
|
|
366
382
|
/**
|
|
367
383
|
*
|
|
368
384
|
* @param traderAddr Address of the trader
|
package/dist/cjs/marketData.js
CHANGED
|
@@ -143,10 +143,16 @@ class MarketData extends perpetualDataHandler_1.default {
|
|
|
143
143
|
// open orders requested only for given symbol
|
|
144
144
|
let resArray = [];
|
|
145
145
|
const symbols = symbol.split("-").length == 1 ? this.getPerpetualSymbolsInPool(symbol) : [symbol];
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
if (symbols.length < 1) {
|
|
147
|
+
throw new Error(`No perpetuals found for symbol ${symbol}`);
|
|
148
|
+
}
|
|
149
|
+
else if (symbols.length < 2) {
|
|
150
|
+
let res = await this._openOrdersOfPerpetual(traderAddr, symbols[0], overrides);
|
|
148
151
|
resArray.push(res);
|
|
149
152
|
}
|
|
153
|
+
else {
|
|
154
|
+
resArray = await this._openOrdersOfPerpetuals(traderAddr, symbols, overrides);
|
|
155
|
+
}
|
|
150
156
|
return resArray;
|
|
151
157
|
}
|
|
152
158
|
/**
|
|
@@ -162,6 +168,19 @@ class MarketData extends perpetualDataHandler_1.default {
|
|
|
162
168
|
const digests = await MarketData.orderIdsOfTrader(traderAddr, orderBookContract, overrides);
|
|
163
169
|
return { orders: orders, orderIds: digests };
|
|
164
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* All open orders for a trader-address and a given perpetual symbol.
|
|
173
|
+
* @param {string} traderAddr Address of the trader for which we get the open orders.
|
|
174
|
+
* @param {string} symbol perpetual-symbol of the form ETH-USD-MATIC
|
|
175
|
+
* @returns open orders and order ids
|
|
176
|
+
*/
|
|
177
|
+
async _openOrdersOfPerpetuals(traderAddr, symbols, overrides) {
|
|
178
|
+
// open orders requested only for given symbol
|
|
179
|
+
const orderBookContracts = symbols.map((symbol) => this.getOrderBookContract(symbol));
|
|
180
|
+
const orders = await this._openOrdersOnOrderBooks(traderAddr, orderBookContracts, overrides);
|
|
181
|
+
const digests = await this._orderIdsOfTrader(traderAddr, orderBookContracts, overrides);
|
|
182
|
+
return symbols.map((_symbol, i) => ({ orders: orders[i], orderIds: digests[i] }));
|
|
183
|
+
}
|
|
165
184
|
/**
|
|
166
185
|
* Information about the position open by a given trader in a given perpetual contract, or
|
|
167
186
|
* for all perpetuals in a pool
|
|
@@ -198,7 +217,7 @@ class MarketData extends perpetualDataHandler_1.default {
|
|
|
198
217
|
resArray.push(res);
|
|
199
218
|
}
|
|
200
219
|
else {
|
|
201
|
-
resArray = await this.
|
|
220
|
+
resArray = await this._positionRiskForTraderInPerpetuals(traderAddr, symbols, overrides);
|
|
202
221
|
}
|
|
203
222
|
return resArray;
|
|
204
223
|
}
|
|
@@ -219,7 +238,7 @@ class MarketData extends perpetualDataHandler_1.default {
|
|
|
219
238
|
* @param {string} symbol perpetual symbol of the form ETH-USD-MATIC
|
|
220
239
|
* @returns MarginAccount struct for the trader
|
|
221
240
|
*/
|
|
222
|
-
async
|
|
241
|
+
async _positionRiskForTraderInPerpetuals(traderAddr, symbols, overrides) {
|
|
223
242
|
let S2S3 = await Promise.all(symbols.map(async (symbol) => {
|
|
224
243
|
let obj = await this.priceFeedGetter.fetchPricesForPerpetual(symbol);
|
|
225
244
|
return [obj.idxPrices[0], obj.idxPrices[1]];
|
|
@@ -783,6 +802,91 @@ class MarketData extends perpetualDataHandler_1.default {
|
|
|
783
802
|
}
|
|
784
803
|
return userFriendlyOrders;
|
|
785
804
|
}
|
|
805
|
+
/**
|
|
806
|
+
* Query smart contract to get user orders and convert to user friendly order format.
|
|
807
|
+
* @param {string} traderAddr Address of trader.
|
|
808
|
+
* @param {ethers.Contract} orderBookContract Instance of order book.
|
|
809
|
+
* @returns {Order[]} Array of user friendly order struct.
|
|
810
|
+
* @ignore
|
|
811
|
+
*/
|
|
812
|
+
async _openOrdersOnOrderBooks(traderAddr, orderBookContracts, overrides) {
|
|
813
|
+
// eliminate empty orders and map to user friendly orders
|
|
814
|
+
const numOBs = orderBookContracts.length;
|
|
815
|
+
let userFriendlyOrders = new Array(numOBs).fill(0).map(() => new Array());
|
|
816
|
+
let haveMoreOrders = new Array(numOBs).fill(true);
|
|
817
|
+
let from = new Array(numOBs).fill(0);
|
|
818
|
+
const bulkSize = 15;
|
|
819
|
+
while (haveMoreOrders.some((x) => x)) {
|
|
820
|
+
// filter by books with some orders left
|
|
821
|
+
const contracts = orderBookContracts.filter((_c, i) => haveMoreOrders[i]);
|
|
822
|
+
// prepare calls
|
|
823
|
+
const ordersCalls = contracts.map((c, i) => ({
|
|
824
|
+
target: c.address,
|
|
825
|
+
allowFailure: true,
|
|
826
|
+
callData: c.interface.encodeFunctionData("getOrders", [traderAddr, from[i], bulkSize]),
|
|
827
|
+
}));
|
|
828
|
+
// call
|
|
829
|
+
const encodedOrders = await this.multicall.callStatic.aggregate3(ordersCalls, overrides || {});
|
|
830
|
+
// parse
|
|
831
|
+
const allOrders = encodedOrders.map(({ success, returnData }, i) => {
|
|
832
|
+
if (!success)
|
|
833
|
+
throw new Error(`Failed to get orders for order book ${contracts[i].address}`);
|
|
834
|
+
return contracts[i].interface.decodeFunctionResult("getOrders", returnData)[0];
|
|
835
|
+
});
|
|
836
|
+
// arrange
|
|
837
|
+
for (let j = 0; j < contracts.length; j++) {
|
|
838
|
+
let orders = allOrders[j].filter((o) => o.traderAddr != nodeSDKTypes_1.ZERO_ADDRESS);
|
|
839
|
+
let i = orderBookContracts.findIndex((c) => c.address == contracts[j].address);
|
|
840
|
+
let k = 0;
|
|
841
|
+
while (k < orders.length && orders[k].traderAddr != nodeSDKTypes_1.ZERO_ADDRESS) {
|
|
842
|
+
userFriendlyOrders[i].push(perpetualDataHandler_1.default.fromClientOrder(orders[k], this.symbolToPerpStaticInfo));
|
|
843
|
+
k++;
|
|
844
|
+
}
|
|
845
|
+
haveMoreOrders[i] = orders.length > 0 && orders[orders.length - 1].traderAddr != nodeSDKTypes_1.ZERO_ADDRESS;
|
|
846
|
+
from[i] = from[i] + bulkSize;
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
return userFriendlyOrders;
|
|
850
|
+
}
|
|
851
|
+
async _orderIdsOfTrader(traderAddr, orderBookContracts, overrides) {
|
|
852
|
+
// eliminate empty orders and map to user friendly orders
|
|
853
|
+
const numOBs = orderBookContracts.length;
|
|
854
|
+
let orderDigests = new Array(numOBs).fill(0).map(() => new Array());
|
|
855
|
+
let haveMoreOrders = new Array(numOBs).fill(true);
|
|
856
|
+
let from = new Array(numOBs).fill(0);
|
|
857
|
+
const bulkSize = 15;
|
|
858
|
+
while (haveMoreOrders.some((x) => x)) {
|
|
859
|
+
// filter by books with some orders left
|
|
860
|
+
const contracts = orderBookContracts.filter((_c, i) => haveMoreOrders[i]);
|
|
861
|
+
// prepare alls
|
|
862
|
+
const digestsCalls = contracts.map((c, i) => ({
|
|
863
|
+
target: c.address,
|
|
864
|
+
allowFailure: true,
|
|
865
|
+
callData: c.interface.encodeFunctionData("limitDigestsOfTrader", [traderAddr, from[i], bulkSize]),
|
|
866
|
+
}));
|
|
867
|
+
// call
|
|
868
|
+
const encodedDigests = await this.multicall.callStatic.aggregate3(digestsCalls, overrides || {});
|
|
869
|
+
// parse
|
|
870
|
+
const allDigests = encodedDigests.map(({ success, returnData }, i) => {
|
|
871
|
+
if (!success)
|
|
872
|
+
throw new Error(`Failed to get orders for order book ${contracts[i].address}`);
|
|
873
|
+
return contracts[i].interface.decodeFunctionResult("limitDigestsOfTrader", returnData)[0];
|
|
874
|
+
});
|
|
875
|
+
// arrange
|
|
876
|
+
for (let j = 0; j < contracts.length; j++) {
|
|
877
|
+
let digests = allDigests[j].filter((d) => d != nodeSDKTypes_1.ZERO_ORDER_ID);
|
|
878
|
+
let i = orderBookContracts.findIndex((c) => c.address == contracts[j].address);
|
|
879
|
+
let k = 0;
|
|
880
|
+
while (k < digests.length && digests[k] != nodeSDKTypes_1.ZERO_ORDER_ID) {
|
|
881
|
+
orderDigests[i].push(digests[k]);
|
|
882
|
+
k++;
|
|
883
|
+
}
|
|
884
|
+
haveMoreOrders[i] = digests.length > 0 && digests[digests.length - 1] != nodeSDKTypes_1.ZERO_ORDER_ID;
|
|
885
|
+
from[i] = from[i] + bulkSize;
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
return orderDigests;
|
|
889
|
+
}
|
|
786
890
|
/**
|
|
787
891
|
*
|
|
788
892
|
* @param traderAddr Address of the trader
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const D8X_SDK_VERSION = "0.8.
|
|
1
|
+
export declare const D8X_SDK_VERSION = "0.8.2";
|
package/dist/cjs/version.js
CHANGED
package/dist/esm/marketData.d.ts
CHANGED
|
@@ -118,6 +118,13 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
118
118
|
* @returns open orders and order ids
|
|
119
119
|
*/
|
|
120
120
|
private _openOrdersOfPerpetual;
|
|
121
|
+
/**
|
|
122
|
+
* All open orders for a trader-address and a given perpetual symbol.
|
|
123
|
+
* @param {string} traderAddr Address of the trader for which we get the open orders.
|
|
124
|
+
* @param {string} symbol perpetual-symbol of the form ETH-USD-MATIC
|
|
125
|
+
* @returns open orders and order ids
|
|
126
|
+
*/
|
|
127
|
+
private _openOrdersOfPerpetuals;
|
|
121
128
|
/**
|
|
122
129
|
* Information about the position open by a given trader in a given perpetual contract, or
|
|
123
130
|
* for all perpetuals in a pool
|
|
@@ -154,7 +161,7 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
154
161
|
* @param {string} symbol perpetual symbol of the form ETH-USD-MATIC
|
|
155
162
|
* @returns MarginAccount struct for the trader
|
|
156
163
|
*/
|
|
157
|
-
protected
|
|
164
|
+
protected _positionRiskForTraderInPerpetuals(traderAddr: string, symbols: string[], overrides?: CallOverrides): Promise<MarginAccount[]>;
|
|
158
165
|
/**
|
|
159
166
|
* Estimates what the position risk will be if a given order is executed.
|
|
160
167
|
* @param traderAddr Address of trader
|
|
@@ -363,6 +370,15 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
363
370
|
* @ignore
|
|
364
371
|
*/
|
|
365
372
|
protected openOrdersOnOrderBook(traderAddr: string, orderBookContract: LimitOrderBook, overrides?: CallOverrides): Promise<Order[]>;
|
|
373
|
+
/**
|
|
374
|
+
* Query smart contract to get user orders and convert to user friendly order format.
|
|
375
|
+
* @param {string} traderAddr Address of trader.
|
|
376
|
+
* @param {ethers.Contract} orderBookContract Instance of order book.
|
|
377
|
+
* @returns {Order[]} Array of user friendly order struct.
|
|
378
|
+
* @ignore
|
|
379
|
+
*/
|
|
380
|
+
protected _openOrdersOnOrderBooks(traderAddr: string, orderBookContracts: LimitOrderBook[], overrides?: CallOverrides): Promise<Order[][]>;
|
|
381
|
+
protected _orderIdsOfTrader(traderAddr: string, orderBookContracts: LimitOrderBook[], overrides?: CallOverrides): Promise<string[][]>;
|
|
366
382
|
/**
|
|
367
383
|
*
|
|
368
384
|
* @param traderAddr Address of the trader
|
package/dist/esm/marketData.js
CHANGED
|
@@ -3,7 +3,7 @@ import { StaticJsonRpcProvider } from "@ethersproject/providers";
|
|
|
3
3
|
import { formatUnits } from "@ethersproject/units";
|
|
4
4
|
import { ERC20__factory } from "./contracts";
|
|
5
5
|
import { ABK64x64ToFloat, calculateLiquidationPriceCollateralBase, calculateLiquidationPriceCollateralQuanto, calculateLiquidationPriceCollateralQuote, floatToABK64x64, getDepositAmountForLvgTrade, dec18ToFloat, } from "./d8XMath";
|
|
6
|
-
import { BUY_SIDE, CLOSED_SIDE, COLLATERAL_CURRENCY_BASE, COLLATERAL_CURRENCY_QUANTO, CollaterlCCY, PERP_STATE_STR, SELL_SIDE, ZERO_ADDRESS, } from "./nodeSDKTypes";
|
|
6
|
+
import { BUY_SIDE, CLOSED_SIDE, COLLATERAL_CURRENCY_BASE, COLLATERAL_CURRENCY_QUANTO, CollaterlCCY, PERP_STATE_STR, SELL_SIDE, ZERO_ADDRESS, ZERO_ORDER_ID, } from "./nodeSDKTypes";
|
|
7
7
|
import PerpetualDataHandler from "./perpetualDataHandler";
|
|
8
8
|
import { contractSymbolToSymbol, toBytes4 } from "./utils";
|
|
9
9
|
/**
|
|
@@ -140,10 +140,16 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
140
140
|
// open orders requested only for given symbol
|
|
141
141
|
let resArray = [];
|
|
142
142
|
const symbols = symbol.split("-").length == 1 ? this.getPerpetualSymbolsInPool(symbol) : [symbol];
|
|
143
|
-
|
|
144
|
-
|
|
143
|
+
if (symbols.length < 1) {
|
|
144
|
+
throw new Error(`No perpetuals found for symbol ${symbol}`);
|
|
145
|
+
}
|
|
146
|
+
else if (symbols.length < 2) {
|
|
147
|
+
let res = await this._openOrdersOfPerpetual(traderAddr, symbols[0], overrides);
|
|
145
148
|
resArray.push(res);
|
|
146
149
|
}
|
|
150
|
+
else {
|
|
151
|
+
resArray = await this._openOrdersOfPerpetuals(traderAddr, symbols, overrides);
|
|
152
|
+
}
|
|
147
153
|
return resArray;
|
|
148
154
|
}
|
|
149
155
|
/**
|
|
@@ -159,6 +165,19 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
159
165
|
const digests = await MarketData.orderIdsOfTrader(traderAddr, orderBookContract, overrides);
|
|
160
166
|
return { orders: orders, orderIds: digests };
|
|
161
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* All open orders for a trader-address and a given perpetual symbol.
|
|
170
|
+
* @param {string} traderAddr Address of the trader for which we get the open orders.
|
|
171
|
+
* @param {string} symbol perpetual-symbol of the form ETH-USD-MATIC
|
|
172
|
+
* @returns open orders and order ids
|
|
173
|
+
*/
|
|
174
|
+
async _openOrdersOfPerpetuals(traderAddr, symbols, overrides) {
|
|
175
|
+
// open orders requested only for given symbol
|
|
176
|
+
const orderBookContracts = symbols.map((symbol) => this.getOrderBookContract(symbol));
|
|
177
|
+
const orders = await this._openOrdersOnOrderBooks(traderAddr, orderBookContracts, overrides);
|
|
178
|
+
const digests = await this._orderIdsOfTrader(traderAddr, orderBookContracts, overrides);
|
|
179
|
+
return symbols.map((_symbol, i) => ({ orders: orders[i], orderIds: digests[i] }));
|
|
180
|
+
}
|
|
162
181
|
/**
|
|
163
182
|
* Information about the position open by a given trader in a given perpetual contract, or
|
|
164
183
|
* for all perpetuals in a pool
|
|
@@ -195,7 +214,7 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
195
214
|
resArray.push(res);
|
|
196
215
|
}
|
|
197
216
|
else {
|
|
198
|
-
resArray = await this.
|
|
217
|
+
resArray = await this._positionRiskForTraderInPerpetuals(traderAddr, symbols, overrides);
|
|
199
218
|
}
|
|
200
219
|
return resArray;
|
|
201
220
|
}
|
|
@@ -216,7 +235,7 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
216
235
|
* @param {string} symbol perpetual symbol of the form ETH-USD-MATIC
|
|
217
236
|
* @returns MarginAccount struct for the trader
|
|
218
237
|
*/
|
|
219
|
-
async
|
|
238
|
+
async _positionRiskForTraderInPerpetuals(traderAddr, symbols, overrides) {
|
|
220
239
|
let S2S3 = await Promise.all(symbols.map(async (symbol) => {
|
|
221
240
|
let obj = await this.priceFeedGetter.fetchPricesForPerpetual(symbol);
|
|
222
241
|
return [obj.idxPrices[0], obj.idxPrices[1]];
|
|
@@ -780,6 +799,91 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
780
799
|
}
|
|
781
800
|
return userFriendlyOrders;
|
|
782
801
|
}
|
|
802
|
+
/**
|
|
803
|
+
* Query smart contract to get user orders and convert to user friendly order format.
|
|
804
|
+
* @param {string} traderAddr Address of trader.
|
|
805
|
+
* @param {ethers.Contract} orderBookContract Instance of order book.
|
|
806
|
+
* @returns {Order[]} Array of user friendly order struct.
|
|
807
|
+
* @ignore
|
|
808
|
+
*/
|
|
809
|
+
async _openOrdersOnOrderBooks(traderAddr, orderBookContracts, overrides) {
|
|
810
|
+
// eliminate empty orders and map to user friendly orders
|
|
811
|
+
const numOBs = orderBookContracts.length;
|
|
812
|
+
let userFriendlyOrders = new Array(numOBs).fill(0).map(() => new Array());
|
|
813
|
+
let haveMoreOrders = new Array(numOBs).fill(true);
|
|
814
|
+
let from = new Array(numOBs).fill(0);
|
|
815
|
+
const bulkSize = 15;
|
|
816
|
+
while (haveMoreOrders.some((x) => x)) {
|
|
817
|
+
// filter by books with some orders left
|
|
818
|
+
const contracts = orderBookContracts.filter((_c, i) => haveMoreOrders[i]);
|
|
819
|
+
// prepare calls
|
|
820
|
+
const ordersCalls = contracts.map((c, i) => ({
|
|
821
|
+
target: c.address,
|
|
822
|
+
allowFailure: true,
|
|
823
|
+
callData: c.interface.encodeFunctionData("getOrders", [traderAddr, from[i], bulkSize]),
|
|
824
|
+
}));
|
|
825
|
+
// call
|
|
826
|
+
const encodedOrders = await this.multicall.callStatic.aggregate3(ordersCalls, overrides || {});
|
|
827
|
+
// parse
|
|
828
|
+
const allOrders = encodedOrders.map(({ success, returnData }, i) => {
|
|
829
|
+
if (!success)
|
|
830
|
+
throw new Error(`Failed to get orders for order book ${contracts[i].address}`);
|
|
831
|
+
return contracts[i].interface.decodeFunctionResult("getOrders", returnData)[0];
|
|
832
|
+
});
|
|
833
|
+
// arrange
|
|
834
|
+
for (let j = 0; j < contracts.length; j++) {
|
|
835
|
+
let orders = allOrders[j].filter((o) => o.traderAddr != ZERO_ADDRESS);
|
|
836
|
+
let i = orderBookContracts.findIndex((c) => c.address == contracts[j].address);
|
|
837
|
+
let k = 0;
|
|
838
|
+
while (k < orders.length && orders[k].traderAddr != ZERO_ADDRESS) {
|
|
839
|
+
userFriendlyOrders[i].push(PerpetualDataHandler.fromClientOrder(orders[k], this.symbolToPerpStaticInfo));
|
|
840
|
+
k++;
|
|
841
|
+
}
|
|
842
|
+
haveMoreOrders[i] = orders.length > 0 && orders[orders.length - 1].traderAddr != ZERO_ADDRESS;
|
|
843
|
+
from[i] = from[i] + bulkSize;
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
return userFriendlyOrders;
|
|
847
|
+
}
|
|
848
|
+
async _orderIdsOfTrader(traderAddr, orderBookContracts, overrides) {
|
|
849
|
+
// eliminate empty orders and map to user friendly orders
|
|
850
|
+
const numOBs = orderBookContracts.length;
|
|
851
|
+
let orderDigests = new Array(numOBs).fill(0).map(() => new Array());
|
|
852
|
+
let haveMoreOrders = new Array(numOBs).fill(true);
|
|
853
|
+
let from = new Array(numOBs).fill(0);
|
|
854
|
+
const bulkSize = 15;
|
|
855
|
+
while (haveMoreOrders.some((x) => x)) {
|
|
856
|
+
// filter by books with some orders left
|
|
857
|
+
const contracts = orderBookContracts.filter((_c, i) => haveMoreOrders[i]);
|
|
858
|
+
// prepare alls
|
|
859
|
+
const digestsCalls = contracts.map((c, i) => ({
|
|
860
|
+
target: c.address,
|
|
861
|
+
allowFailure: true,
|
|
862
|
+
callData: c.interface.encodeFunctionData("limitDigestsOfTrader", [traderAddr, from[i], bulkSize]),
|
|
863
|
+
}));
|
|
864
|
+
// call
|
|
865
|
+
const encodedDigests = await this.multicall.callStatic.aggregate3(digestsCalls, overrides || {});
|
|
866
|
+
// parse
|
|
867
|
+
const allDigests = encodedDigests.map(({ success, returnData }, i) => {
|
|
868
|
+
if (!success)
|
|
869
|
+
throw new Error(`Failed to get orders for order book ${contracts[i].address}`);
|
|
870
|
+
return contracts[i].interface.decodeFunctionResult("limitDigestsOfTrader", returnData)[0];
|
|
871
|
+
});
|
|
872
|
+
// arrange
|
|
873
|
+
for (let j = 0; j < contracts.length; j++) {
|
|
874
|
+
let digests = allDigests[j].filter((d) => d != ZERO_ORDER_ID);
|
|
875
|
+
let i = orderBookContracts.findIndex((c) => c.address == contracts[j].address);
|
|
876
|
+
let k = 0;
|
|
877
|
+
while (k < digests.length && digests[k] != ZERO_ORDER_ID) {
|
|
878
|
+
orderDigests[i].push(digests[k]);
|
|
879
|
+
k++;
|
|
880
|
+
}
|
|
881
|
+
haveMoreOrders[i] = digests.length > 0 && digests[digests.length - 1] != ZERO_ORDER_ID;
|
|
882
|
+
from[i] = from[i] + bulkSize;
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
return orderDigests;
|
|
886
|
+
}
|
|
783
887
|
/**
|
|
784
888
|
*
|
|
785
889
|
* @param traderAddr Address of the trader
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const D8X_SDK_VERSION = "0.8.
|
|
1
|
+
export declare const D8X_SDK_VERSION = "0.8.2";
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const D8X_SDK_VERSION = "0.8.
|
|
1
|
+
export const D8X_SDK_VERSION = "0.8.2";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
package/src/marketData.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { BigNumber } from "@ethersproject/bignumber";
|
|
|
2
2
|
import { CallOverrides, Contract } from "@ethersproject/contracts";
|
|
3
3
|
import { Provider, StaticJsonRpcProvider } from "@ethersproject/providers";
|
|
4
4
|
import { formatUnits } from "@ethersproject/units";
|
|
5
|
-
import { ERC20__factory, LimitOrderBook } from "./contracts";
|
|
5
|
+
import { ERC20__factory, LimitOrderBook, Multicall3 } from "./contracts";
|
|
6
6
|
import { IClientOrder } from "./contracts/LimitOrderBook";
|
|
7
7
|
import {
|
|
8
8
|
ABK64x64ToFloat,
|
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
SELL_SIDE,
|
|
34
34
|
SmartContractOrder,
|
|
35
35
|
ZERO_ADDRESS,
|
|
36
|
+
ZERO_ORDER_ID,
|
|
36
37
|
} from "./nodeSDKTypes";
|
|
37
38
|
import PerpetualDataHandler from "./perpetualDataHandler";
|
|
38
39
|
import PriceFeeds from "./priceFeeds";
|
|
@@ -190,9 +191,13 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
190
191
|
// open orders requested only for given symbol
|
|
191
192
|
let resArray: Array<{ orders: Order[]; orderIds: string[] }> = [];
|
|
192
193
|
const symbols = symbol.split("-").length == 1 ? this.getPerpetualSymbolsInPool(symbol) : [symbol];
|
|
193
|
-
|
|
194
|
-
|
|
194
|
+
if (symbols.length < 1) {
|
|
195
|
+
throw new Error(`No perpetuals found for symbol ${symbol}`);
|
|
196
|
+
} else if (symbols.length < 2) {
|
|
197
|
+
let res = await this._openOrdersOfPerpetual(traderAddr, symbols[0], overrides);
|
|
195
198
|
resArray.push(res!);
|
|
199
|
+
} else {
|
|
200
|
+
resArray = await this._openOrdersOfPerpetuals(traderAddr, symbols, overrides);
|
|
196
201
|
}
|
|
197
202
|
return resArray;
|
|
198
203
|
}
|
|
@@ -215,6 +220,24 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
215
220
|
return { orders: orders, orderIds: digests };
|
|
216
221
|
}
|
|
217
222
|
|
|
223
|
+
/**
|
|
224
|
+
* All open orders for a trader-address and a given perpetual symbol.
|
|
225
|
+
* @param {string} traderAddr Address of the trader for which we get the open orders.
|
|
226
|
+
* @param {string} symbol perpetual-symbol of the form ETH-USD-MATIC
|
|
227
|
+
* @returns open orders and order ids
|
|
228
|
+
*/
|
|
229
|
+
private async _openOrdersOfPerpetuals(
|
|
230
|
+
traderAddr: string,
|
|
231
|
+
symbols: string[],
|
|
232
|
+
overrides?: CallOverrides
|
|
233
|
+
): Promise<{ orders: Order[]; orderIds: string[] }[]> {
|
|
234
|
+
// open orders requested only for given symbol
|
|
235
|
+
const orderBookContracts = symbols.map((symbol) => this.getOrderBookContract(symbol));
|
|
236
|
+
const orders = await this._openOrdersOnOrderBooks(traderAddr, orderBookContracts, overrides);
|
|
237
|
+
const digests = await this._orderIdsOfTrader(traderAddr, orderBookContracts, overrides);
|
|
238
|
+
return symbols.map((_symbol, i) => ({ orders: orders[i], orderIds: digests[i] }));
|
|
239
|
+
}
|
|
240
|
+
|
|
218
241
|
/**
|
|
219
242
|
* Information about the position open by a given trader in a given perpetual contract, or
|
|
220
243
|
* for all perpetuals in a pool
|
|
@@ -249,7 +272,7 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
249
272
|
let res = await this._positionRiskForTraderInPerpetual(traderAddr, symbols[0], overrides);
|
|
250
273
|
resArray.push(res!);
|
|
251
274
|
} else {
|
|
252
|
-
resArray = await this.
|
|
275
|
+
resArray = await this._positionRiskForTraderInPerpetuals(traderAddr, symbols, overrides);
|
|
253
276
|
}
|
|
254
277
|
return resArray;
|
|
255
278
|
}
|
|
@@ -283,7 +306,7 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
283
306
|
* @param {string} symbol perpetual symbol of the form ETH-USD-MATIC
|
|
284
307
|
* @returns MarginAccount struct for the trader
|
|
285
308
|
*/
|
|
286
|
-
protected async
|
|
309
|
+
protected async _positionRiskForTraderInPerpetuals(
|
|
287
310
|
traderAddr: string,
|
|
288
311
|
symbols: string[],
|
|
289
312
|
overrides?: CallOverrides
|
|
@@ -1004,6 +1027,105 @@ export default class MarketData extends PerpetualDataHandler {
|
|
|
1004
1027
|
return userFriendlyOrders;
|
|
1005
1028
|
}
|
|
1006
1029
|
|
|
1030
|
+
/**
|
|
1031
|
+
* Query smart contract to get user orders and convert to user friendly order format.
|
|
1032
|
+
* @param {string} traderAddr Address of trader.
|
|
1033
|
+
* @param {ethers.Contract} orderBookContract Instance of order book.
|
|
1034
|
+
* @returns {Order[]} Array of user friendly order struct.
|
|
1035
|
+
* @ignore
|
|
1036
|
+
*/
|
|
1037
|
+
protected async _openOrdersOnOrderBooks(
|
|
1038
|
+
traderAddr: string,
|
|
1039
|
+
orderBookContracts: LimitOrderBook[],
|
|
1040
|
+
overrides?: CallOverrides
|
|
1041
|
+
): Promise<Order[][]> {
|
|
1042
|
+
// eliminate empty orders and map to user friendly orders
|
|
1043
|
+
const numOBs = orderBookContracts.length;
|
|
1044
|
+
|
|
1045
|
+
let userFriendlyOrders = new Array(numOBs).fill(0).map(() => new Array<Order>());
|
|
1046
|
+
|
|
1047
|
+
let haveMoreOrders = new Array(numOBs).fill(true);
|
|
1048
|
+
let from = new Array(numOBs).fill(0);
|
|
1049
|
+
const bulkSize = 15;
|
|
1050
|
+
|
|
1051
|
+
while (haveMoreOrders.some((x) => x)) {
|
|
1052
|
+
// filter by books with some orders left
|
|
1053
|
+
const contracts = orderBookContracts.filter((_c, i) => haveMoreOrders[i]);
|
|
1054
|
+
// prepare calls
|
|
1055
|
+
const ordersCalls: Multicall3.Call3Struct[] = contracts.map((c, i) => ({
|
|
1056
|
+
target: c.address,
|
|
1057
|
+
allowFailure: true,
|
|
1058
|
+
callData: c.interface.encodeFunctionData("getOrders", [traderAddr, from[i], bulkSize]),
|
|
1059
|
+
}));
|
|
1060
|
+
// call
|
|
1061
|
+
const encodedOrders = await this.multicall!.callStatic.aggregate3(ordersCalls, overrides || {});
|
|
1062
|
+
// parse
|
|
1063
|
+
const allOrders: IClientOrder.ClientOrderStructOutput[][] = encodedOrders.map(({ success, returnData }, i) => {
|
|
1064
|
+
if (!success) throw new Error(`Failed to get orders for order book ${contracts[i].address}`);
|
|
1065
|
+
return contracts[i].interface.decodeFunctionResult("getOrders", returnData)[0];
|
|
1066
|
+
});
|
|
1067
|
+
// arrange
|
|
1068
|
+
for (let j = 0; j < contracts.length; j++) {
|
|
1069
|
+
let orders = allOrders[j].filter((o) => o.traderAddr != ZERO_ADDRESS);
|
|
1070
|
+
let i = orderBookContracts.findIndex((c) => c.address == contracts[j].address);
|
|
1071
|
+
let k = 0;
|
|
1072
|
+
while (k < orders.length && orders[k].traderAddr != ZERO_ADDRESS) {
|
|
1073
|
+
userFriendlyOrders[i].push(PerpetualDataHandler.fromClientOrder(orders[k], this.symbolToPerpStaticInfo));
|
|
1074
|
+
k++;
|
|
1075
|
+
}
|
|
1076
|
+
haveMoreOrders[i] = orders.length > 0 && orders[orders.length - 1].traderAddr != ZERO_ADDRESS;
|
|
1077
|
+
from[i] = from[i] + bulkSize;
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
return userFriendlyOrders;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
protected async _orderIdsOfTrader(
|
|
1084
|
+
traderAddr: string,
|
|
1085
|
+
orderBookContracts: LimitOrderBook[],
|
|
1086
|
+
overrides?: CallOverrides
|
|
1087
|
+
): Promise<string[][]> {
|
|
1088
|
+
// eliminate empty orders and map to user friendly orders
|
|
1089
|
+
const numOBs = orderBookContracts.length;
|
|
1090
|
+
|
|
1091
|
+
let orderDigests = new Array(numOBs).fill(0).map(() => new Array<string>());
|
|
1092
|
+
|
|
1093
|
+
let haveMoreOrders = new Array(numOBs).fill(true);
|
|
1094
|
+
let from = new Array(numOBs).fill(0);
|
|
1095
|
+
const bulkSize = 15;
|
|
1096
|
+
|
|
1097
|
+
while (haveMoreOrders.some((x) => x)) {
|
|
1098
|
+
// filter by books with some orders left
|
|
1099
|
+
const contracts = orderBookContracts.filter((_c, i) => haveMoreOrders[i]);
|
|
1100
|
+
// prepare alls
|
|
1101
|
+
const digestsCalls: Multicall3.Call3Struct[] = contracts.map((c, i) => ({
|
|
1102
|
+
target: c.address,
|
|
1103
|
+
allowFailure: true,
|
|
1104
|
+
callData: c.interface.encodeFunctionData("limitDigestsOfTrader", [traderAddr, from[i], bulkSize]),
|
|
1105
|
+
}));
|
|
1106
|
+
// call
|
|
1107
|
+
const encodedDigests = await this.multicall!.callStatic.aggregate3(digestsCalls, overrides || {});
|
|
1108
|
+
// parse
|
|
1109
|
+
const allDigests: string[][] = encodedDigests.map(({ success, returnData }, i) => {
|
|
1110
|
+
if (!success) throw new Error(`Failed to get orders for order book ${contracts[i].address}`);
|
|
1111
|
+
return contracts[i].interface.decodeFunctionResult("limitDigestsOfTrader", returnData)[0];
|
|
1112
|
+
});
|
|
1113
|
+
// arrange
|
|
1114
|
+
for (let j = 0; j < contracts.length; j++) {
|
|
1115
|
+
let digests = allDigests[j].filter((d) => d != ZERO_ORDER_ID);
|
|
1116
|
+
let i = orderBookContracts.findIndex((c) => c.address == contracts[j].address);
|
|
1117
|
+
let k = 0;
|
|
1118
|
+
while (k < digests.length && digests[k] != ZERO_ORDER_ID) {
|
|
1119
|
+
orderDigests[i].push(digests[k]);
|
|
1120
|
+
k++;
|
|
1121
|
+
}
|
|
1122
|
+
haveMoreOrders[i] = digests.length > 0 && digests[digests.length - 1] != ZERO_ORDER_ID;
|
|
1123
|
+
from[i] = from[i] + bulkSize;
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
return orderDigests;
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1007
1129
|
/**
|
|
1008
1130
|
*
|
|
1009
1131
|
* @param traderAddr Address of the trader
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const D8X_SDK_VERSION = "0.8.
|
|
1
|
+
export const D8X_SDK_VERSION = "0.8.2";
|