@d8x/perpetuals-sdk 0.6.0 → 0.6.3
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/accountTrade.d.ts +11 -10
- package/dist/cjs/accountTrade.js +51 -45
- package/dist/cjs/accountTrade.js.map +1 -1
- package/dist/cjs/brokerTool.d.ts +14 -12
- package/dist/cjs/brokerTool.js +51 -28
- package/dist/cjs/brokerTool.js.map +1 -1
- package/dist/cjs/config/defaultConfig.json +20 -19
- package/dist/cjs/contracts/ERC20.d.ts +194 -0
- package/dist/cjs/contracts/ERC20.js +3 -0
- package/dist/cjs/contracts/ERC20.js.map +1 -0
- package/dist/cjs/contracts/IPerpetualManager.d.ts +3012 -0
- package/dist/cjs/contracts/IPerpetualManager.js +3 -0
- package/dist/cjs/contracts/IPerpetualManager.js.map +1 -0
- package/dist/cjs/contracts/LimitOrderBook.d.ts +560 -0
- package/dist/cjs/contracts/LimitOrderBook.js +3 -0
- package/dist/cjs/contracts/LimitOrderBook.js.map +1 -0
- package/dist/cjs/contracts/LimitOrderBookFactory.d.ts +152 -0
- package/dist/cjs/contracts/LimitOrderBookFactory.js +3 -0
- package/dist/cjs/contracts/LimitOrderBookFactory.js.map +1 -0
- package/dist/cjs/contracts/MockTokenSwap.d.ts +194 -0
- package/dist/cjs/contracts/MockTokenSwap.js +3 -0
- package/dist/cjs/contracts/MockTokenSwap.js.map +1 -0
- package/dist/cjs/contracts/ShareToken.d.ts +320 -0
- package/dist/cjs/contracts/ShareToken.js +3 -0
- package/dist/cjs/contracts/ShareToken.js.map +1 -0
- package/dist/cjs/contracts/common.d.ts +21 -0
- package/dist/cjs/contracts/common.js +3 -0
- package/dist/cjs/contracts/common.js.map +1 -0
- package/dist/cjs/contracts/factories/ERC20__factory.d.ts +226 -0
- package/dist/cjs/contracts/factories/ERC20__factory.js +309 -0
- package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +4599 -0
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +5909 -0
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.d.ts +131 -0
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +182 -0
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.d.ts +830 -0
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +1083 -0
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.d.ts +153 -0
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +207 -0
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/ShareToken__factory.d.ts +336 -0
- package/dist/cjs/contracts/factories/ShareToken__factory.js +449 -0
- package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/index.d.ts +6 -0
- package/dist/cjs/contracts/factories/index.js +19 -0
- package/dist/cjs/contracts/factories/index.js.map +1 -0
- package/dist/cjs/contracts/index.d.ts +13 -0
- package/dist/cjs/contracts/index.js +18 -0
- package/dist/cjs/contracts/index.js.map +1 -0
- package/dist/cjs/liquidatorTool.d.ts +7 -7
- package/dist/cjs/liquidatorTool.js +17 -16
- package/dist/cjs/liquidatorTool.js.map +1 -1
- package/dist/cjs/liquidityProviderTool.d.ts +4 -4
- package/dist/cjs/liquidityProviderTool.js +6 -12
- package/dist/cjs/liquidityProviderTool.js.map +1 -1
- package/dist/cjs/marketData.d.ts +30 -22
- package/dist/cjs/marketData.js +86 -76
- package/dist/cjs/marketData.js.map +1 -1
- package/dist/cjs/nodeSDKTypes.d.ts +6 -6
- package/dist/cjs/orderReferrerTool.d.ts +10 -10
- package/dist/cjs/orderReferrerTool.js +106 -103
- package/dist/cjs/orderReferrerTool.js.map +1 -1
- package/dist/cjs/perpetualDataHandler.d.ts +17 -14
- package/dist/cjs/perpetualDataHandler.js +36 -36
- package/dist/cjs/perpetualDataHandler.js.map +1 -1
- package/dist/cjs/traderDigests.d.ts +2 -2
- package/dist/cjs/traderDigests.js +38 -49
- package/dist/cjs/traderDigests.js.map +1 -1
- package/dist/cjs/traderInterface.d.ts +5 -4
- package/dist/cjs/traderInterface.js +12 -24
- package/dist/cjs/traderInterface.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +2 -2
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/writeAccessHandler.d.ts +5 -5
- package/dist/cjs/writeAccessHandler.js +13 -12
- package/dist/cjs/writeAccessHandler.js.map +1 -1
- package/dist/esm/accountTrade.d.ts +11 -10
- package/dist/esm/accountTrade.js +52 -46
- package/dist/esm/accountTrade.js.map +1 -1
- package/dist/esm/brokerTool.d.ts +14 -12
- package/dist/esm/brokerTool.js +51 -28
- package/dist/esm/brokerTool.js.map +1 -1
- package/dist/esm/config/defaultConfig.json +20 -19
- package/dist/esm/contracts/ERC20.d.ts +194 -0
- package/dist/esm/contracts/ERC20.js +2 -0
- package/dist/esm/contracts/ERC20.js.map +1 -0
- package/dist/esm/contracts/IPerpetualManager.d.ts +3012 -0
- package/dist/esm/contracts/IPerpetualManager.js +2 -0
- package/dist/esm/contracts/IPerpetualManager.js.map +1 -0
- package/dist/esm/contracts/LimitOrderBook.d.ts +560 -0
- package/dist/esm/contracts/LimitOrderBook.js +2 -0
- package/dist/esm/contracts/LimitOrderBook.js.map +1 -0
- package/dist/esm/contracts/LimitOrderBookFactory.d.ts +152 -0
- package/dist/esm/contracts/LimitOrderBookFactory.js +2 -0
- package/dist/esm/contracts/LimitOrderBookFactory.js.map +1 -0
- package/dist/esm/contracts/MockTokenSwap.d.ts +194 -0
- package/dist/esm/contracts/MockTokenSwap.js +2 -0
- package/dist/esm/contracts/MockTokenSwap.js.map +1 -0
- package/dist/esm/contracts/ShareToken.d.ts +320 -0
- package/dist/esm/contracts/ShareToken.js +2 -0
- package/dist/esm/contracts/ShareToken.js.map +1 -0
- package/dist/esm/contracts/common.d.ts +21 -0
- package/dist/esm/contracts/common.js +2 -0
- package/dist/esm/contracts/common.js.map +1 -0
- package/dist/esm/contracts/factories/ERC20__factory.d.ts +226 -0
- package/dist/esm/contracts/factories/ERC20__factory.js +306 -0
- package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -0
- package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +4599 -0
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js +5906 -0
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -0
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.d.ts +131 -0
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +179 -0
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -0
- package/dist/esm/contracts/factories/LimitOrderBook__factory.d.ts +830 -0
- package/dist/esm/contracts/factories/LimitOrderBook__factory.js +1080 -0
- package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -0
- package/dist/esm/contracts/factories/MockTokenSwap__factory.d.ts +153 -0
- package/dist/esm/contracts/factories/MockTokenSwap__factory.js +204 -0
- package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -0
- package/dist/esm/contracts/factories/ShareToken__factory.d.ts +336 -0
- package/dist/esm/contracts/factories/ShareToken__factory.js +446 -0
- package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -0
- package/dist/esm/contracts/factories/index.d.ts +6 -0
- package/dist/esm/contracts/factories/index.js +10 -0
- package/dist/esm/contracts/factories/index.js.map +1 -0
- package/dist/esm/contracts/index.d.ts +13 -0
- package/dist/esm/contracts/index.js +8 -0
- package/dist/esm/contracts/index.js.map +1 -0
- package/dist/esm/liquidatorTool.d.ts +7 -7
- package/dist/esm/liquidatorTool.js +18 -17
- package/dist/esm/liquidatorTool.js.map +1 -1
- package/dist/esm/liquidityProviderTool.d.ts +4 -4
- package/dist/esm/liquidityProviderTool.js +6 -12
- package/dist/esm/liquidityProviderTool.js.map +1 -1
- package/dist/esm/marketData.d.ts +30 -22
- package/dist/esm/marketData.js +87 -77
- package/dist/esm/marketData.js.map +1 -1
- package/dist/esm/nodeSDKTypes.d.ts +6 -6
- package/dist/esm/orderReferrerTool.d.ts +10 -10
- package/dist/esm/orderReferrerTool.js +107 -104
- package/dist/esm/orderReferrerTool.js.map +1 -1
- package/dist/esm/perpetualDataHandler.d.ts +17 -14
- package/dist/esm/perpetualDataHandler.js +36 -36
- package/dist/esm/perpetualDataHandler.js.map +1 -1
- package/dist/esm/traderDigests.d.ts +2 -2
- package/dist/esm/traderDigests.js +38 -49
- package/dist/esm/traderDigests.js.map +1 -1
- package/dist/esm/traderInterface.d.ts +5 -4
- package/dist/esm/traderInterface.js +12 -24
- package/dist/esm/traderInterface.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/writeAccessHandler.d.ts +5 -5
- package/dist/esm/writeAccessHandler.js +15 -14
- package/dist/esm/writeAccessHandler.js.map +1 -1
- package/doc/d8x-perpetuals-sdk.md +27 -0
- package/doc/marketData.md +13 -0
- package/package.json +7 -4
- package/dist/cjs/abi/testnet/IPerpetualManager.json +0 -5918
- package/dist/cjs/abi/testnet/v7/IPerpetualManager.json +0 -5918
- package/dist/cjs/abi/testnet/v8/LimitOrderBook.json +0 -1062
- package/dist/cjs/abi/testnet/v8/LimitOrderBookFactory.json +0 -161
- package/dist/cjs/abi/testnet/v8/ShareToken.json +0 -428
- package/dist/cjs/abi/zkevmTestnet/IPerpetualManager.json +0 -5773
- package/dist/cjs/abi/zkevmTestnet/LimitOrderBook.json +0 -1075
- package/dist/cjs/abi/zkevmTestnet/LimitOrderBookFactory.json +0 -135
- package/dist/cjs/abi/zkevmTestnet/ShareToken.json +0 -428
- package/dist/esm/abi/testnet/IPerpetualManager.json +0 -5918
- package/dist/esm/abi/testnet/LimitOrderBook.json +0 -1062
- package/dist/esm/abi/testnet/LimitOrderBookFactory.json +0 -161
- package/dist/esm/abi/testnet/ShareToken.json +0 -428
- package/dist/esm/abi/testnet/v7/IPerpetualManager.json +0 -5918
- package/dist/esm/abi/testnet/v7/LimitOrderBook.json +0 -1062
- package/dist/esm/abi/testnet/v7/LimitOrderBookFactory.json +0 -161
- package/dist/esm/abi/testnet/v7/ShareToken.json +0 -428
- package/dist/esm/abi/testnet/v8/LimitOrderBook.json +0 -1062
- package/dist/esm/abi/testnet/v8/LimitOrderBookFactory.json +0 -161
- package/dist/esm/abi/testnet/v8/ShareToken.json +0 -428
- package/dist/esm/abi/zkevmTestnet/IPerpetualManager.json +0 -5773
- package/dist/esm/abi/zkevmTestnet/LimitOrderBook.json +0 -1075
- package/dist/esm/abi/zkevmTestnet/LimitOrderBookFactory.json +0 -135
- package/dist/esm/abi/zkevmTestnet/ShareToken.json +0 -428
- /package/dist/cjs/abi/{testnet/v8/IPerpetualManager.json → IPerpetualManager.json} +0 -0
- /package/dist/cjs/abi/{testnet/LimitOrderBook.json → LimitOrderBook.json} +0 -0
- /package/dist/cjs/abi/{testnet/LimitOrderBookFactory.json → LimitOrderBookFactory.json} +0 -0
- /package/dist/cjs/abi/{testnet/ShareToken.json → ShareToken.json} +0 -0
- /package/dist/esm/abi/{testnet/v8/IPerpetualManager.json → IPerpetualManager.json} +0 -0
- /package/dist/{cjs/abi/testnet/v7 → esm/abi}/LimitOrderBook.json +0 -0
- /package/dist/{cjs/abi/testnet/v7 → esm/abi}/LimitOrderBookFactory.json +0 -0
- /package/dist/{cjs/abi/testnet/v7 → esm/abi}/ShareToken.json +0 -0
package/dist/cjs/marketData.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
var bignumber_1 = require("@ethersproject/bignumber");
|
|
5
|
-
var contracts_1 = require("@ethersproject/contracts");
|
|
6
5
|
var providers_1 = require("@ethersproject/providers");
|
|
6
|
+
var units_1 = require("@ethersproject/units");
|
|
7
|
+
var contracts_1 = require("./contracts");
|
|
7
8
|
var d8XMath_1 = require("./d8XMath");
|
|
8
9
|
var nodeSDKTypes_1 = require("./nodeSDKTypes");
|
|
9
10
|
var perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
|
|
@@ -43,7 +44,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
43
44
|
* about perpetual currencies
|
|
44
45
|
* @param provider optional provider
|
|
45
46
|
*/
|
|
46
|
-
MarketData.prototype.createProxyInstance = function (provider) {
|
|
47
|
+
MarketData.prototype.createProxyInstance = function (provider, overrides) {
|
|
47
48
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
48
49
|
return tslib_1.__generator(this, function (_a) {
|
|
49
50
|
switch (_a.label) {
|
|
@@ -54,7 +55,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
54
55
|
else {
|
|
55
56
|
this.provider = provider;
|
|
56
57
|
}
|
|
57
|
-
return [4 /*yield*/, this.initContractsAndData(this.provider)];
|
|
58
|
+
return [4 /*yield*/, this.initContractsAndData(this.provider, overrides)];
|
|
58
59
|
case 1:
|
|
59
60
|
_a.sent();
|
|
60
61
|
return [2 /*return*/];
|
|
@@ -122,7 +123,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
122
123
|
*
|
|
123
124
|
* @returns {ExchangeInfo} Array of static data for all the pools and perpetuals in the system.
|
|
124
125
|
*/
|
|
125
|
-
MarketData.prototype.exchangeInfo = function () {
|
|
126
|
+
MarketData.prototype.exchangeInfo = function (overrides) {
|
|
126
127
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
127
128
|
return tslib_1.__generator(this, function (_a) {
|
|
128
129
|
switch (_a.label) {
|
|
@@ -130,7 +131,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
130
131
|
if (this.proxyContract == null) {
|
|
131
132
|
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
132
133
|
}
|
|
133
|
-
return [4 /*yield*/, MarketData._exchangeInfo(this.proxyContract, this.poolStaticInfos, this.symbolToPerpStaticInfo, this.perpetualIdToSymbol, this.nestedPerpetualIDs, this.symbolList, this.priceFeedGetter)];
|
|
134
|
+
return [4 /*yield*/, MarketData._exchangeInfo(this.proxyContract, this.poolStaticInfos, this.symbolToPerpStaticInfo, this.perpetualIdToSymbol, this.nestedPerpetualIDs, this.symbolList, this.priceFeedGetter, overrides)];
|
|
134
135
|
case 1: return [2 /*return*/, _a.sent()];
|
|
135
136
|
}
|
|
136
137
|
});
|
|
@@ -157,7 +158,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
157
158
|
*
|
|
158
159
|
* @returns For each perpetual an array of open orders and corresponding order-ids.
|
|
159
160
|
*/
|
|
160
|
-
MarketData.prototype.openOrders = function (traderAddr, symbol) {
|
|
161
|
+
MarketData.prototype.openOrders = function (traderAddr, symbol, overrides) {
|
|
161
162
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
162
163
|
var resArray, symbols, prom, k, p, res;
|
|
163
164
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -168,14 +169,14 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
168
169
|
symbols = this.getPerpetualSymbolsInPool(symbol);
|
|
169
170
|
prom = [];
|
|
170
171
|
for (k = 0; k < symbols.length; k++) {
|
|
171
|
-
p = this._openOrdersOfPerpetual(traderAddr, symbols[k]);
|
|
172
|
+
p = this._openOrdersOfPerpetual(traderAddr, symbols[k], overrides);
|
|
172
173
|
prom.push(p);
|
|
173
174
|
}
|
|
174
175
|
return [4 /*yield*/, Promise.all(prom)];
|
|
175
176
|
case 1:
|
|
176
177
|
resArray = _a.sent();
|
|
177
178
|
return [3 /*break*/, 4];
|
|
178
|
-
case 2: return [4 /*yield*/, this._openOrdersOfPerpetual(traderAddr, symbol)];
|
|
179
|
+
case 2: return [4 /*yield*/, this._openOrdersOfPerpetual(traderAddr, symbol, overrides)];
|
|
179
180
|
case 3:
|
|
180
181
|
res = _a.sent();
|
|
181
182
|
resArray.push(res);
|
|
@@ -191,7 +192,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
191
192
|
* @param {string} symbol perpetual-symbol of the form ETH-USD-MATIC
|
|
192
193
|
* @returns open orders and order ids
|
|
193
194
|
*/
|
|
194
|
-
MarketData.prototype._openOrdersOfPerpetual = function (traderAddr, symbol) {
|
|
195
|
+
MarketData.prototype._openOrdersOfPerpetual = function (traderAddr, symbol, overrides) {
|
|
195
196
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
196
197
|
var orderBookContract, _a, orders, digests;
|
|
197
198
|
return tslib_1.__generator(this, function (_b) {
|
|
@@ -199,8 +200,8 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
199
200
|
case 0:
|
|
200
201
|
orderBookContract = this.getOrderBookContract(symbol);
|
|
201
202
|
return [4 /*yield*/, Promise.all([
|
|
202
|
-
this.openOrdersOnOrderBook(traderAddr, orderBookContract),
|
|
203
|
-
MarketData.orderIdsOfTrader(traderAddr, orderBookContract),
|
|
203
|
+
this.openOrdersOnOrderBook(traderAddr, orderBookContract, overrides),
|
|
204
|
+
MarketData.orderIdsOfTrader(traderAddr, orderBookContract, overrides),
|
|
204
205
|
])];
|
|
205
206
|
case 1:
|
|
206
207
|
_a = tslib_1.__read.apply(void 0, [_b.sent(), 2]), orders = _a[0], digests = _a[1];
|
|
@@ -231,7 +232,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
231
232
|
*
|
|
232
233
|
* @returns {MarginAccount[]} Array of position risks of trader.
|
|
233
234
|
*/
|
|
234
|
-
MarketData.prototype.positionRisk = function (traderAddr, symbol) {
|
|
235
|
+
MarketData.prototype.positionRisk = function (traderAddr, symbol, overrides) {
|
|
235
236
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
236
237
|
var resArray, symbols, prom, k, p, res;
|
|
237
238
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -245,14 +246,14 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
245
246
|
symbols = this.getPerpetualSymbolsInPool(symbol);
|
|
246
247
|
prom = [];
|
|
247
248
|
for (k = 0; k < symbols.length; k++) {
|
|
248
|
-
p = this._positionRiskForTraderInPerpetual(traderAddr, symbols[k]);
|
|
249
|
+
p = this._positionRiskForTraderInPerpetual(traderAddr, symbols[k], overrides);
|
|
249
250
|
prom.push(p);
|
|
250
251
|
}
|
|
251
252
|
return [4 /*yield*/, Promise.all(prom)];
|
|
252
253
|
case 1:
|
|
253
254
|
resArray = _a.sent();
|
|
254
255
|
return [3 /*break*/, 4];
|
|
255
|
-
case 2: return [4 /*yield*/, this._positionRiskForTraderInPerpetual(traderAddr, symbol)];
|
|
256
|
+
case 2: return [4 /*yield*/, this._positionRiskForTraderInPerpetual(traderAddr, symbol, overrides)];
|
|
256
257
|
case 3:
|
|
257
258
|
res = _a.sent();
|
|
258
259
|
resArray.push(res);
|
|
@@ -268,7 +269,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
268
269
|
* @param {string} symbol perpetual symbol of the form ETH-USD-MATIC
|
|
269
270
|
* @returns MarginAccount struct for the trader
|
|
270
271
|
*/
|
|
271
|
-
MarketData.prototype._positionRiskForTraderInPerpetual = function (traderAddr, symbol) {
|
|
272
|
+
MarketData.prototype._positionRiskForTraderInPerpetual = function (traderAddr, symbol, overrides) {
|
|
272
273
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
273
274
|
var obj, mgnAcct;
|
|
274
275
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -276,7 +277,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
276
277
|
case 0: return [4 /*yield*/, this.priceFeedGetter.fetchPricesForPerpetual(symbol)];
|
|
277
278
|
case 1:
|
|
278
279
|
obj = _a.sent();
|
|
279
|
-
return [4 /*yield*/, perpetualDataHandler_1.default.getMarginAccount(traderAddr, symbol, this.symbolToPerpStaticInfo, this.proxyContract, [obj.idxPrices[0], obj.idxPrices[1]])];
|
|
280
|
+
return [4 /*yield*/, perpetualDataHandler_1.default.getMarginAccount(traderAddr, symbol, this.symbolToPerpStaticInfo, this.proxyContract, [obj.idxPrices[0], obj.idxPrices[1]], overrides)];
|
|
280
281
|
case 2:
|
|
281
282
|
mgnAcct = _a.sent();
|
|
282
283
|
return [2 /*return*/, mgnAcct];
|
|
@@ -292,7 +293,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
292
293
|
* @param indexPriceInfo Index prices and market status (open/closed)
|
|
293
294
|
* @returns Position risk after trade
|
|
294
295
|
*/
|
|
295
|
-
MarketData.prototype.positionRiskOnTrade = function (traderAddr, order, account, indexPriceInfo) {
|
|
296
|
+
MarketData.prototype.positionRiskOnTrade = function (traderAddr, order, account, indexPriceInfo, overrides) {
|
|
296
297
|
var _a, _b, _c, _d, _e;
|
|
297
298
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
298
299
|
var obj, lotSizeBC, perpetualState, _f, S2, S3, Sm, currentMarginCashCC, currentPositionBC, currentLockedInQC, tradeAmountBC, newPositionBC, newSide, tradePrice, _g, poolId, exchangeFeeTbps, exchangeFeeCC, brokerFeeCC, referralFeeCC, isClose, isOpen, isFlip, keepPositionLvgOnClose, traderDepositCC, targetLvg, initialMarginRate, _h, b0, pos0, deltaCashCC, deltaLockedQC, pnl, newLockedInValueQC, newMarginCashCC, newEntryPrice, newMarginBalanceCC, newLeverage, _j, S2Liq, S3Liq, tau, newPositionRisk;
|
|
@@ -303,7 +304,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
303
304
|
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
304
305
|
}
|
|
305
306
|
if (!(account == undefined)) return [3 /*break*/, 2];
|
|
306
|
-
return [4 /*yield*/, this.positionRisk(traderAddr, order.symbol)];
|
|
307
|
+
return [4 /*yield*/, this.positionRisk(traderAddr, order.symbol, overrides)];
|
|
307
308
|
case 1:
|
|
308
309
|
account = (_k.sent())[0];
|
|
309
310
|
_k.label = 2;
|
|
@@ -320,7 +321,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
320
321
|
if (Math.abs(order.quantity) < lotSizeBC) {
|
|
321
322
|
return [2 /*return*/, { newPositionRisk: account, orderCost: 0 }];
|
|
322
323
|
}
|
|
323
|
-
return [4 /*yield*/, this.getPerpetualState(order.symbol, indexPriceInfo)];
|
|
324
|
+
return [4 /*yield*/, this.getPerpetualState(order.symbol, indexPriceInfo, overrides)];
|
|
324
325
|
case 5:
|
|
325
326
|
perpetualState = _k.sent();
|
|
326
327
|
_f = tslib_1.__read([perpetualState.indexPrice, perpetualState.collToQuoteIndexPrice, perpetualState.markPrice], 3), S2 = _f[0], S3 = _f[1], Sm = _f[2];
|
|
@@ -338,14 +339,14 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
338
339
|
if (!((_a = order.limitPrice) !== null && _a !== void 0)) return [3 /*break*/, 6];
|
|
339
340
|
_g = _a;
|
|
340
341
|
return [3 /*break*/, 8];
|
|
341
|
-
case 6: return [4 /*yield*/, this.getPerpetualPrice(order.symbol, tradeAmountBC)];
|
|
342
|
+
case 6: return [4 /*yield*/, this.getPerpetualPrice(order.symbol, tradeAmountBC, [indexPriceInfo[0], indexPriceInfo[1]], overrides)];
|
|
342
343
|
case 7:
|
|
343
344
|
_g = (_k.sent());
|
|
344
345
|
_k.label = 8;
|
|
345
346
|
case 8:
|
|
346
347
|
tradePrice = _g;
|
|
347
348
|
poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(order.symbol, this.poolStaticInfos);
|
|
348
|
-
return [4 /*yield*/, this.proxyContract.queryExchangeFee(poolId, traderAddr, (_b = order.brokerAddr) !== null && _b !== void 0 ? _b : nodeSDKTypes_1.ZERO_ADDRESS)];
|
|
349
|
+
return [4 /*yield*/, this.proxyContract.queryExchangeFee(poolId, traderAddr, (_b = order.brokerAddr) !== null && _b !== void 0 ? _b : nodeSDKTypes_1.ZERO_ADDRESS, overrides || {})];
|
|
349
350
|
case 9:
|
|
350
351
|
exchangeFeeTbps = _k.sent();
|
|
351
352
|
exchangeFeeCC = (Math.abs(tradeAmountBC) * exchangeFeeTbps * 1e-5 * S2) / S3;
|
|
@@ -412,7 +413,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
412
413
|
* @param currentPositionRisk Position risk before
|
|
413
414
|
* @returns {MarginAccount} Position risk after
|
|
414
415
|
*/
|
|
415
|
-
MarketData.prototype.positionRiskOnCollateralAction = function (deltaCollateral, account, indexPriceInfo) {
|
|
416
|
+
MarketData.prototype.positionRiskOnCollateralAction = function (deltaCollateral, account, indexPriceInfo, overrides) {
|
|
416
417
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
417
418
|
var obj, perpetualState, _a, S2, S3, Sm, positionBC, lockedInQC, newMarginCashCC, newMarginBalanceCC, newLeverage, _b, S2Liq, S3Liq, tau, newPositionRisk;
|
|
418
419
|
return tslib_1.__generator(this, function (_c) {
|
|
@@ -430,7 +431,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
430
431
|
obj = _c.sent();
|
|
431
432
|
indexPriceInfo = [obj.idxPrices[0], obj.idxPrices[1], obj.mktClosed[0], obj.mktClosed[1]];
|
|
432
433
|
_c.label = 2;
|
|
433
|
-
case 2: return [4 /*yield*/, this.getPerpetualState(account.symbol, indexPriceInfo)];
|
|
434
|
+
case 2: return [4 /*yield*/, this.getPerpetualState(account.symbol, indexPriceInfo, overrides)];
|
|
434
435
|
case 3:
|
|
435
436
|
perpetualState = _c.sent();
|
|
436
437
|
_a = tslib_1.__read([perpetualState.indexPrice, perpetualState.collToQuoteIndexPrice, perpetualState.markPrice], 3), S2 = _a[0], S3 = _a[1], Sm = _a[2];
|
|
@@ -518,19 +519,22 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
518
519
|
* @param symbol Symbol of the form ETH-USD-MATIC.
|
|
519
520
|
* @returns Balance
|
|
520
521
|
*/
|
|
521
|
-
MarketData.prototype.getWalletBalance = function (address, symbol) {
|
|
522
|
+
MarketData.prototype.getWalletBalance = function (address, symbol, overrides) {
|
|
522
523
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
523
|
-
var poolIdx, marginTokenAddr, token,
|
|
524
|
+
var poolIdx, marginTokenAddr, token, walletBalance, decimals;
|
|
524
525
|
return tslib_1.__generator(this, function (_a) {
|
|
525
526
|
switch (_a.label) {
|
|
526
527
|
case 0:
|
|
527
528
|
poolIdx = this.getPoolStaticInfoIndexFromSymbol(symbol);
|
|
528
529
|
marginTokenAddr = this.poolStaticInfos[poolIdx].poolMarginTokenAddr;
|
|
529
|
-
token =
|
|
530
|
-
return [4 /*yield*/, token.balanceOf(address)];
|
|
530
|
+
token = contracts_1.ERC20__factory.connect(marginTokenAddr, this.provider);
|
|
531
|
+
return [4 /*yield*/, token.balanceOf(address, overrides || {})];
|
|
531
532
|
case 1:
|
|
532
|
-
|
|
533
|
-
return [
|
|
533
|
+
walletBalance = _a.sent();
|
|
534
|
+
return [4 /*yield*/, token.decimals(overrides || {})];
|
|
535
|
+
case 2:
|
|
536
|
+
decimals = _a.sent();
|
|
537
|
+
return [2 /*return*/, Number((0, units_1.formatUnits)(walletBalance, decimals))];
|
|
534
538
|
}
|
|
535
539
|
});
|
|
536
540
|
});
|
|
@@ -540,12 +544,12 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
540
544
|
* @param address address of the liquidity provider
|
|
541
545
|
* @param symbolOrId Symbol of the form ETH-USD-MATIC, or MATIC (collateral only), or Pool-Id
|
|
542
546
|
*/
|
|
543
|
-
MarketData.prototype.getPoolShareTokenBalance = function (address, symbolOrId) {
|
|
547
|
+
MarketData.prototype.getPoolShareTokenBalance = function (address, symbolOrId, overrides) {
|
|
544
548
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
545
549
|
var poolId;
|
|
546
550
|
return tslib_1.__generator(this, function (_a) {
|
|
547
551
|
poolId = this._poolSymbolOrIdToPoolId(symbolOrId);
|
|
548
|
-
return [2 /*return*/, this._getPoolShareTokenBalanceFromId(address, poolId)];
|
|
552
|
+
return [2 /*return*/, this._getPoolShareTokenBalanceFromId(address, poolId, overrides)];
|
|
549
553
|
});
|
|
550
554
|
});
|
|
551
555
|
};
|
|
@@ -555,15 +559,15 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
555
559
|
* @param poolId pool id
|
|
556
560
|
* @returns pool share token balance of address
|
|
557
561
|
*/
|
|
558
|
-
MarketData.prototype._getPoolShareTokenBalanceFromId = function (address, poolId) {
|
|
562
|
+
MarketData.prototype._getPoolShareTokenBalanceFromId = function (address, poolId, overrides) {
|
|
559
563
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
560
564
|
var shareTokenAddr, shareToken, d18ShareTokenBalanceOfAddr;
|
|
561
565
|
return tslib_1.__generator(this, function (_a) {
|
|
562
566
|
switch (_a.label) {
|
|
563
567
|
case 0:
|
|
564
568
|
shareTokenAddr = this.poolStaticInfos[poolId - 1].shareTokenAddr;
|
|
565
|
-
shareToken =
|
|
566
|
-
return [4 /*yield*/, shareToken.balanceOf(address)];
|
|
569
|
+
shareToken = contracts_1.ERC20__factory.connect(shareTokenAddr, this.provider);
|
|
570
|
+
return [4 /*yield*/, shareToken.balanceOf(address, overrides || {})];
|
|
567
571
|
case 1:
|
|
568
572
|
d18ShareTokenBalanceOfAddr = _a.sent();
|
|
569
573
|
return [2 /*return*/, (0, d8XMath_1.dec18ToFloat)(d18ShareTokenBalanceOfAddr)];
|
|
@@ -576,14 +580,14 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
576
580
|
* @param symbolOrId symbol of the form ETH-USD-MATIC, MATIC (collateral), or poolId
|
|
577
581
|
* @returns current pool share token price in collateral currency
|
|
578
582
|
*/
|
|
579
|
-
MarketData.prototype.getShareTokenPrice = function (symbolOrId) {
|
|
583
|
+
MarketData.prototype.getShareTokenPrice = function (symbolOrId, overrides) {
|
|
580
584
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
581
585
|
var poolId, priceDec18, price;
|
|
582
586
|
return tslib_1.__generator(this, function (_a) {
|
|
583
587
|
switch (_a.label) {
|
|
584
588
|
case 0:
|
|
585
589
|
poolId = this._poolSymbolOrIdToPoolId(symbolOrId);
|
|
586
|
-
return [4 /*yield*/, this.proxyContract.getShareTokenPriceD18(poolId)];
|
|
590
|
+
return [4 /*yield*/, this.proxyContract.getShareTokenPriceD18(poolId, overrides || {})];
|
|
587
591
|
case 1:
|
|
588
592
|
priceDec18 = _a.sent();
|
|
589
593
|
price = (0, d8XMath_1.dec18ToFloat)(priceDec18);
|
|
@@ -612,17 +616,17 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
612
616
|
* main();
|
|
613
617
|
* @returns the value (in collateral tokens) of the pool share, #share tokens, shareTokenAddress
|
|
614
618
|
*/
|
|
615
|
-
MarketData.prototype.getParticipationValue = function (address, symbolOrId) {
|
|
619
|
+
MarketData.prototype.getParticipationValue = function (address, symbolOrId, overrides) {
|
|
616
620
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
617
621
|
var poolId, shareTokens, priceDec18, price, value, shareTokenAddr;
|
|
618
622
|
return tslib_1.__generator(this, function (_a) {
|
|
619
623
|
switch (_a.label) {
|
|
620
624
|
case 0:
|
|
621
625
|
poolId = this._poolSymbolOrIdToPoolId(symbolOrId);
|
|
622
|
-
return [4 /*yield*/, this._getPoolShareTokenBalanceFromId(address, poolId)];
|
|
626
|
+
return [4 /*yield*/, this._getPoolShareTokenBalanceFromId(address, poolId, overrides)];
|
|
623
627
|
case 1:
|
|
624
628
|
shareTokens = _a.sent();
|
|
625
|
-
return [4 /*yield*/, this.proxyContract.getShareTokenPriceD18(poolId)];
|
|
629
|
+
return [4 /*yield*/, this.proxyContract.getShareTokenPriceD18(poolId, overrides || {})];
|
|
626
630
|
case 2:
|
|
627
631
|
priceDec18 = _a.sent();
|
|
628
632
|
price = (0, d8XMath_1.dec18ToFloat)(priceDec18);
|
|
@@ -658,7 +662,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
658
662
|
* @param positionRisk Current position risk (as seen in positionRisk)
|
|
659
663
|
* @returns Maximal trade size, not signed
|
|
660
664
|
*/
|
|
661
|
-
MarketData.prototype.maxOrderSizeForTrader = function (side, positionRisk) {
|
|
665
|
+
MarketData.prototype.maxOrderSizeForTrader = function (side, positionRisk, overrides) {
|
|
662
666
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
663
667
|
var curPosition, perpId, perpMaxPositionABK;
|
|
664
668
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -666,7 +670,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
666
670
|
case 0:
|
|
667
671
|
curPosition = side == nodeSDKTypes_1.BUY_SIDE ? positionRisk.positionNotionalBaseCCY : -positionRisk.positionNotionalBaseCCY;
|
|
668
672
|
perpId = this.getPerpIdFromSymbol(positionRisk.symbol);
|
|
669
|
-
return [4 /*yield*/, this.proxyContract.getMaxSignedOpenTradeSizeForPos(perpId, (0, d8XMath_1.floatToABK64x64)(curPosition), side == nodeSDKTypes_1.BUY_SIDE)];
|
|
673
|
+
return [4 /*yield*/, this.proxyContract.getMaxSignedOpenTradeSizeForPos(perpId, (0, d8XMath_1.floatToABK64x64)(curPosition), side == nodeSDKTypes_1.BUY_SIDE, overrides || {})];
|
|
670
674
|
case 1:
|
|
671
675
|
perpMaxPositionABK = _a.sent();
|
|
672
676
|
return [2 /*return*/, (0, d8XMath_1.ABK64x64ToFloat)(perpMaxPositionABK.abs())];
|
|
@@ -680,7 +684,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
680
684
|
* @param symbol of the form ETH-USD-MATIC.
|
|
681
685
|
* @returns signed maximal position size in base currency
|
|
682
686
|
*/
|
|
683
|
-
MarketData.prototype.maxSignedPosition = function (side, symbol) {
|
|
687
|
+
MarketData.prototype.maxSignedPosition = function (side, symbol, overrides) {
|
|
684
688
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
685
689
|
var perpId, isBuy, maxSignedPos;
|
|
686
690
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -688,7 +692,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
688
692
|
case 0:
|
|
689
693
|
perpId = this.getPerpIdFromSymbol(symbol);
|
|
690
694
|
isBuy = side == nodeSDKTypes_1.BUY_SIDE;
|
|
691
|
-
return [4 /*yield*/, this.proxyContract.getMaxSignedOpenTradeSizeForPos(perpId, bignumber_1.BigNumber.from(0), isBuy)];
|
|
695
|
+
return [4 /*yield*/, this.proxyContract.getMaxSignedOpenTradeSizeForPos(perpId, bignumber_1.BigNumber.from(0), isBuy, overrides || {})];
|
|
692
696
|
case 1:
|
|
693
697
|
maxSignedPos = _a.sent();
|
|
694
698
|
return [2 /*return*/, (0, d8XMath_1.ABK64x64ToFloat)(maxSignedPos)];
|
|
@@ -716,16 +720,16 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
716
720
|
*
|
|
717
721
|
* @returns {number} Price of index in given currency.
|
|
718
722
|
*/
|
|
719
|
-
MarketData.prototype.getOraclePrice = function (base, quote) {
|
|
723
|
+
MarketData.prototype.getOraclePrice = function (base, quote, overrides) {
|
|
720
724
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
721
725
|
var px;
|
|
722
726
|
return tslib_1.__generator(this, function (_a) {
|
|
723
727
|
switch (_a.label) {
|
|
724
728
|
case 0:
|
|
725
|
-
if (this.proxyContract
|
|
729
|
+
if (!this.proxyContract) {
|
|
726
730
|
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
727
731
|
}
|
|
728
|
-
return [4 /*yield*/, this.proxyContract.getOraclePrice([(0, utils_1.toBytes4)(base), (0, utils_1.toBytes4)(quote)])];
|
|
732
|
+
return [4 /*yield*/, this.proxyContract.getOraclePrice([(0, utils_1.toBytes4)(base), (0, utils_1.toBytes4)(quote)], overrides || {})];
|
|
729
733
|
case 1:
|
|
730
734
|
px = _a.sent();
|
|
731
735
|
return [2 /*return*/, px == undefined ? undefined : (0, d8XMath_1.ABK64x64ToFloat)(px)];
|
|
@@ -733,18 +737,24 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
733
737
|
});
|
|
734
738
|
});
|
|
735
739
|
};
|
|
736
|
-
|
|
740
|
+
/**
|
|
741
|
+
*
|
|
742
|
+
* @param symbol Symbol of the form ETH-USD-MATIC
|
|
743
|
+
* @param orderId Order Id
|
|
744
|
+
* @param overrides
|
|
745
|
+
* @returns Order status ()
|
|
746
|
+
*/
|
|
747
|
+
MarketData.prototype.getOrderStatus = function (symbol, orderId, overrides) {
|
|
737
748
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
738
749
|
var orderBookContract, status;
|
|
739
750
|
return tslib_1.__generator(this, function (_a) {
|
|
740
751
|
switch (_a.label) {
|
|
741
752
|
case 0:
|
|
742
|
-
if (this.proxyContract
|
|
753
|
+
if (!this.proxyContract) {
|
|
743
754
|
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
744
755
|
}
|
|
745
|
-
orderBookContract = null;
|
|
746
756
|
orderBookContract = this.getOrderBookContract(symbol);
|
|
747
|
-
return [4 /*yield*/, orderBookContract.getOrderStatus(orderId)];
|
|
757
|
+
return [4 /*yield*/, orderBookContract.getOrderStatus(orderId, overrides || {})];
|
|
748
758
|
case 1:
|
|
749
759
|
status = _a.sent();
|
|
750
760
|
return [2 /*return*/, status];
|
|
@@ -812,7 +822,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
812
822
|
*
|
|
813
823
|
* @returns price (number)
|
|
814
824
|
*/
|
|
815
|
-
MarketData.prototype.getPerpetualPrice = function (symbol, quantity, indexPrices) {
|
|
825
|
+
MarketData.prototype.getPerpetualPrice = function (symbol, quantity, indexPrices, overrides) {
|
|
816
826
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
817
827
|
var obj;
|
|
818
828
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -827,7 +837,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
827
837
|
obj = _a.sent();
|
|
828
838
|
indexPrices = [obj.idxPrices[0], obj.idxPrices[1]];
|
|
829
839
|
_a.label = 2;
|
|
830
|
-
case 2: return [4 /*yield*/, perpetualDataHandler_1.default._queryPerpetualPrice(symbol, quantity, this.symbolToPerpStaticInfo, this.proxyContract, indexPrices)];
|
|
840
|
+
case 2: return [4 /*yield*/, perpetualDataHandler_1.default._queryPerpetualPrice(symbol, quantity, this.symbolToPerpStaticInfo, this.proxyContract, indexPrices, overrides)];
|
|
831
841
|
case 3: return [2 /*return*/, _a.sent()];
|
|
832
842
|
}
|
|
833
843
|
});
|
|
@@ -839,7 +849,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
839
849
|
* @param indexPrices S2 and S3 prices/isMarketOpen if not provided fetch via REST API
|
|
840
850
|
* @returns PerpetualState reference
|
|
841
851
|
*/
|
|
842
|
-
MarketData.prototype.getPerpetualState = function (symbol, indexPriceInfo) {
|
|
852
|
+
MarketData.prototype.getPerpetualState = function (symbol, indexPriceInfo, overrides) {
|
|
843
853
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
844
854
|
var obj, state;
|
|
845
855
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -854,7 +864,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
854
864
|
obj = _a.sent();
|
|
855
865
|
indexPriceInfo = [obj.idxPrices[0], obj.idxPrices[1], obj.mktClosed[0], obj.mktClosed[1]];
|
|
856
866
|
_a.label = 2;
|
|
857
|
-
case 2: return [4 /*yield*/, perpetualDataHandler_1.default._queryPerpetualState(symbol, this.symbolToPerpStaticInfo, this.proxyContract, indexPriceInfo)];
|
|
867
|
+
case 2: return [4 /*yield*/, perpetualDataHandler_1.default._queryPerpetualState(symbol, this.symbolToPerpStaticInfo, this.proxyContract, indexPriceInfo, overrides)];
|
|
858
868
|
case 3:
|
|
859
869
|
state = _a.sent();
|
|
860
870
|
return [2 /*return*/, state];
|
|
@@ -929,7 +939,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
929
939
|
* @returns {Order[]} Array of user friendly order struct.
|
|
930
940
|
* @ignore
|
|
931
941
|
*/
|
|
932
|
-
MarketData.prototype.openOrdersOnOrderBook = function (traderAddr, orderBookContract) {
|
|
942
|
+
MarketData.prototype.openOrdersOnOrderBook = function (traderAddr, orderBookContract, overrides) {
|
|
933
943
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
934
944
|
var userFriendlyOrders, haveMoreOrders, from, bulkSize, orders, k;
|
|
935
945
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -942,15 +952,15 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
942
952
|
_a.label = 1;
|
|
943
953
|
case 1:
|
|
944
954
|
if (!haveMoreOrders) return [3 /*break*/, 3];
|
|
945
|
-
return [4 /*yield*/, orderBookContract.getOrders(traderAddr, from, bulkSize)];
|
|
955
|
+
return [4 /*yield*/, orderBookContract.getOrders(traderAddr, from, bulkSize, overrides || {})];
|
|
946
956
|
case 2:
|
|
947
957
|
orders = _a.sent();
|
|
948
958
|
k = 0;
|
|
949
|
-
while (k < orders.length && orders[k].traderAddr
|
|
959
|
+
while (k < orders.length && orders[k].traderAddr !== nodeSDKTypes_1.ZERO_ADDRESS) {
|
|
950
960
|
userFriendlyOrders.push(perpetualDataHandler_1.default.fromClientOrder(orders[k], this.symbolToPerpStaticInfo));
|
|
951
961
|
k++;
|
|
952
962
|
}
|
|
953
|
-
haveMoreOrders = orders[orders.length - 1].traderAddr
|
|
963
|
+
haveMoreOrders = orders[orders.length - 1].traderAddr !== nodeSDKTypes_1.ZERO_ADDRESS;
|
|
954
964
|
from = from + bulkSize;
|
|
955
965
|
return [3 /*break*/, 1];
|
|
956
966
|
case 3: return [2 /*return*/, userFriendlyOrders];
|
|
@@ -965,12 +975,12 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
965
975
|
* @returns Array of order-id's
|
|
966
976
|
* @ignore
|
|
967
977
|
*/
|
|
968
|
-
MarketData.orderIdsOfTrader = function (traderAddr, orderBookContract) {
|
|
978
|
+
MarketData.orderIdsOfTrader = function (traderAddr, orderBookContract, overrides) {
|
|
969
979
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
970
980
|
var digestsRaw, k, digests;
|
|
971
981
|
return tslib_1.__generator(this, function (_a) {
|
|
972
982
|
switch (_a.label) {
|
|
973
|
-
case 0: return [4 /*yield*/, orderBookContract.limitDigestsOfTrader(traderAddr, 0, 15)];
|
|
983
|
+
case 0: return [4 /*yield*/, orderBookContract.limitDigestsOfTrader(traderAddr, 0, 15, overrides || {})];
|
|
974
984
|
case 1:
|
|
975
985
|
digestsRaw = _a.sent();
|
|
976
986
|
k = 0;
|
|
@@ -992,13 +1002,13 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
992
1002
|
* @param indexPrices optional index prices, will otherwise fetch from REST API
|
|
993
1003
|
* @returns available margin in collateral currency
|
|
994
1004
|
*/
|
|
995
|
-
MarketData.prototype.getAvailableMargin = function (traderAddr, symbol, indexPrices) {
|
|
1005
|
+
MarketData.prototype.getAvailableMargin = function (traderAddr, symbol, indexPrices, overrides) {
|
|
996
1006
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
997
1007
|
var obj, perpID, traderState, idx_availableMargin, mgn;
|
|
998
1008
|
return tslib_1.__generator(this, function (_a) {
|
|
999
1009
|
switch (_a.label) {
|
|
1000
1010
|
case 0:
|
|
1001
|
-
if (this.proxyContract
|
|
1011
|
+
if (!this.proxyContract) {
|
|
1002
1012
|
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
1003
1013
|
}
|
|
1004
1014
|
if (!(indexPrices == undefined)) return [3 /*break*/, 2];
|
|
@@ -1009,7 +1019,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1009
1019
|
_a.label = 2;
|
|
1010
1020
|
case 2:
|
|
1011
1021
|
perpID = perpetualDataHandler_1.default.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
|
|
1012
|
-
return [4 /*yield*/, this.proxyContract.getTraderState(perpID, traderAddr, indexPrices.map(function (x) { return (0, d8XMath_1.floatToABK64x64)(x); }))];
|
|
1022
|
+
return [4 /*yield*/, this.proxyContract.getTraderState(perpID, traderAddr, indexPrices.map(function (x) { return (0, d8XMath_1.floatToABK64x64)(x); }), overrides || {})];
|
|
1013
1023
|
case 3:
|
|
1014
1024
|
traderState = _a.sent();
|
|
1015
1025
|
idx_availableMargin = 1;
|
|
@@ -1025,7 +1035,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1025
1035
|
* @param brokerAddr address of the trader's broker or undefined
|
|
1026
1036
|
* @returns a loyality score (4 worst, 1 best)
|
|
1027
1037
|
*/
|
|
1028
|
-
MarketData.prototype.getTraderLoyalityScore = function (traderAddr, brokerAddr) {
|
|
1038
|
+
MarketData.prototype.getTraderLoyalityScore = function (traderAddr, brokerAddr, overrides) {
|
|
1029
1039
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1030
1040
|
var brokerProm, traderProm, k, brkrVol_1, trdrVol_1, totalBrokerVolume, totalTraderVolume, brkrVol, trdrVol, k, volumeCap, score, rank4;
|
|
1031
1041
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -1038,10 +1048,10 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1038
1048
|
traderProm = [];
|
|
1039
1049
|
for (k = 0; k < this.poolStaticInfos.length; k++) {
|
|
1040
1050
|
if (brokerAddr != "" && brokerAddr != undefined) {
|
|
1041
|
-
brkrVol_1 = this.proxyContract.getCurrentBrokerVolume(this.poolStaticInfos[k].poolId, brokerAddr);
|
|
1051
|
+
brkrVol_1 = this.proxyContract.getCurrentBrokerVolume(this.poolStaticInfos[k].poolId, brokerAddr, overrides || {});
|
|
1042
1052
|
brokerProm.push(brkrVol_1);
|
|
1043
1053
|
}
|
|
1044
|
-
trdrVol_1 = this.proxyContract.getCurrentTraderVolume(this.poolStaticInfos[k].poolId, traderAddr);
|
|
1054
|
+
trdrVol_1 = this.proxyContract.getCurrentTraderVolume(this.poolStaticInfos[k].poolId, traderAddr, overrides || {});
|
|
1045
1055
|
traderProm.push(trdrVol_1);
|
|
1046
1056
|
}
|
|
1047
1057
|
totalBrokerVolume = 0;
|
|
@@ -1160,7 +1170,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1160
1170
|
* @param _idxPriceMap symbol to price/market closed
|
|
1161
1171
|
* @returns perpetual symbol to mid-prices mapping
|
|
1162
1172
|
*/
|
|
1163
|
-
MarketData._queryMidPrices = function (_proxyContract, _nestedPerpetualIDs, _symbolToPerpStaticInfo, _perpetualIdToSymbol, _idxPriceMap) {
|
|
1173
|
+
MarketData._queryMidPrices = function (_proxyContract, _nestedPerpetualIDs, _symbolToPerpStaticInfo, _perpetualIdToSymbol, _idxPriceMap, overrides) {
|
|
1164
1174
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1165
1175
|
var chunkSize, perpetualIDChunks, midPriceMap, k, indexPrices, j, id, symbol3s, info, S2, S3, fMidPrice, j, id, symbol3s;
|
|
1166
1176
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -1187,7 +1197,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1187
1197
|
indexPrices.push(S2);
|
|
1188
1198
|
indexPrices.push(S3);
|
|
1189
1199
|
}
|
|
1190
|
-
return [4 /*yield*/, _proxyContract.queryMidPrices(perpetualIDChunks[k], indexPrices)];
|
|
1200
|
+
return [4 /*yield*/, _proxyContract.queryMidPrices(perpetualIDChunks[k], indexPrices, overrides || {})];
|
|
1191
1201
|
case 2:
|
|
1192
1202
|
fMidPrice = _a.sent();
|
|
1193
1203
|
for (j = 0; j < fMidPrice.length; j++) {
|
|
@@ -1204,7 +1214,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1204
1214
|
});
|
|
1205
1215
|
});
|
|
1206
1216
|
};
|
|
1207
|
-
MarketData._queryPoolStates = function (_proxyContract, _poolStaticInfos, _numPools) {
|
|
1217
|
+
MarketData._queryPoolStates = function (_proxyContract, _poolStaticInfos, _numPools, overrides) {
|
|
1208
1218
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1209
1219
|
var chunkSize, iFrom, poolStates, pools, k, poolSymbol, poolState;
|
|
1210
1220
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -1216,7 +1226,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1216
1226
|
_a.label = 1;
|
|
1217
1227
|
case 1:
|
|
1218
1228
|
if (!(iFrom <= _numPools)) return [3 /*break*/, 3];
|
|
1219
|
-
return [4 /*yield*/, _proxyContract.getLiquidityPools(iFrom, iFrom + chunkSize)];
|
|
1229
|
+
return [4 /*yield*/, _proxyContract.getLiquidityPools(iFrom, iFrom + chunkSize, overrides || {})];
|
|
1220
1230
|
case 2:
|
|
1221
1231
|
pools = _a.sent();
|
|
1222
1232
|
for (k = 0; k < pools.length; k++) {
|
|
@@ -1242,7 +1252,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1242
1252
|
});
|
|
1243
1253
|
});
|
|
1244
1254
|
};
|
|
1245
|
-
MarketData._queryPerpetualStates = function (_proxyContract, _nestedPerpetualIDs, _symbolList) {
|
|
1255
|
+
MarketData._queryPerpetualStates = function (_proxyContract, _nestedPerpetualIDs, _symbolList, overrides) {
|
|
1246
1256
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1247
1257
|
var chunkSize, perpetualIDChunks, perpStateInfos, k, perps, j, PerpetualState;
|
|
1248
1258
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -1255,7 +1265,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1255
1265
|
_a.label = 1;
|
|
1256
1266
|
case 1:
|
|
1257
1267
|
if (!(k < perpetualIDChunks.length)) return [3 /*break*/, 4];
|
|
1258
|
-
return [4 /*yield*/, _proxyContract.getPerpetuals(perpetualIDChunks[k])];
|
|
1268
|
+
return [4 /*yield*/, _proxyContract.getPerpetuals(perpetualIDChunks[k], overrides || {})];
|
|
1259
1269
|
case 2:
|
|
1260
1270
|
perps = _a.sent();
|
|
1261
1271
|
for (j = 0; j < perps.length; j++) {
|
|
@@ -1283,7 +1293,7 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1283
1293
|
});
|
|
1284
1294
|
});
|
|
1285
1295
|
};
|
|
1286
|
-
MarketData._exchangeInfo = function (_proxyContract, _poolStaticInfos, _symbolToPerpStaticInfo, _perpetualIdToSymbol, _nestedPerpetualIDs, _symbolList, _priceFeedGetter) {
|
|
1296
|
+
MarketData._exchangeInfo = function (_proxyContract, _poolStaticInfos, _symbolToPerpStaticInfo, _perpetualIdToSymbol, _nestedPerpetualIDs, _symbolList, _priceFeedGetter, overrides) {
|
|
1287
1297
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1288
1298
|
var factory, info, numPools, idxPriceMap, midPriceMap, poolStateInfos, perpStateInfos, k, perp, symbol3s, info_1, idxPriceS2Pair, idxPriceS3Pair, indexS3, poolId;
|
|
1289
1299
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -1295,13 +1305,13 @@ var MarketData = /** @class */ (function (_super) {
|
|
|
1295
1305
|
return [4 /*yield*/, MarketData._getAllIndexPrices(_symbolToPerpStaticInfo, _priceFeedGetter)];
|
|
1296
1306
|
case 1:
|
|
1297
1307
|
idxPriceMap = _a.sent();
|
|
1298
|
-
return [4 /*yield*/, MarketData._queryMidPrices(_proxyContract, _nestedPerpetualIDs, _symbolToPerpStaticInfo, _perpetualIdToSymbol, idxPriceMap)];
|
|
1308
|
+
return [4 /*yield*/, MarketData._queryMidPrices(_proxyContract, _nestedPerpetualIDs, _symbolToPerpStaticInfo, _perpetualIdToSymbol, idxPriceMap, overrides)];
|
|
1299
1309
|
case 2:
|
|
1300
1310
|
midPriceMap = _a.sent();
|
|
1301
|
-
return [4 /*yield*/, MarketData._queryPoolStates(_proxyContract, _poolStaticInfos, numPools)];
|
|
1311
|
+
return [4 /*yield*/, MarketData._queryPoolStates(_proxyContract, _poolStaticInfos, numPools, overrides)];
|
|
1302
1312
|
case 3:
|
|
1303
1313
|
poolStateInfos = _a.sent();
|
|
1304
|
-
return [4 /*yield*/, MarketData._queryPerpetualStates(_proxyContract, _nestedPerpetualIDs, _symbolList)];
|
|
1314
|
+
return [4 /*yield*/, MarketData._queryPerpetualStates(_proxyContract, _nestedPerpetualIDs, _symbolList, overrides)];
|
|
1305
1315
|
case 4:
|
|
1306
1316
|
perpStateInfos = _a.sent();
|
|
1307
1317
|
// put together all info
|