@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.
Files changed (195) hide show
  1. package/dist/cjs/accountTrade.d.ts +11 -10
  2. package/dist/cjs/accountTrade.js +51 -45
  3. package/dist/cjs/accountTrade.js.map +1 -1
  4. package/dist/cjs/brokerTool.d.ts +14 -12
  5. package/dist/cjs/brokerTool.js +51 -28
  6. package/dist/cjs/brokerTool.js.map +1 -1
  7. package/dist/cjs/config/defaultConfig.json +20 -19
  8. package/dist/cjs/contracts/ERC20.d.ts +194 -0
  9. package/dist/cjs/contracts/ERC20.js +3 -0
  10. package/dist/cjs/contracts/ERC20.js.map +1 -0
  11. package/dist/cjs/contracts/IPerpetualManager.d.ts +3012 -0
  12. package/dist/cjs/contracts/IPerpetualManager.js +3 -0
  13. package/dist/cjs/contracts/IPerpetualManager.js.map +1 -0
  14. package/dist/cjs/contracts/LimitOrderBook.d.ts +560 -0
  15. package/dist/cjs/contracts/LimitOrderBook.js +3 -0
  16. package/dist/cjs/contracts/LimitOrderBook.js.map +1 -0
  17. package/dist/cjs/contracts/LimitOrderBookFactory.d.ts +152 -0
  18. package/dist/cjs/contracts/LimitOrderBookFactory.js +3 -0
  19. package/dist/cjs/contracts/LimitOrderBookFactory.js.map +1 -0
  20. package/dist/cjs/contracts/MockTokenSwap.d.ts +194 -0
  21. package/dist/cjs/contracts/MockTokenSwap.js +3 -0
  22. package/dist/cjs/contracts/MockTokenSwap.js.map +1 -0
  23. package/dist/cjs/contracts/ShareToken.d.ts +320 -0
  24. package/dist/cjs/contracts/ShareToken.js +3 -0
  25. package/dist/cjs/contracts/ShareToken.js.map +1 -0
  26. package/dist/cjs/contracts/common.d.ts +21 -0
  27. package/dist/cjs/contracts/common.js +3 -0
  28. package/dist/cjs/contracts/common.js.map +1 -0
  29. package/dist/cjs/contracts/factories/ERC20__factory.d.ts +226 -0
  30. package/dist/cjs/contracts/factories/ERC20__factory.js +309 -0
  31. package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -0
  32. package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +4599 -0
  33. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +5909 -0
  34. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -0
  35. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.d.ts +131 -0
  36. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +182 -0
  37. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -0
  38. package/dist/cjs/contracts/factories/LimitOrderBook__factory.d.ts +830 -0
  39. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +1083 -0
  40. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -0
  41. package/dist/cjs/contracts/factories/MockTokenSwap__factory.d.ts +153 -0
  42. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +207 -0
  43. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -0
  44. package/dist/cjs/contracts/factories/ShareToken__factory.d.ts +336 -0
  45. package/dist/cjs/contracts/factories/ShareToken__factory.js +449 -0
  46. package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -0
  47. package/dist/cjs/contracts/factories/index.d.ts +6 -0
  48. package/dist/cjs/contracts/factories/index.js +19 -0
  49. package/dist/cjs/contracts/factories/index.js.map +1 -0
  50. package/dist/cjs/contracts/index.d.ts +13 -0
  51. package/dist/cjs/contracts/index.js +18 -0
  52. package/dist/cjs/contracts/index.js.map +1 -0
  53. package/dist/cjs/liquidatorTool.d.ts +7 -7
  54. package/dist/cjs/liquidatorTool.js +17 -16
  55. package/dist/cjs/liquidatorTool.js.map +1 -1
  56. package/dist/cjs/liquidityProviderTool.d.ts +4 -4
  57. package/dist/cjs/liquidityProviderTool.js +6 -12
  58. package/dist/cjs/liquidityProviderTool.js.map +1 -1
  59. package/dist/cjs/marketData.d.ts +30 -22
  60. package/dist/cjs/marketData.js +86 -76
  61. package/dist/cjs/marketData.js.map +1 -1
  62. package/dist/cjs/nodeSDKTypes.d.ts +6 -6
  63. package/dist/cjs/orderReferrerTool.d.ts +10 -10
  64. package/dist/cjs/orderReferrerTool.js +106 -103
  65. package/dist/cjs/orderReferrerTool.js.map +1 -1
  66. package/dist/cjs/perpetualDataHandler.d.ts +17 -14
  67. package/dist/cjs/perpetualDataHandler.js +36 -36
  68. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  69. package/dist/cjs/traderDigests.d.ts +2 -2
  70. package/dist/cjs/traderDigests.js +38 -49
  71. package/dist/cjs/traderDigests.js.map +1 -1
  72. package/dist/cjs/traderInterface.d.ts +5 -4
  73. package/dist/cjs/traderInterface.js +12 -24
  74. package/dist/cjs/traderInterface.js.map +1 -1
  75. package/dist/cjs/version.d.ts +1 -1
  76. package/dist/cjs/version.js +2 -2
  77. package/dist/cjs/version.js.map +1 -1
  78. package/dist/cjs/writeAccessHandler.d.ts +5 -5
  79. package/dist/cjs/writeAccessHandler.js +13 -12
  80. package/dist/cjs/writeAccessHandler.js.map +1 -1
  81. package/dist/esm/accountTrade.d.ts +11 -10
  82. package/dist/esm/accountTrade.js +52 -46
  83. package/dist/esm/accountTrade.js.map +1 -1
  84. package/dist/esm/brokerTool.d.ts +14 -12
  85. package/dist/esm/brokerTool.js +51 -28
  86. package/dist/esm/brokerTool.js.map +1 -1
  87. package/dist/esm/config/defaultConfig.json +20 -19
  88. package/dist/esm/contracts/ERC20.d.ts +194 -0
  89. package/dist/esm/contracts/ERC20.js +2 -0
  90. package/dist/esm/contracts/ERC20.js.map +1 -0
  91. package/dist/esm/contracts/IPerpetualManager.d.ts +3012 -0
  92. package/dist/esm/contracts/IPerpetualManager.js +2 -0
  93. package/dist/esm/contracts/IPerpetualManager.js.map +1 -0
  94. package/dist/esm/contracts/LimitOrderBook.d.ts +560 -0
  95. package/dist/esm/contracts/LimitOrderBook.js +2 -0
  96. package/dist/esm/contracts/LimitOrderBook.js.map +1 -0
  97. package/dist/esm/contracts/LimitOrderBookFactory.d.ts +152 -0
  98. package/dist/esm/contracts/LimitOrderBookFactory.js +2 -0
  99. package/dist/esm/contracts/LimitOrderBookFactory.js.map +1 -0
  100. package/dist/esm/contracts/MockTokenSwap.d.ts +194 -0
  101. package/dist/esm/contracts/MockTokenSwap.js +2 -0
  102. package/dist/esm/contracts/MockTokenSwap.js.map +1 -0
  103. package/dist/esm/contracts/ShareToken.d.ts +320 -0
  104. package/dist/esm/contracts/ShareToken.js +2 -0
  105. package/dist/esm/contracts/ShareToken.js.map +1 -0
  106. package/dist/esm/contracts/common.d.ts +21 -0
  107. package/dist/esm/contracts/common.js +2 -0
  108. package/dist/esm/contracts/common.js.map +1 -0
  109. package/dist/esm/contracts/factories/ERC20__factory.d.ts +226 -0
  110. package/dist/esm/contracts/factories/ERC20__factory.js +306 -0
  111. package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -0
  112. package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +4599 -0
  113. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +5906 -0
  114. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -0
  115. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.d.ts +131 -0
  116. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +179 -0
  117. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -0
  118. package/dist/esm/contracts/factories/LimitOrderBook__factory.d.ts +830 -0
  119. package/dist/esm/contracts/factories/LimitOrderBook__factory.js +1080 -0
  120. package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -0
  121. package/dist/esm/contracts/factories/MockTokenSwap__factory.d.ts +153 -0
  122. package/dist/esm/contracts/factories/MockTokenSwap__factory.js +204 -0
  123. package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -0
  124. package/dist/esm/contracts/factories/ShareToken__factory.d.ts +336 -0
  125. package/dist/esm/contracts/factories/ShareToken__factory.js +446 -0
  126. package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -0
  127. package/dist/esm/contracts/factories/index.d.ts +6 -0
  128. package/dist/esm/contracts/factories/index.js +10 -0
  129. package/dist/esm/contracts/factories/index.js.map +1 -0
  130. package/dist/esm/contracts/index.d.ts +13 -0
  131. package/dist/esm/contracts/index.js +8 -0
  132. package/dist/esm/contracts/index.js.map +1 -0
  133. package/dist/esm/liquidatorTool.d.ts +7 -7
  134. package/dist/esm/liquidatorTool.js +18 -17
  135. package/dist/esm/liquidatorTool.js.map +1 -1
  136. package/dist/esm/liquidityProviderTool.d.ts +4 -4
  137. package/dist/esm/liquidityProviderTool.js +6 -12
  138. package/dist/esm/liquidityProviderTool.js.map +1 -1
  139. package/dist/esm/marketData.d.ts +30 -22
  140. package/dist/esm/marketData.js +87 -77
  141. package/dist/esm/marketData.js.map +1 -1
  142. package/dist/esm/nodeSDKTypes.d.ts +6 -6
  143. package/dist/esm/orderReferrerTool.d.ts +10 -10
  144. package/dist/esm/orderReferrerTool.js +107 -104
  145. package/dist/esm/orderReferrerTool.js.map +1 -1
  146. package/dist/esm/perpetualDataHandler.d.ts +17 -14
  147. package/dist/esm/perpetualDataHandler.js +36 -36
  148. package/dist/esm/perpetualDataHandler.js.map +1 -1
  149. package/dist/esm/traderDigests.d.ts +2 -2
  150. package/dist/esm/traderDigests.js +38 -49
  151. package/dist/esm/traderDigests.js.map +1 -1
  152. package/dist/esm/traderInterface.d.ts +5 -4
  153. package/dist/esm/traderInterface.js +12 -24
  154. package/dist/esm/traderInterface.js.map +1 -1
  155. package/dist/esm/version.d.ts +1 -1
  156. package/dist/esm/version.js +1 -1
  157. package/dist/esm/version.js.map +1 -1
  158. package/dist/esm/writeAccessHandler.d.ts +5 -5
  159. package/dist/esm/writeAccessHandler.js +15 -14
  160. package/dist/esm/writeAccessHandler.js.map +1 -1
  161. package/doc/d8x-perpetuals-sdk.md +27 -0
  162. package/doc/marketData.md +13 -0
  163. package/package.json +7 -4
  164. package/dist/cjs/abi/testnet/IPerpetualManager.json +0 -5918
  165. package/dist/cjs/abi/testnet/v7/IPerpetualManager.json +0 -5918
  166. package/dist/cjs/abi/testnet/v8/LimitOrderBook.json +0 -1062
  167. package/dist/cjs/abi/testnet/v8/LimitOrderBookFactory.json +0 -161
  168. package/dist/cjs/abi/testnet/v8/ShareToken.json +0 -428
  169. package/dist/cjs/abi/zkevmTestnet/IPerpetualManager.json +0 -5773
  170. package/dist/cjs/abi/zkevmTestnet/LimitOrderBook.json +0 -1075
  171. package/dist/cjs/abi/zkevmTestnet/LimitOrderBookFactory.json +0 -135
  172. package/dist/cjs/abi/zkevmTestnet/ShareToken.json +0 -428
  173. package/dist/esm/abi/testnet/IPerpetualManager.json +0 -5918
  174. package/dist/esm/abi/testnet/LimitOrderBook.json +0 -1062
  175. package/dist/esm/abi/testnet/LimitOrderBookFactory.json +0 -161
  176. package/dist/esm/abi/testnet/ShareToken.json +0 -428
  177. package/dist/esm/abi/testnet/v7/IPerpetualManager.json +0 -5918
  178. package/dist/esm/abi/testnet/v7/LimitOrderBook.json +0 -1062
  179. package/dist/esm/abi/testnet/v7/LimitOrderBookFactory.json +0 -161
  180. package/dist/esm/abi/testnet/v7/ShareToken.json +0 -428
  181. package/dist/esm/abi/testnet/v8/LimitOrderBook.json +0 -1062
  182. package/dist/esm/abi/testnet/v8/LimitOrderBookFactory.json +0 -161
  183. package/dist/esm/abi/testnet/v8/ShareToken.json +0 -428
  184. package/dist/esm/abi/zkevmTestnet/IPerpetualManager.json +0 -5773
  185. package/dist/esm/abi/zkevmTestnet/LimitOrderBook.json +0 -1075
  186. package/dist/esm/abi/zkevmTestnet/LimitOrderBookFactory.json +0 -135
  187. package/dist/esm/abi/zkevmTestnet/ShareToken.json +0 -428
  188. /package/dist/cjs/abi/{testnet/v8/IPerpetualManager.json → IPerpetualManager.json} +0 -0
  189. /package/dist/cjs/abi/{testnet/LimitOrderBook.json → LimitOrderBook.json} +0 -0
  190. /package/dist/cjs/abi/{testnet/LimitOrderBookFactory.json → LimitOrderBookFactory.json} +0 -0
  191. /package/dist/cjs/abi/{testnet/ShareToken.json → ShareToken.json} +0 -0
  192. /package/dist/esm/abi/{testnet/v8/IPerpetualManager.json → IPerpetualManager.json} +0 -0
  193. /package/dist/{cjs/abi/testnet/v7 → esm/abi}/LimitOrderBook.json +0 -0
  194. /package/dist/{cjs/abi/testnet/v7 → esm/abi}/LimitOrderBookFactory.json +0 -0
  195. /package/dist/{cjs/abi/testnet/v7 → esm/abi}/ShareToken.json +0 -0
@@ -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, walletBalanceDec18;
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 = new contracts_1.Contract(marginTokenAddr, nodeSDKTypes_1.ERC20_ABI, this.provider);
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
- walletBalanceDec18 = _a.sent();
533
- return [2 /*return*/, walletBalanceDec18 / Math.pow(10, 18)];
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 = new contracts_1.Contract(shareTokenAddr, nodeSDKTypes_1.ERC20_ABI, this.provider);
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 == null) {
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
- MarketData.prototype.getOrderStatus = function (symbol, orderId) {
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 == null) {
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 != nodeSDKTypes_1.ZERO_ADDRESS) {
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 != nodeSDKTypes_1.ZERO_ADDRESS;
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 == null) {
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