@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
@@ -1,9 +1,10 @@
1
1
  import { __awaiter, __extends, __generator, __read, __spreadArray, __values } from "tslib";
2
2
  import { BigNumber } from "@ethersproject/bignumber";
3
- import { Contract } from "@ethersproject/contracts";
4
3
  import { StaticJsonRpcProvider } from "@ethersproject/providers";
4
+ import { formatUnits } from "@ethersproject/units";
5
+ import { ERC20__factory } from "./contracts";
5
6
  import { ABK64x64ToFloat, calculateLiquidationPriceCollateralBase, calculateLiquidationPriceCollateralQuanto, calculateLiquidationPriceCollateralQuote, floatToABK64x64, getDepositAmountForLvgTrade, dec18ToFloat, } from "./d8XMath";
6
- import { BUY_SIDE, CLOSED_SIDE, COLLATERAL_CURRENCY_BASE, COLLATERAL_CURRENCY_QUANTO, CollaterlCCY, ERC20_ABI, PERP_STATE_STR, SELL_SIDE, ZERO_ADDRESS, } from "./nodeSDKTypes";
7
+ import { BUY_SIDE, CLOSED_SIDE, COLLATERAL_CURRENCY_BASE, COLLATERAL_CURRENCY_QUANTO, CollaterlCCY, PERP_STATE_STR, SELL_SIDE, ZERO_ADDRESS, } from "./nodeSDKTypes";
7
8
  import PerpetualDataHandler from "./perpetualDataHandler";
8
9
  import { contractSymbolToSymbol, toBytes4 } from "./utils";
9
10
  /**
@@ -41,7 +42,7 @@ var MarketData = /** @class */ (function (_super) {
41
42
  * about perpetual currencies
42
43
  * @param provider optional provider
43
44
  */
44
- MarketData.prototype.createProxyInstance = function (provider) {
45
+ MarketData.prototype.createProxyInstance = function (provider, overrides) {
45
46
  return __awaiter(this, void 0, void 0, function () {
46
47
  return __generator(this, function (_a) {
47
48
  switch (_a.label) {
@@ -52,7 +53,7 @@ var MarketData = /** @class */ (function (_super) {
52
53
  else {
53
54
  this.provider = provider;
54
55
  }
55
- return [4 /*yield*/, this.initContractsAndData(this.provider)];
56
+ return [4 /*yield*/, this.initContractsAndData(this.provider, overrides)];
56
57
  case 1:
57
58
  _a.sent();
58
59
  return [2 /*return*/];
@@ -120,7 +121,7 @@ var MarketData = /** @class */ (function (_super) {
120
121
  *
121
122
  * @returns {ExchangeInfo} Array of static data for all the pools and perpetuals in the system.
122
123
  */
123
- MarketData.prototype.exchangeInfo = function () {
124
+ MarketData.prototype.exchangeInfo = function (overrides) {
124
125
  return __awaiter(this, void 0, void 0, function () {
125
126
  return __generator(this, function (_a) {
126
127
  switch (_a.label) {
@@ -128,7 +129,7 @@ var MarketData = /** @class */ (function (_super) {
128
129
  if (this.proxyContract == null) {
129
130
  throw Error("no proxy contract initialized. Use createProxyInstance().");
130
131
  }
131
- return [4 /*yield*/, MarketData._exchangeInfo(this.proxyContract, this.poolStaticInfos, this.symbolToPerpStaticInfo, this.perpetualIdToSymbol, this.nestedPerpetualIDs, this.symbolList, this.priceFeedGetter)];
132
+ return [4 /*yield*/, MarketData._exchangeInfo(this.proxyContract, this.poolStaticInfos, this.symbolToPerpStaticInfo, this.perpetualIdToSymbol, this.nestedPerpetualIDs, this.symbolList, this.priceFeedGetter, overrides)];
132
133
  case 1: return [2 /*return*/, _a.sent()];
133
134
  }
134
135
  });
@@ -155,7 +156,7 @@ var MarketData = /** @class */ (function (_super) {
155
156
  *
156
157
  * @returns For each perpetual an array of open orders and corresponding order-ids.
157
158
  */
158
- MarketData.prototype.openOrders = function (traderAddr, symbol) {
159
+ MarketData.prototype.openOrders = function (traderAddr, symbol, overrides) {
159
160
  return __awaiter(this, void 0, void 0, function () {
160
161
  var resArray, symbols, prom, k, p, res;
161
162
  return __generator(this, function (_a) {
@@ -166,14 +167,14 @@ var MarketData = /** @class */ (function (_super) {
166
167
  symbols = this.getPerpetualSymbolsInPool(symbol);
167
168
  prom = [];
168
169
  for (k = 0; k < symbols.length; k++) {
169
- p = this._openOrdersOfPerpetual(traderAddr, symbols[k]);
170
+ p = this._openOrdersOfPerpetual(traderAddr, symbols[k], overrides);
170
171
  prom.push(p);
171
172
  }
172
173
  return [4 /*yield*/, Promise.all(prom)];
173
174
  case 1:
174
175
  resArray = _a.sent();
175
176
  return [3 /*break*/, 4];
176
- case 2: return [4 /*yield*/, this._openOrdersOfPerpetual(traderAddr, symbol)];
177
+ case 2: return [4 /*yield*/, this._openOrdersOfPerpetual(traderAddr, symbol, overrides)];
177
178
  case 3:
178
179
  res = _a.sent();
179
180
  resArray.push(res);
@@ -189,7 +190,7 @@ var MarketData = /** @class */ (function (_super) {
189
190
  * @param {string} symbol perpetual-symbol of the form ETH-USD-MATIC
190
191
  * @returns open orders and order ids
191
192
  */
192
- MarketData.prototype._openOrdersOfPerpetual = function (traderAddr, symbol) {
193
+ MarketData.prototype._openOrdersOfPerpetual = function (traderAddr, symbol, overrides) {
193
194
  return __awaiter(this, void 0, void 0, function () {
194
195
  var orderBookContract, _a, orders, digests;
195
196
  return __generator(this, function (_b) {
@@ -197,8 +198,8 @@ var MarketData = /** @class */ (function (_super) {
197
198
  case 0:
198
199
  orderBookContract = this.getOrderBookContract(symbol);
199
200
  return [4 /*yield*/, Promise.all([
200
- this.openOrdersOnOrderBook(traderAddr, orderBookContract),
201
- MarketData.orderIdsOfTrader(traderAddr, orderBookContract),
201
+ this.openOrdersOnOrderBook(traderAddr, orderBookContract, overrides),
202
+ MarketData.orderIdsOfTrader(traderAddr, orderBookContract, overrides),
202
203
  ])];
203
204
  case 1:
204
205
  _a = __read.apply(void 0, [_b.sent(), 2]), orders = _a[0], digests = _a[1];
@@ -229,7 +230,7 @@ var MarketData = /** @class */ (function (_super) {
229
230
  *
230
231
  * @returns {MarginAccount[]} Array of position risks of trader.
231
232
  */
232
- MarketData.prototype.positionRisk = function (traderAddr, symbol) {
233
+ MarketData.prototype.positionRisk = function (traderAddr, symbol, overrides) {
233
234
  return __awaiter(this, void 0, void 0, function () {
234
235
  var resArray, symbols, prom, k, p, res;
235
236
  return __generator(this, function (_a) {
@@ -243,14 +244,14 @@ var MarketData = /** @class */ (function (_super) {
243
244
  symbols = this.getPerpetualSymbolsInPool(symbol);
244
245
  prom = [];
245
246
  for (k = 0; k < symbols.length; k++) {
246
- p = this._positionRiskForTraderInPerpetual(traderAddr, symbols[k]);
247
+ p = this._positionRiskForTraderInPerpetual(traderAddr, symbols[k], overrides);
247
248
  prom.push(p);
248
249
  }
249
250
  return [4 /*yield*/, Promise.all(prom)];
250
251
  case 1:
251
252
  resArray = _a.sent();
252
253
  return [3 /*break*/, 4];
253
- case 2: return [4 /*yield*/, this._positionRiskForTraderInPerpetual(traderAddr, symbol)];
254
+ case 2: return [4 /*yield*/, this._positionRiskForTraderInPerpetual(traderAddr, symbol, overrides)];
254
255
  case 3:
255
256
  res = _a.sent();
256
257
  resArray.push(res);
@@ -266,7 +267,7 @@ var MarketData = /** @class */ (function (_super) {
266
267
  * @param {string} symbol perpetual symbol of the form ETH-USD-MATIC
267
268
  * @returns MarginAccount struct for the trader
268
269
  */
269
- MarketData.prototype._positionRiskForTraderInPerpetual = function (traderAddr, symbol) {
270
+ MarketData.prototype._positionRiskForTraderInPerpetual = function (traderAddr, symbol, overrides) {
270
271
  return __awaiter(this, void 0, void 0, function () {
271
272
  var obj, mgnAcct;
272
273
  return __generator(this, function (_a) {
@@ -274,7 +275,7 @@ var MarketData = /** @class */ (function (_super) {
274
275
  case 0: return [4 /*yield*/, this.priceFeedGetter.fetchPricesForPerpetual(symbol)];
275
276
  case 1:
276
277
  obj = _a.sent();
277
- return [4 /*yield*/, PerpetualDataHandler.getMarginAccount(traderAddr, symbol, this.symbolToPerpStaticInfo, this.proxyContract, [obj.idxPrices[0], obj.idxPrices[1]])];
278
+ return [4 /*yield*/, PerpetualDataHandler.getMarginAccount(traderAddr, symbol, this.symbolToPerpStaticInfo, this.proxyContract, [obj.idxPrices[0], obj.idxPrices[1]], overrides)];
278
279
  case 2:
279
280
  mgnAcct = _a.sent();
280
281
  return [2 /*return*/, mgnAcct];
@@ -290,7 +291,7 @@ var MarketData = /** @class */ (function (_super) {
290
291
  * @param indexPriceInfo Index prices and market status (open/closed)
291
292
  * @returns Position risk after trade
292
293
  */
293
- MarketData.prototype.positionRiskOnTrade = function (traderAddr, order, account, indexPriceInfo) {
294
+ MarketData.prototype.positionRiskOnTrade = function (traderAddr, order, account, indexPriceInfo, overrides) {
294
295
  var _a, _b, _c, _d, _e;
295
296
  return __awaiter(this, void 0, void 0, function () {
296
297
  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;
@@ -301,7 +302,7 @@ var MarketData = /** @class */ (function (_super) {
301
302
  throw Error("no proxy contract initialized. Use createProxyInstance().");
302
303
  }
303
304
  if (!(account == undefined)) return [3 /*break*/, 2];
304
- return [4 /*yield*/, this.positionRisk(traderAddr, order.symbol)];
305
+ return [4 /*yield*/, this.positionRisk(traderAddr, order.symbol, overrides)];
305
306
  case 1:
306
307
  account = (_k.sent())[0];
307
308
  _k.label = 2;
@@ -318,7 +319,7 @@ var MarketData = /** @class */ (function (_super) {
318
319
  if (Math.abs(order.quantity) < lotSizeBC) {
319
320
  return [2 /*return*/, { newPositionRisk: account, orderCost: 0 }];
320
321
  }
321
- return [4 /*yield*/, this.getPerpetualState(order.symbol, indexPriceInfo)];
322
+ return [4 /*yield*/, this.getPerpetualState(order.symbol, indexPriceInfo, overrides)];
322
323
  case 5:
323
324
  perpetualState = _k.sent();
324
325
  _f = __read([perpetualState.indexPrice, perpetualState.collToQuoteIndexPrice, perpetualState.markPrice], 3), S2 = _f[0], S3 = _f[1], Sm = _f[2];
@@ -336,14 +337,14 @@ var MarketData = /** @class */ (function (_super) {
336
337
  if (!((_a = order.limitPrice) !== null && _a !== void 0)) return [3 /*break*/, 6];
337
338
  _g = _a;
338
339
  return [3 /*break*/, 8];
339
- case 6: return [4 /*yield*/, this.getPerpetualPrice(order.symbol, tradeAmountBC)];
340
+ case 6: return [4 /*yield*/, this.getPerpetualPrice(order.symbol, tradeAmountBC, [indexPriceInfo[0], indexPriceInfo[1]], overrides)];
340
341
  case 7:
341
342
  _g = (_k.sent());
342
343
  _k.label = 8;
343
344
  case 8:
344
345
  tradePrice = _g;
345
346
  poolId = PerpetualDataHandler._getPoolIdFromSymbol(order.symbol, this.poolStaticInfos);
346
- return [4 /*yield*/, this.proxyContract.queryExchangeFee(poolId, traderAddr, (_b = order.brokerAddr) !== null && _b !== void 0 ? _b : ZERO_ADDRESS)];
347
+ return [4 /*yield*/, this.proxyContract.queryExchangeFee(poolId, traderAddr, (_b = order.brokerAddr) !== null && _b !== void 0 ? _b : ZERO_ADDRESS, overrides || {})];
347
348
  case 9:
348
349
  exchangeFeeTbps = _k.sent();
349
350
  exchangeFeeCC = (Math.abs(tradeAmountBC) * exchangeFeeTbps * 1e-5 * S2) / S3;
@@ -410,7 +411,7 @@ var MarketData = /** @class */ (function (_super) {
410
411
  * @param currentPositionRisk Position risk before
411
412
  * @returns {MarginAccount} Position risk after
412
413
  */
413
- MarketData.prototype.positionRiskOnCollateralAction = function (deltaCollateral, account, indexPriceInfo) {
414
+ MarketData.prototype.positionRiskOnCollateralAction = function (deltaCollateral, account, indexPriceInfo, overrides) {
414
415
  return __awaiter(this, void 0, void 0, function () {
415
416
  var obj, perpetualState, _a, S2, S3, Sm, positionBC, lockedInQC, newMarginCashCC, newMarginBalanceCC, newLeverage, _b, S2Liq, S3Liq, tau, newPositionRisk;
416
417
  return __generator(this, function (_c) {
@@ -428,7 +429,7 @@ var MarketData = /** @class */ (function (_super) {
428
429
  obj = _c.sent();
429
430
  indexPriceInfo = [obj.idxPrices[0], obj.idxPrices[1], obj.mktClosed[0], obj.mktClosed[1]];
430
431
  _c.label = 2;
431
- case 2: return [4 /*yield*/, this.getPerpetualState(account.symbol, indexPriceInfo)];
432
+ case 2: return [4 /*yield*/, this.getPerpetualState(account.symbol, indexPriceInfo, overrides)];
432
433
  case 3:
433
434
  perpetualState = _c.sent();
434
435
  _a = __read([perpetualState.indexPrice, perpetualState.collToQuoteIndexPrice, perpetualState.markPrice], 3), S2 = _a[0], S3 = _a[1], Sm = _a[2];
@@ -516,19 +517,22 @@ var MarketData = /** @class */ (function (_super) {
516
517
  * @param symbol Symbol of the form ETH-USD-MATIC.
517
518
  * @returns Balance
518
519
  */
519
- MarketData.prototype.getWalletBalance = function (address, symbol) {
520
+ MarketData.prototype.getWalletBalance = function (address, symbol, overrides) {
520
521
  return __awaiter(this, void 0, void 0, function () {
521
- var poolIdx, marginTokenAddr, token, walletBalanceDec18;
522
+ var poolIdx, marginTokenAddr, token, walletBalance, decimals;
522
523
  return __generator(this, function (_a) {
523
524
  switch (_a.label) {
524
525
  case 0:
525
526
  poolIdx = this.getPoolStaticInfoIndexFromSymbol(symbol);
526
527
  marginTokenAddr = this.poolStaticInfos[poolIdx].poolMarginTokenAddr;
527
- token = new Contract(marginTokenAddr, ERC20_ABI, this.provider);
528
- return [4 /*yield*/, token.balanceOf(address)];
528
+ token = ERC20__factory.connect(marginTokenAddr, this.provider);
529
+ return [4 /*yield*/, token.balanceOf(address, overrides || {})];
529
530
  case 1:
530
- walletBalanceDec18 = _a.sent();
531
- return [2 /*return*/, walletBalanceDec18 / Math.pow(10, 18)];
531
+ walletBalance = _a.sent();
532
+ return [4 /*yield*/, token.decimals(overrides || {})];
533
+ case 2:
534
+ decimals = _a.sent();
535
+ return [2 /*return*/, Number(formatUnits(walletBalance, decimals))];
532
536
  }
533
537
  });
534
538
  });
@@ -538,12 +542,12 @@ var MarketData = /** @class */ (function (_super) {
538
542
  * @param address address of the liquidity provider
539
543
  * @param symbolOrId Symbol of the form ETH-USD-MATIC, or MATIC (collateral only), or Pool-Id
540
544
  */
541
- MarketData.prototype.getPoolShareTokenBalance = function (address, symbolOrId) {
545
+ MarketData.prototype.getPoolShareTokenBalance = function (address, symbolOrId, overrides) {
542
546
  return __awaiter(this, void 0, void 0, function () {
543
547
  var poolId;
544
548
  return __generator(this, function (_a) {
545
549
  poolId = this._poolSymbolOrIdToPoolId(symbolOrId);
546
- return [2 /*return*/, this._getPoolShareTokenBalanceFromId(address, poolId)];
550
+ return [2 /*return*/, this._getPoolShareTokenBalanceFromId(address, poolId, overrides)];
547
551
  });
548
552
  });
549
553
  };
@@ -553,15 +557,15 @@ var MarketData = /** @class */ (function (_super) {
553
557
  * @param poolId pool id
554
558
  * @returns pool share token balance of address
555
559
  */
556
- MarketData.prototype._getPoolShareTokenBalanceFromId = function (address, poolId) {
560
+ MarketData.prototype._getPoolShareTokenBalanceFromId = function (address, poolId, overrides) {
557
561
  return __awaiter(this, void 0, void 0, function () {
558
562
  var shareTokenAddr, shareToken, d18ShareTokenBalanceOfAddr;
559
563
  return __generator(this, function (_a) {
560
564
  switch (_a.label) {
561
565
  case 0:
562
566
  shareTokenAddr = this.poolStaticInfos[poolId - 1].shareTokenAddr;
563
- shareToken = new Contract(shareTokenAddr, ERC20_ABI, this.provider);
564
- return [4 /*yield*/, shareToken.balanceOf(address)];
567
+ shareToken = ERC20__factory.connect(shareTokenAddr, this.provider);
568
+ return [4 /*yield*/, shareToken.balanceOf(address, overrides || {})];
565
569
  case 1:
566
570
  d18ShareTokenBalanceOfAddr = _a.sent();
567
571
  return [2 /*return*/, dec18ToFloat(d18ShareTokenBalanceOfAddr)];
@@ -574,14 +578,14 @@ var MarketData = /** @class */ (function (_super) {
574
578
  * @param symbolOrId symbol of the form ETH-USD-MATIC, MATIC (collateral), or poolId
575
579
  * @returns current pool share token price in collateral currency
576
580
  */
577
- MarketData.prototype.getShareTokenPrice = function (symbolOrId) {
581
+ MarketData.prototype.getShareTokenPrice = function (symbolOrId, overrides) {
578
582
  return __awaiter(this, void 0, void 0, function () {
579
583
  var poolId, priceDec18, price;
580
584
  return __generator(this, function (_a) {
581
585
  switch (_a.label) {
582
586
  case 0:
583
587
  poolId = this._poolSymbolOrIdToPoolId(symbolOrId);
584
- return [4 /*yield*/, this.proxyContract.getShareTokenPriceD18(poolId)];
588
+ return [4 /*yield*/, this.proxyContract.getShareTokenPriceD18(poolId, overrides || {})];
585
589
  case 1:
586
590
  priceDec18 = _a.sent();
587
591
  price = dec18ToFloat(priceDec18);
@@ -610,17 +614,17 @@ var MarketData = /** @class */ (function (_super) {
610
614
  * main();
611
615
  * @returns the value (in collateral tokens) of the pool share, #share tokens, shareTokenAddress
612
616
  */
613
- MarketData.prototype.getParticipationValue = function (address, symbolOrId) {
617
+ MarketData.prototype.getParticipationValue = function (address, symbolOrId, overrides) {
614
618
  return __awaiter(this, void 0, void 0, function () {
615
619
  var poolId, shareTokens, priceDec18, price, value, shareTokenAddr;
616
620
  return __generator(this, function (_a) {
617
621
  switch (_a.label) {
618
622
  case 0:
619
623
  poolId = this._poolSymbolOrIdToPoolId(symbolOrId);
620
- return [4 /*yield*/, this._getPoolShareTokenBalanceFromId(address, poolId)];
624
+ return [4 /*yield*/, this._getPoolShareTokenBalanceFromId(address, poolId, overrides)];
621
625
  case 1:
622
626
  shareTokens = _a.sent();
623
- return [4 /*yield*/, this.proxyContract.getShareTokenPriceD18(poolId)];
627
+ return [4 /*yield*/, this.proxyContract.getShareTokenPriceD18(poolId, overrides || {})];
624
628
  case 2:
625
629
  priceDec18 = _a.sent();
626
630
  price = dec18ToFloat(priceDec18);
@@ -656,7 +660,7 @@ var MarketData = /** @class */ (function (_super) {
656
660
  * @param positionRisk Current position risk (as seen in positionRisk)
657
661
  * @returns Maximal trade size, not signed
658
662
  */
659
- MarketData.prototype.maxOrderSizeForTrader = function (side, positionRisk) {
663
+ MarketData.prototype.maxOrderSizeForTrader = function (side, positionRisk, overrides) {
660
664
  return __awaiter(this, void 0, void 0, function () {
661
665
  var curPosition, perpId, perpMaxPositionABK;
662
666
  return __generator(this, function (_a) {
@@ -664,7 +668,7 @@ var MarketData = /** @class */ (function (_super) {
664
668
  case 0:
665
669
  curPosition = side == BUY_SIDE ? positionRisk.positionNotionalBaseCCY : -positionRisk.positionNotionalBaseCCY;
666
670
  perpId = this.getPerpIdFromSymbol(positionRisk.symbol);
667
- return [4 /*yield*/, this.proxyContract.getMaxSignedOpenTradeSizeForPos(perpId, floatToABK64x64(curPosition), side == BUY_SIDE)];
671
+ return [4 /*yield*/, this.proxyContract.getMaxSignedOpenTradeSizeForPos(perpId, floatToABK64x64(curPosition), side == BUY_SIDE, overrides || {})];
668
672
  case 1:
669
673
  perpMaxPositionABK = _a.sent();
670
674
  return [2 /*return*/, ABK64x64ToFloat(perpMaxPositionABK.abs())];
@@ -678,7 +682,7 @@ var MarketData = /** @class */ (function (_super) {
678
682
  * @param symbol of the form ETH-USD-MATIC.
679
683
  * @returns signed maximal position size in base currency
680
684
  */
681
- MarketData.prototype.maxSignedPosition = function (side, symbol) {
685
+ MarketData.prototype.maxSignedPosition = function (side, symbol, overrides) {
682
686
  return __awaiter(this, void 0, void 0, function () {
683
687
  var perpId, isBuy, maxSignedPos;
684
688
  return __generator(this, function (_a) {
@@ -686,7 +690,7 @@ var MarketData = /** @class */ (function (_super) {
686
690
  case 0:
687
691
  perpId = this.getPerpIdFromSymbol(symbol);
688
692
  isBuy = side == BUY_SIDE;
689
- return [4 /*yield*/, this.proxyContract.getMaxSignedOpenTradeSizeForPos(perpId, BigNumber.from(0), isBuy)];
693
+ return [4 /*yield*/, this.proxyContract.getMaxSignedOpenTradeSizeForPos(perpId, BigNumber.from(0), isBuy, overrides || {})];
690
694
  case 1:
691
695
  maxSignedPos = _a.sent();
692
696
  return [2 /*return*/, ABK64x64ToFloat(maxSignedPos)];
@@ -714,16 +718,16 @@ var MarketData = /** @class */ (function (_super) {
714
718
  *
715
719
  * @returns {number} Price of index in given currency.
716
720
  */
717
- MarketData.prototype.getOraclePrice = function (base, quote) {
721
+ MarketData.prototype.getOraclePrice = function (base, quote, overrides) {
718
722
  return __awaiter(this, void 0, void 0, function () {
719
723
  var px;
720
724
  return __generator(this, function (_a) {
721
725
  switch (_a.label) {
722
726
  case 0:
723
- if (this.proxyContract == null) {
727
+ if (!this.proxyContract) {
724
728
  throw Error("no proxy contract initialized. Use createProxyInstance().");
725
729
  }
726
- return [4 /*yield*/, this.proxyContract.getOraclePrice([toBytes4(base), toBytes4(quote)])];
730
+ return [4 /*yield*/, this.proxyContract.getOraclePrice([toBytes4(base), toBytes4(quote)], overrides || {})];
727
731
  case 1:
728
732
  px = _a.sent();
729
733
  return [2 /*return*/, px == undefined ? undefined : ABK64x64ToFloat(px)];
@@ -731,18 +735,24 @@ var MarketData = /** @class */ (function (_super) {
731
735
  });
732
736
  });
733
737
  };
734
- MarketData.prototype.getOrderStatus = function (symbol, orderId) {
738
+ /**
739
+ *
740
+ * @param symbol Symbol of the form ETH-USD-MATIC
741
+ * @param orderId Order Id
742
+ * @param overrides
743
+ * @returns Order status ()
744
+ */
745
+ MarketData.prototype.getOrderStatus = function (symbol, orderId, overrides) {
735
746
  return __awaiter(this, void 0, void 0, function () {
736
747
  var orderBookContract, status;
737
748
  return __generator(this, function (_a) {
738
749
  switch (_a.label) {
739
750
  case 0:
740
- if (this.proxyContract == null) {
751
+ if (!this.proxyContract) {
741
752
  throw Error("no proxy contract initialized. Use createProxyInstance().");
742
753
  }
743
- orderBookContract = null;
744
754
  orderBookContract = this.getOrderBookContract(symbol);
745
- return [4 /*yield*/, orderBookContract.getOrderStatus(orderId)];
755
+ return [4 /*yield*/, orderBookContract.getOrderStatus(orderId, overrides || {})];
746
756
  case 1:
747
757
  status = _a.sent();
748
758
  return [2 /*return*/, status];
@@ -810,7 +820,7 @@ var MarketData = /** @class */ (function (_super) {
810
820
  *
811
821
  * @returns price (number)
812
822
  */
813
- MarketData.prototype.getPerpetualPrice = function (symbol, quantity, indexPrices) {
823
+ MarketData.prototype.getPerpetualPrice = function (symbol, quantity, indexPrices, overrides) {
814
824
  return __awaiter(this, void 0, void 0, function () {
815
825
  var obj;
816
826
  return __generator(this, function (_a) {
@@ -825,7 +835,7 @@ var MarketData = /** @class */ (function (_super) {
825
835
  obj = _a.sent();
826
836
  indexPrices = [obj.idxPrices[0], obj.idxPrices[1]];
827
837
  _a.label = 2;
828
- case 2: return [4 /*yield*/, PerpetualDataHandler._queryPerpetualPrice(symbol, quantity, this.symbolToPerpStaticInfo, this.proxyContract, indexPrices)];
838
+ case 2: return [4 /*yield*/, PerpetualDataHandler._queryPerpetualPrice(symbol, quantity, this.symbolToPerpStaticInfo, this.proxyContract, indexPrices, overrides)];
829
839
  case 3: return [2 /*return*/, _a.sent()];
830
840
  }
831
841
  });
@@ -837,7 +847,7 @@ var MarketData = /** @class */ (function (_super) {
837
847
  * @param indexPrices S2 and S3 prices/isMarketOpen if not provided fetch via REST API
838
848
  * @returns PerpetualState reference
839
849
  */
840
- MarketData.prototype.getPerpetualState = function (symbol, indexPriceInfo) {
850
+ MarketData.prototype.getPerpetualState = function (symbol, indexPriceInfo, overrides) {
841
851
  return __awaiter(this, void 0, void 0, function () {
842
852
  var obj, state;
843
853
  return __generator(this, function (_a) {
@@ -852,7 +862,7 @@ var MarketData = /** @class */ (function (_super) {
852
862
  obj = _a.sent();
853
863
  indexPriceInfo = [obj.idxPrices[0], obj.idxPrices[1], obj.mktClosed[0], obj.mktClosed[1]];
854
864
  _a.label = 2;
855
- case 2: return [4 /*yield*/, PerpetualDataHandler._queryPerpetualState(symbol, this.symbolToPerpStaticInfo, this.proxyContract, indexPriceInfo)];
865
+ case 2: return [4 /*yield*/, PerpetualDataHandler._queryPerpetualState(symbol, this.symbolToPerpStaticInfo, this.proxyContract, indexPriceInfo, overrides)];
856
866
  case 3:
857
867
  state = _a.sent();
858
868
  return [2 /*return*/, state];
@@ -927,7 +937,7 @@ var MarketData = /** @class */ (function (_super) {
927
937
  * @returns {Order[]} Array of user friendly order struct.
928
938
  * @ignore
929
939
  */
930
- MarketData.prototype.openOrdersOnOrderBook = function (traderAddr, orderBookContract) {
940
+ MarketData.prototype.openOrdersOnOrderBook = function (traderAddr, orderBookContract, overrides) {
931
941
  return __awaiter(this, void 0, void 0, function () {
932
942
  var userFriendlyOrders, haveMoreOrders, from, bulkSize, orders, k;
933
943
  return __generator(this, function (_a) {
@@ -940,15 +950,15 @@ var MarketData = /** @class */ (function (_super) {
940
950
  _a.label = 1;
941
951
  case 1:
942
952
  if (!haveMoreOrders) return [3 /*break*/, 3];
943
- return [4 /*yield*/, orderBookContract.getOrders(traderAddr, from, bulkSize)];
953
+ return [4 /*yield*/, orderBookContract.getOrders(traderAddr, from, bulkSize, overrides || {})];
944
954
  case 2:
945
955
  orders = _a.sent();
946
956
  k = 0;
947
- while (k < orders.length && orders[k].traderAddr != ZERO_ADDRESS) {
957
+ while (k < orders.length && orders[k].traderAddr !== ZERO_ADDRESS) {
948
958
  userFriendlyOrders.push(PerpetualDataHandler.fromClientOrder(orders[k], this.symbolToPerpStaticInfo));
949
959
  k++;
950
960
  }
951
- haveMoreOrders = orders[orders.length - 1].traderAddr != ZERO_ADDRESS;
961
+ haveMoreOrders = orders[orders.length - 1].traderAddr !== ZERO_ADDRESS;
952
962
  from = from + bulkSize;
953
963
  return [3 /*break*/, 1];
954
964
  case 3: return [2 /*return*/, userFriendlyOrders];
@@ -963,12 +973,12 @@ var MarketData = /** @class */ (function (_super) {
963
973
  * @returns Array of order-id's
964
974
  * @ignore
965
975
  */
966
- MarketData.orderIdsOfTrader = function (traderAddr, orderBookContract) {
976
+ MarketData.orderIdsOfTrader = function (traderAddr, orderBookContract, overrides) {
967
977
  return __awaiter(this, void 0, void 0, function () {
968
978
  var digestsRaw, k, digests;
969
979
  return __generator(this, function (_a) {
970
980
  switch (_a.label) {
971
- case 0: return [4 /*yield*/, orderBookContract.limitDigestsOfTrader(traderAddr, 0, 15)];
981
+ case 0: return [4 /*yield*/, orderBookContract.limitDigestsOfTrader(traderAddr, 0, 15, overrides || {})];
972
982
  case 1:
973
983
  digestsRaw = _a.sent();
974
984
  k = 0;
@@ -990,13 +1000,13 @@ var MarketData = /** @class */ (function (_super) {
990
1000
  * @param indexPrices optional index prices, will otherwise fetch from REST API
991
1001
  * @returns available margin in collateral currency
992
1002
  */
993
- MarketData.prototype.getAvailableMargin = function (traderAddr, symbol, indexPrices) {
1003
+ MarketData.prototype.getAvailableMargin = function (traderAddr, symbol, indexPrices, overrides) {
994
1004
  return __awaiter(this, void 0, void 0, function () {
995
1005
  var obj, perpID, traderState, idx_availableMargin, mgn;
996
1006
  return __generator(this, function (_a) {
997
1007
  switch (_a.label) {
998
1008
  case 0:
999
- if (this.proxyContract == null) {
1009
+ if (!this.proxyContract) {
1000
1010
  throw Error("no proxy contract initialized. Use createProxyInstance().");
1001
1011
  }
1002
1012
  if (!(indexPrices == undefined)) return [3 /*break*/, 2];
@@ -1007,7 +1017,7 @@ var MarketData = /** @class */ (function (_super) {
1007
1017
  _a.label = 2;
1008
1018
  case 2:
1009
1019
  perpID = PerpetualDataHandler.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
1010
- return [4 /*yield*/, this.proxyContract.getTraderState(perpID, traderAddr, indexPrices.map(function (x) { return floatToABK64x64(x); }))];
1020
+ return [4 /*yield*/, this.proxyContract.getTraderState(perpID, traderAddr, indexPrices.map(function (x) { return floatToABK64x64(x); }), overrides || {})];
1011
1021
  case 3:
1012
1022
  traderState = _a.sent();
1013
1023
  idx_availableMargin = 1;
@@ -1023,7 +1033,7 @@ var MarketData = /** @class */ (function (_super) {
1023
1033
  * @param brokerAddr address of the trader's broker or undefined
1024
1034
  * @returns a loyality score (4 worst, 1 best)
1025
1035
  */
1026
- MarketData.prototype.getTraderLoyalityScore = function (traderAddr, brokerAddr) {
1036
+ MarketData.prototype.getTraderLoyalityScore = function (traderAddr, brokerAddr, overrides) {
1027
1037
  return __awaiter(this, void 0, void 0, function () {
1028
1038
  var brokerProm, traderProm, k, brkrVol_1, trdrVol_1, totalBrokerVolume, totalTraderVolume, brkrVol, trdrVol, k, volumeCap, score, rank4;
1029
1039
  return __generator(this, function (_a) {
@@ -1036,10 +1046,10 @@ var MarketData = /** @class */ (function (_super) {
1036
1046
  traderProm = [];
1037
1047
  for (k = 0; k < this.poolStaticInfos.length; k++) {
1038
1048
  if (brokerAddr != "" && brokerAddr != undefined) {
1039
- brkrVol_1 = this.proxyContract.getCurrentBrokerVolume(this.poolStaticInfos[k].poolId, brokerAddr);
1049
+ brkrVol_1 = this.proxyContract.getCurrentBrokerVolume(this.poolStaticInfos[k].poolId, brokerAddr, overrides || {});
1040
1050
  brokerProm.push(brkrVol_1);
1041
1051
  }
1042
- trdrVol_1 = this.proxyContract.getCurrentTraderVolume(this.poolStaticInfos[k].poolId, traderAddr);
1052
+ trdrVol_1 = this.proxyContract.getCurrentTraderVolume(this.poolStaticInfos[k].poolId, traderAddr, overrides || {});
1043
1053
  traderProm.push(trdrVol_1);
1044
1054
  }
1045
1055
  totalBrokerVolume = 0;
@@ -1158,7 +1168,7 @@ var MarketData = /** @class */ (function (_super) {
1158
1168
  * @param _idxPriceMap symbol to price/market closed
1159
1169
  * @returns perpetual symbol to mid-prices mapping
1160
1170
  */
1161
- MarketData._queryMidPrices = function (_proxyContract, _nestedPerpetualIDs, _symbolToPerpStaticInfo, _perpetualIdToSymbol, _idxPriceMap) {
1171
+ MarketData._queryMidPrices = function (_proxyContract, _nestedPerpetualIDs, _symbolToPerpStaticInfo, _perpetualIdToSymbol, _idxPriceMap, overrides) {
1162
1172
  return __awaiter(this, void 0, void 0, function () {
1163
1173
  var chunkSize, perpetualIDChunks, midPriceMap, k, indexPrices, j, id, symbol3s, info, S2, S3, fMidPrice, j, id, symbol3s;
1164
1174
  return __generator(this, function (_a) {
@@ -1185,7 +1195,7 @@ var MarketData = /** @class */ (function (_super) {
1185
1195
  indexPrices.push(S2);
1186
1196
  indexPrices.push(S3);
1187
1197
  }
1188
- return [4 /*yield*/, _proxyContract.queryMidPrices(perpetualIDChunks[k], indexPrices)];
1198
+ return [4 /*yield*/, _proxyContract.queryMidPrices(perpetualIDChunks[k], indexPrices, overrides || {})];
1189
1199
  case 2:
1190
1200
  fMidPrice = _a.sent();
1191
1201
  for (j = 0; j < fMidPrice.length; j++) {
@@ -1202,7 +1212,7 @@ var MarketData = /** @class */ (function (_super) {
1202
1212
  });
1203
1213
  });
1204
1214
  };
1205
- MarketData._queryPoolStates = function (_proxyContract, _poolStaticInfos, _numPools) {
1215
+ MarketData._queryPoolStates = function (_proxyContract, _poolStaticInfos, _numPools, overrides) {
1206
1216
  return __awaiter(this, void 0, void 0, function () {
1207
1217
  var chunkSize, iFrom, poolStates, pools, k, poolSymbol, poolState;
1208
1218
  return __generator(this, function (_a) {
@@ -1214,7 +1224,7 @@ var MarketData = /** @class */ (function (_super) {
1214
1224
  _a.label = 1;
1215
1225
  case 1:
1216
1226
  if (!(iFrom <= _numPools)) return [3 /*break*/, 3];
1217
- return [4 /*yield*/, _proxyContract.getLiquidityPools(iFrom, iFrom + chunkSize)];
1227
+ return [4 /*yield*/, _proxyContract.getLiquidityPools(iFrom, iFrom + chunkSize, overrides || {})];
1218
1228
  case 2:
1219
1229
  pools = _a.sent();
1220
1230
  for (k = 0; k < pools.length; k++) {
@@ -1240,7 +1250,7 @@ var MarketData = /** @class */ (function (_super) {
1240
1250
  });
1241
1251
  });
1242
1252
  };
1243
- MarketData._queryPerpetualStates = function (_proxyContract, _nestedPerpetualIDs, _symbolList) {
1253
+ MarketData._queryPerpetualStates = function (_proxyContract, _nestedPerpetualIDs, _symbolList, overrides) {
1244
1254
  return __awaiter(this, void 0, void 0, function () {
1245
1255
  var chunkSize, perpetualIDChunks, perpStateInfos, k, perps, j, PerpetualState;
1246
1256
  return __generator(this, function (_a) {
@@ -1253,7 +1263,7 @@ var MarketData = /** @class */ (function (_super) {
1253
1263
  _a.label = 1;
1254
1264
  case 1:
1255
1265
  if (!(k < perpetualIDChunks.length)) return [3 /*break*/, 4];
1256
- return [4 /*yield*/, _proxyContract.getPerpetuals(perpetualIDChunks[k])];
1266
+ return [4 /*yield*/, _proxyContract.getPerpetuals(perpetualIDChunks[k], overrides || {})];
1257
1267
  case 2:
1258
1268
  perps = _a.sent();
1259
1269
  for (j = 0; j < perps.length; j++) {
@@ -1281,7 +1291,7 @@ var MarketData = /** @class */ (function (_super) {
1281
1291
  });
1282
1292
  });
1283
1293
  };
1284
- MarketData._exchangeInfo = function (_proxyContract, _poolStaticInfos, _symbolToPerpStaticInfo, _perpetualIdToSymbol, _nestedPerpetualIDs, _symbolList, _priceFeedGetter) {
1294
+ MarketData._exchangeInfo = function (_proxyContract, _poolStaticInfos, _symbolToPerpStaticInfo, _perpetualIdToSymbol, _nestedPerpetualIDs, _symbolList, _priceFeedGetter, overrides) {
1285
1295
  return __awaiter(this, void 0, void 0, function () {
1286
1296
  var factory, info, numPools, idxPriceMap, midPriceMap, poolStateInfos, perpStateInfos, k, perp, symbol3s, info_1, idxPriceS2Pair, idxPriceS3Pair, indexS3, poolId;
1287
1297
  return __generator(this, function (_a) {
@@ -1293,13 +1303,13 @@ var MarketData = /** @class */ (function (_super) {
1293
1303
  return [4 /*yield*/, MarketData._getAllIndexPrices(_symbolToPerpStaticInfo, _priceFeedGetter)];
1294
1304
  case 1:
1295
1305
  idxPriceMap = _a.sent();
1296
- return [4 /*yield*/, MarketData._queryMidPrices(_proxyContract, _nestedPerpetualIDs, _symbolToPerpStaticInfo, _perpetualIdToSymbol, idxPriceMap)];
1306
+ return [4 /*yield*/, MarketData._queryMidPrices(_proxyContract, _nestedPerpetualIDs, _symbolToPerpStaticInfo, _perpetualIdToSymbol, idxPriceMap, overrides)];
1297
1307
  case 2:
1298
1308
  midPriceMap = _a.sent();
1299
- return [4 /*yield*/, MarketData._queryPoolStates(_proxyContract, _poolStaticInfos, numPools)];
1309
+ return [4 /*yield*/, MarketData._queryPoolStates(_proxyContract, _poolStaticInfos, numPools, overrides)];
1300
1310
  case 3:
1301
1311
  poolStateInfos = _a.sent();
1302
- return [4 /*yield*/, MarketData._queryPerpetualStates(_proxyContract, _nestedPerpetualIDs, _symbolList)];
1312
+ return [4 /*yield*/, MarketData._queryPerpetualStates(_proxyContract, _nestedPerpetualIDs, _symbolList, overrides)];
1303
1313
  case 4:
1304
1314
  perpStateInfos = _a.sent();
1305
1315
  // put together all info