@d8x/perpetuals-sdk 0.7.7 → 0.7.8

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 (165) hide show
  1. package/dist/cjs/abi/IPyth.json +471 -0
  2. package/dist/cjs/abi/OracleFactory.json +457 -0
  3. package/dist/cjs/accountTrade.js +134 -243
  4. package/dist/cjs/accountTrade.js.map +1 -1
  5. package/dist/cjs/brokerTool.js +144 -290
  6. package/dist/cjs/brokerTool.js.map +1 -1
  7. package/dist/cjs/config/priceFeedConfig.json +1 -1
  8. package/dist/cjs/contracts/IPyth.d.ts +234 -0
  9. package/dist/cjs/contracts/IPyth.js +3 -0
  10. package/dist/cjs/contracts/IPyth.js.map +1 -0
  11. package/dist/cjs/contracts/OracleFactory.d.ts +288 -0
  12. package/dist/cjs/contracts/OracleFactory.js +3 -0
  13. package/dist/cjs/contracts/OracleFactory.js.map +1 -0
  14. package/dist/cjs/contracts/factories/ERC20__factory.js +9 -12
  15. package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -1
  16. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +9 -12
  17. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  18. package/dist/cjs/contracts/factories/IPyth__factory.d.ts +367 -0
  19. package/dist/cjs/contracts/factories/IPyth__factory.js +489 -0
  20. package/dist/cjs/contracts/factories/IPyth__factory.js.map +1 -0
  21. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +9 -12
  22. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  23. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +9 -12
  24. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  25. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +9 -12
  26. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  27. package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +361 -0
  28. package/dist/cjs/contracts/factories/OracleFactory__factory.js +475 -0
  29. package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -0
  30. package/dist/cjs/contracts/factories/ShareToken__factory.js +9 -12
  31. package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -1
  32. package/dist/cjs/contracts/factories/index.d.ts +2 -0
  33. package/dist/cjs/contracts/factories/index.js +5 -1
  34. package/dist/cjs/contracts/factories/index.js.map +1 -1
  35. package/dist/cjs/contracts/index.d.ts +4 -0
  36. package/dist/cjs/contracts/index.js +6 -2
  37. package/dist/cjs/contracts/index.js.map +1 -1
  38. package/dist/cjs/d8XMath.js +65 -66
  39. package/dist/cjs/d8XMath.js.map +1 -1
  40. package/dist/cjs/index.d.ts +2 -1
  41. package/dist/cjs/index.js +14 -12
  42. package/dist/cjs/index.js.map +1 -1
  43. package/dist/cjs/liquidatorTool.js +80 -137
  44. package/dist/cjs/liquidatorTool.js.map +1 -1
  45. package/dist/cjs/liquidityProviderTool.js +33 -65
  46. package/dist/cjs/liquidityProviderTool.js.map +1 -1
  47. package/dist/cjs/marketData.js +635 -978
  48. package/dist/cjs/marketData.js.map +1 -1
  49. package/dist/cjs/nodeSDKTypes.js +10 -22
  50. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  51. package/dist/cjs/orderReferrerTool.js +200 -323
  52. package/dist/cjs/orderReferrerTool.js.map +1 -1
  53. package/dist/cjs/perpetualDataHandler.js +404 -550
  54. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  55. package/dist/cjs/perpetualEventHandler.js +129 -190
  56. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  57. package/dist/cjs/priceFeeds.js +223 -335
  58. package/dist/cjs/priceFeeds.js.map +1 -1
  59. package/dist/cjs/traderDigests.js +20 -23
  60. package/dist/cjs/traderDigests.js.map +1 -1
  61. package/dist/cjs/traderInterface.js +54 -87
  62. package/dist/cjs/traderInterface.js.map +1 -1
  63. package/dist/cjs/triangulator.js +34 -38
  64. package/dist/cjs/triangulator.js.map +1 -1
  65. package/dist/cjs/utils.js +18 -32
  66. package/dist/cjs/utils.js.map +1 -1
  67. package/dist/cjs/version.d.ts +1 -1
  68. package/dist/cjs/version.js +1 -1
  69. package/dist/cjs/writeAccessHandler.js +78 -112
  70. package/dist/cjs/writeAccessHandler.js.map +1 -1
  71. package/dist/esm/abi/IPyth.json +471 -0
  72. package/dist/esm/abi/OracleFactory.json +457 -0
  73. package/dist/esm/accountTrade.js +126 -237
  74. package/dist/esm/accountTrade.js.map +1 -1
  75. package/dist/esm/brokerTool.js +136 -284
  76. package/dist/esm/brokerTool.js.map +1 -1
  77. package/dist/esm/config/priceFeedConfig.json +1 -1
  78. package/dist/esm/contracts/IPyth.d.ts +234 -0
  79. package/dist/esm/contracts/IPyth.js +2 -0
  80. package/dist/esm/contracts/IPyth.js.map +1 -0
  81. package/dist/esm/contracts/OracleFactory.d.ts +288 -0
  82. package/dist/esm/contracts/OracleFactory.js +2 -0
  83. package/dist/esm/contracts/OracleFactory.js.map +1 -0
  84. package/dist/esm/contracts/factories/ERC20__factory.js +8 -12
  85. package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
  86. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +8 -12
  87. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  88. package/dist/esm/contracts/factories/IPyth__factory.d.ts +367 -0
  89. package/dist/esm/contracts/factories/IPyth__factory.js +485 -0
  90. package/dist/esm/contracts/factories/IPyth__factory.js.map +1 -0
  91. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +8 -12
  92. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  93. package/dist/esm/contracts/factories/LimitOrderBook__factory.js +8 -12
  94. package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  95. package/dist/esm/contracts/factories/MockTokenSwap__factory.js +8 -12
  96. package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  97. package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +361 -0
  98. package/dist/esm/contracts/factories/OracleFactory__factory.js +471 -0
  99. package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -0
  100. package/dist/esm/contracts/factories/ShareToken__factory.js +8 -12
  101. package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
  102. package/dist/esm/contracts/factories/index.d.ts +2 -0
  103. package/dist/esm/contracts/factories/index.js +2 -0
  104. package/dist/esm/contracts/factories/index.js.map +1 -1
  105. package/dist/esm/contracts/index.d.ts +4 -0
  106. package/dist/esm/contracts/index.js +2 -0
  107. package/dist/esm/contracts/index.js.map +1 -1
  108. package/dist/esm/d8XMath.js +63 -64
  109. package/dist/esm/d8XMath.js.map +1 -1
  110. package/dist/esm/index.d.ts +2 -1
  111. package/dist/esm/index.js +2 -1
  112. package/dist/esm/index.js.map +1 -1
  113. package/dist/esm/liquidatorTool.js +77 -136
  114. package/dist/esm/liquidatorTool.js.map +1 -1
  115. package/dist/esm/liquidityProviderTool.js +29 -63
  116. package/dist/esm/liquidityProviderTool.js.map +1 -1
  117. package/dist/esm/marketData.js +626 -971
  118. package/dist/esm/marketData.js.map +1 -1
  119. package/dist/esm/nodeSDKTypes.js +36 -48
  120. package/dist/esm/nodeSDKTypes.js.map +1 -1
  121. package/dist/esm/orderReferrerTool.js +194 -319
  122. package/dist/esm/orderReferrerTool.js.map +1 -1
  123. package/dist/esm/perpetualDataHandler.js +394 -542
  124. package/dist/esm/perpetualDataHandler.js.map +1 -1
  125. package/dist/esm/perpetualEventHandler.js +126 -188
  126. package/dist/esm/perpetualEventHandler.js.map +1 -1
  127. package/dist/esm/priceFeeds.js +218 -332
  128. package/dist/esm/priceFeeds.js.map +1 -1
  129. package/dist/esm/traderDigests.js +15 -19
  130. package/dist/esm/traderDigests.js.map +1 -1
  131. package/dist/esm/traderInterface.js +48 -83
  132. package/dist/esm/traderInterface.js.map +1 -1
  133. package/dist/esm/triangulator.js +34 -39
  134. package/dist/esm/triangulator.js.map +1 -1
  135. package/dist/esm/utils.js +16 -30
  136. package/dist/esm/utils.js.map +1 -1
  137. package/dist/esm/version.d.ts +1 -1
  138. package/dist/esm/version.js +1 -1
  139. package/dist/esm/version.js.map +1 -1
  140. package/dist/esm/writeAccessHandler.js +69 -105
  141. package/dist/esm/writeAccessHandler.js.map +1 -1
  142. package/package.json +1 -1
  143. package/src/abi/IPyth.json +471 -0
  144. package/src/abi/OracleFactory.json +457 -0
  145. package/src/accountTrade.ts +1 -6
  146. package/src/config/priceFeedConfig.json +1 -1
  147. package/src/contracts/IPyth.ts +571 -0
  148. package/src/contracts/OracleFactory.ts +708 -0
  149. package/src/contracts/factories/IPyth__factory.ts +489 -0
  150. package/src/contracts/factories/{zkevmTestnet/ShareToken__factory.ts → OracleFactory__factory.ts} +222 -206
  151. package/src/contracts/factories/index.ts +2 -0
  152. package/src/contracts/index.ts +4 -0
  153. package/src/index.ts +2 -0
  154. package/src/orderReferrerTool.ts +1 -3
  155. package/src/priceFeeds.ts +1 -1
  156. package/src/version.ts +1 -1
  157. package/src/contracts/factories/zkevmTestnet/IPerpetualManager__factory.ts +0 -5804
  158. package/src/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.ts +0 -263
  159. package/src/contracts/factories/zkevmTestnet/LimitOrderBook__factory.ts +0 -1131
  160. package/src/contracts/factories/zkevmTestnet/index.ts +0 -7
  161. package/src/contracts/zkevmTestnet/IPerpetualManager.ts +0 -7109
  162. package/src/contracts/zkevmTestnet/LimitOrderBook.ts +0 -1341
  163. package/src/contracts/zkevmTestnet/LimitOrderBookFactory.ts +0 -472
  164. package/src/contracts/zkevmTestnet/ShareToken.ts +0 -695
  165. package/src/contracts/zkevmTestnet/index.ts +0 -7
@@ -11,7 +11,7 @@ import { DECIMALS, ONE_64x64 } from "./nodeSDKTypes";
11
11
  * @returns {number} x/2^64 in number-format (float)
12
12
  */
13
13
  export function ABDK29ToFloat(x) {
14
- return Number(x) / Math.pow(2, 29);
14
+ return Number(x) / 2 ** 29;
15
15
  }
16
16
  /**
17
17
  * Convert ABK64x64 bigint-format to float.
@@ -21,18 +21,18 @@ export function ABDK29ToFloat(x) {
21
21
  */
22
22
  export function ABK64x64ToFloat(x) {
23
23
  if (typeof x == "number") {
24
- return x / Math.pow(2, 29);
24
+ return x / 2 ** 29;
25
25
  }
26
- var s = x.lt(0) ? -1 : 1;
26
+ let s = x.lt(0) ? -1 : 1;
27
27
  x = x.mul(s);
28
- var xInt = x.div(ONE_64x64);
29
- var dec18 = BigNumber.from(10).pow(BigNumber.from(18));
30
- var xDec = x.sub(xInt.mul(ONE_64x64));
28
+ let xInt = x.div(ONE_64x64);
29
+ let dec18 = BigNumber.from(10).pow(BigNumber.from(18));
30
+ let xDec = x.sub(xInt.mul(ONE_64x64));
31
31
  xDec = xDec.mul(dec18).div(ONE_64x64);
32
- var k = 18 - xDec.toString().length;
32
+ let k = 18 - xDec.toString().length;
33
33
  // console.assert(k >= 0);
34
- var sPad = "0".repeat(k);
35
- var NumberStr = xInt.toString() + "." + sPad + xDec.toString();
34
+ let sPad = "0".repeat(k);
35
+ let NumberStr = xInt.toString() + "." + sPad + xDec.toString();
36
36
  return parseFloat(NumberStr) * s;
37
37
  }
38
38
  /**
@@ -42,14 +42,14 @@ export function ABK64x64ToFloat(x) {
42
42
  */
43
43
  export function decNToFloat(x, numDec) {
44
44
  //x: BigNumber in DecN format to float
45
- var DECIMALS = BigNumber.from(10).pow(BigNumber.from(numDec));
46
- var s = x.lt(0) ? -1 : 1;
45
+ const DECIMALS = BigNumber.from(10).pow(BigNumber.from(numDec));
46
+ let s = x.lt(0) ? -1 : 1;
47
47
  x = x.mul(s);
48
- var xInt = x.div(DECIMALS);
49
- var xDec = x.sub(xInt.mul(DECIMALS));
50
- var k = numDec - xDec.toString().length;
51
- var sPad = "0".repeat(k);
52
- var NumberStr = xInt.toString() + "." + sPad + xDec.toString();
48
+ let xInt = x.div(DECIMALS);
49
+ let xDec = x.sub(xInt.mul(DECIMALS));
50
+ let k = numDec - xDec.toString().length;
51
+ let sPad = "0".repeat(k);
52
+ let NumberStr = xInt.toString() + "." + sPad + xDec.toString();
53
53
  return parseFloat(NumberStr) * s;
54
54
  }
55
55
  /**
@@ -59,13 +59,13 @@ export function decNToFloat(x, numDec) {
59
59
  */
60
60
  export function dec18ToFloat(x) {
61
61
  //x: BigNumber in Dec18 format to float
62
- var s = x.lt(0) ? -1 : 1;
62
+ let s = x.lt(0) ? -1 : 1;
63
63
  x = x.mul(s);
64
- var xInt = x.div(DECIMALS);
65
- var xDec = x.sub(xInt.mul(DECIMALS));
66
- var k = 18 - xDec.toString().length;
67
- var sPad = "0".repeat(k);
68
- var NumberStr = xInt.toString() + "." + sPad + xDec.toString();
64
+ let xInt = x.div(DECIMALS);
65
+ let xDec = x.sub(xInt.mul(DECIMALS));
66
+ let k = 18 - xDec.toString().length;
67
+ let sPad = "0".repeat(k);
68
+ let NumberStr = xInt.toString() + "." + sPad + xDec.toString();
69
69
  return parseFloat(NumberStr) * s;
70
70
  }
71
71
  /**
@@ -79,15 +79,15 @@ export function floatToABK64x64(x) {
79
79
  if (x === 0) {
80
80
  return BigNumber.from(0);
81
81
  }
82
- var sg = Math.sign(x);
82
+ let sg = Math.sign(x);
83
83
  x = Math.abs(x);
84
- var strX = Number(x).toFixed(18);
85
- var arrX = strX.split(".");
86
- var xInt = BigNumber.from(arrX[0]);
87
- var xDec = BigNumber.from(arrX[1]);
88
- var xIntBig = xInt.mul(ONE_64x64);
89
- var dec18 = BigNumber.from(10).pow(BigNumber.from(18));
90
- var xDecBig = xDec.mul(ONE_64x64).div(dec18);
84
+ let strX = Number(x).toFixed(18);
85
+ const arrX = strX.split(".");
86
+ let xInt = BigNumber.from(arrX[0]);
87
+ let xDec = BigNumber.from(arrX[1]);
88
+ let xIntBig = xInt.mul(ONE_64x64);
89
+ let dec18 = BigNumber.from(10).pow(BigNumber.from(18));
90
+ let xDecBig = xDec.mul(ONE_64x64).div(dec18);
91
91
  return xIntBig.add(xDecBig).mul(sg);
92
92
  }
93
93
  /**
@@ -100,13 +100,13 @@ export function floatToDec18(x) {
100
100
  if (x === 0) {
101
101
  return BigNumber.from(0);
102
102
  }
103
- var sg = Math.sign(x);
103
+ let sg = Math.sign(x);
104
104
  x = Math.abs(x);
105
- var strX = x.toFixed(18);
106
- var arrX = strX.split(".");
107
- var xInt = BigNumber.from(arrX[0]);
108
- var xDec = BigNumber.from(arrX[1]);
109
- var xIntBig = xInt.mul(DECIMALS);
105
+ let strX = x.toFixed(18);
106
+ const arrX = strX.split(".");
107
+ let xInt = BigNumber.from(arrX[0]);
108
+ let xDec = BigNumber.from(arrX[1]);
109
+ let xIntBig = xInt.mul(DECIMALS);
110
110
  return xIntBig.add(xDec).mul(sg);
111
111
  }
112
112
  /**
@@ -120,13 +120,13 @@ export function floatToDecN(x, decimals) {
120
120
  if (x === 0) {
121
121
  return BigNumber.from(0);
122
122
  }
123
- var sg = Math.sign(x);
123
+ let sg = Math.sign(x);
124
124
  x = Math.abs(x);
125
- var strX = x.toFixed(decimals);
126
- var arrX = strX.split(".");
127
- var xInt = BigNumber.from(arrX[0]);
128
- var xDec = BigNumber.from(arrX[1]);
129
- var xIntBig = xInt.mul(BigNumber.from(10).pow(BigNumber.from(decimals)));
125
+ let strX = x.toFixed(decimals);
126
+ const arrX = strX.split(".");
127
+ let xInt = BigNumber.from(arrX[0]);
128
+ let xDec = BigNumber.from(arrX[1]);
129
+ let xIntBig = xInt.mul(BigNumber.from(10).pow(BigNumber.from(decimals)));
130
130
  return xIntBig.add(xDec).mul(sg);
131
131
  }
132
132
  /**
@@ -136,13 +136,13 @@ export function floatToDecN(x, decimals) {
136
136
  * @returns number of decimals
137
137
  */
138
138
  export function countDecimalsOf(x, precision) {
139
- var decimalPart = x - Math.floor(x);
139
+ let decimalPart = x - Math.floor(x);
140
140
  if (decimalPart == 0) {
141
141
  return 0;
142
142
  }
143
- var decimalPartStr = decimalPart.toFixed(precision);
143
+ let decimalPartStr = decimalPart.toFixed(precision);
144
144
  // remove trailing zeros
145
- var c = decimalPartStr.charAt(decimalPartStr.length - 1);
145
+ let c = decimalPartStr.charAt(decimalPartStr.length - 1);
146
146
  while (c == "0") {
147
147
  decimalPartStr = decimalPartStr.substring(0, decimalPartStr.length - 1);
148
148
  c = decimalPartStr.charAt(decimalPartStr.length - 1);
@@ -163,13 +163,12 @@ export function countDecimalsOf(x, precision) {
163
163
  * @param precision optional lot size precision (e.g. if 0.01999 should be 0.02 then precision could be 5)
164
164
  * @returns formated number string
165
165
  */
166
- export function roundToLotString(x, lot, precision) {
167
- if (precision === void 0) { precision = 7; }
166
+ export function roundToLotString(x, lot, precision = 7) {
168
167
  // round lot to precision
169
- var lotRounded = Math.round(lot / Math.pow(10, -precision)) * Math.pow(10, -precision);
170
- var v = Math.round(x / lotRounded) * lotRounded;
168
+ let lotRounded = Math.round(lot / 10 ** -precision) * 10 ** -precision;
169
+ let v = Math.round(x / lotRounded) * lotRounded;
171
170
  // number of digits of rounded lot
172
- var numDig = countDecimalsOf(lotRounded, precision);
171
+ let numDig = countDecimalsOf(lotRounded, precision);
173
172
  return v.toFixed(numDig);
174
173
  }
175
174
  /**
@@ -220,8 +219,8 @@ export function calculateLiquidationPriceCollateralQuanto(LockedInValueQC, posit
220
219
  // m_r = (Sm * Pi - L + cash * S3) / (Sm * |Pi|)
221
220
  // m_r = [Sm * Pi - L + cash * S3(0) * (1 + sign(Pi) (Sm / Sm(0) - 1)] / (Sm * |Pi|)
222
221
  // -> Sm * (m_r |Pi| - Pi - cash * S3(0) * sign(Pi) / Sm(0)) = - L + cash * S3(0) * (1 - sign(Pi))
223
- var numerator = -LockedInValueQC + cash_cc * S3 * (1 - Math.sign(position));
224
- var denominator = maintenance_margin_rate * Math.abs(position) - position - (cash_cc * S3 * Math.sign(position)) / Sm;
222
+ let numerator = -LockedInValueQC + cash_cc * S3 * (1 - Math.sign(position));
223
+ let denominator = maintenance_margin_rate * Math.abs(position) - position - (cash_cc * S3 * Math.sign(position)) / Sm;
225
224
  return numerator / denominator;
226
225
  }
227
226
  /**
@@ -236,8 +235,8 @@ export function calculateLiquidationPriceCollateralQuanto(LockedInValueQC, posit
236
235
  export function calculateLiquidationPriceCollateralQuote(LockedInValueQC, position, cash_cc, maintenance_margin_rate) {
237
236
  // m_r = (Sm * Pi - L + cash ) / (Sm * |Pi|)
238
237
  // -> Sm * (m_r |Pi| - Pi) = - L + cash
239
- var numerator = -LockedInValueQC + cash_cc;
240
- var denominator = maintenance_margin_rate * Math.abs(position) - position;
238
+ let numerator = -LockedInValueQC + cash_cc;
239
+ let denominator = maintenance_margin_rate * Math.abs(position) - position;
241
240
  return numerator / denominator;
242
241
  }
243
242
  /**
@@ -257,15 +256,15 @@ export function getMarginRequiredForLeveragedTrade(targetLeverage, currentPositi
257
256
  // we solve for margin in:
258
257
  // |new position| * Sm / leverage + fee rate * |trade amount| * S2 = margin * S3 + current position * Sm - L + trade amount * (Sm - trade price)
259
258
  // --> M S3 = |P'|Sm/L + FeeQC - PnL + (P'-P)(Price - Sm) = pos value / leverage + fees + price impact - pnl
260
- var isClosing = currentPosition != 0 && currentPosition * tradeAmount < 0 && currentPosition * (currentPosition + tradeAmount) >= 0;
261
- var feesCC = (feeRate * Math.abs(tradeAmount) * indexPriceS2) / indexPriceS3;
262
- var collRequired = feesCC;
259
+ let isClosing = currentPosition != 0 && currentPosition * tradeAmount < 0 && currentPosition * (currentPosition + tradeAmount) >= 0;
260
+ let feesCC = (feeRate * Math.abs(tradeAmount) * indexPriceS2) / indexPriceS3;
261
+ let collRequired = feesCC;
263
262
  if (!isClosing) {
264
263
  if (targetLeverage == undefined || targetLeverage <= 0) {
265
264
  throw Error("opening trades must have positive leverage");
266
265
  }
267
266
  // unrealized pnl (could be + or -) - price impact premium (+)
268
- var pnlQC = currentPosition * markPrice - currentLockedInValue - tradeAmount * (tradePrice - markPrice);
267
+ let pnlQC = currentPosition * markPrice - currentLockedInValue - tradeAmount * (tradePrice - markPrice);
269
268
  collRequired +=
270
269
  Math.max(0, (Math.abs(currentPosition + tradeAmount) * markPrice) / targetLeverage - pnlQC) / indexPriceS3;
271
270
  }
@@ -275,8 +274,8 @@ export function getMaxSignedPositionSize(marginCollateral, currentPosition, curr
275
274
  // we solve for new position in:
276
275
  // |new position| * Sm / leverage + fee rate * |trade amount| * S2 = margin * S3 + current position * Sm - L + trade amount * (Sm - entry price)
277
276
  // |trade amount| = (new position - current position) * direction
278
- var availableCash = marginCollateral * indexPriceS3 + currentPosition * markPrice - currentLockedInValue;
279
- var effectiveMarginRate = markPrice * initialMarginRate + feeRate * indexPriceS2 + direction * (limitPrice - markPrice);
277
+ let availableCash = marginCollateral * indexPriceS3 + currentPosition * markPrice - currentLockedInValue;
278
+ let effectiveMarginRate = markPrice * initialMarginRate + feeRate * indexPriceS2 + direction * (limitPrice - markPrice);
280
279
  return availableCash / effectiveMarginRate;
281
280
  }
282
281
  /**
@@ -291,8 +290,8 @@ export function getMaxSignedPositionSize(marginCollateral, currentPosition, curr
291
290
  * @returns Leverage of the resulting position
292
291
  */
293
292
  export function getNewPositionLeverage(tradeAmount, marginCollateral, currentPosition, currentLockedInValue, price, indexPriceS3, markPrice) {
294
- var newPosition = tradeAmount + currentPosition;
295
- var pnlQC = currentPosition * markPrice - currentLockedInValue + tradeAmount * (markPrice - price);
293
+ let newPosition = tradeAmount + currentPosition;
294
+ let pnlQC = currentPosition * markPrice - currentLockedInValue + tradeAmount * (markPrice - price);
296
295
  return (Math.abs(newPosition) * markPrice) / (marginCollateral * indexPriceS3 + pnlQC);
297
296
  }
298
297
  /**
@@ -310,11 +309,11 @@ export function getNewPositionLeverage(tradeAmount, marginCollateral, currentPos
310
309
  * @returns {number} Amount to be deposited to have the given leverage when trading into position pos before fees
311
310
  */
312
311
  export function getDepositAmountForLvgTrade(pos0, b0, tradeAmnt, targetLvg, price, S3, S2Mark) {
313
- var pnl = (tradeAmnt * (S2Mark - price)) / S3;
312
+ let pnl = (tradeAmnt * (S2Mark - price)) / S3;
314
313
  if (targetLvg == 0) {
315
314
  targetLvg = (Math.abs(pos0) * S2Mark) / S3 / b0;
316
315
  }
317
- var b = (Math.abs(pos0 + tradeAmnt) * S2Mark) / S3 / targetLvg;
316
+ let b = (Math.abs(pos0 + tradeAmnt) * S2Mark) / S3 / targetLvg;
318
317
  return -(b0 + pnl - b);
319
318
  }
320
319
  //# sourceMappingURL=d8XMath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"d8XMath.js","sourceRoot":"","sources":["../../src/d8XMath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"d8XMath.js","sourceRoot":"","sources":["../../src/d8XMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAErD;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,CAAqB;IACjD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,CAAqB;IACnD,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;KACpB;IACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5B,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IACtC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;IACpC,0BAA0B;IAC1B,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC/D,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,CAAY,EAAE,MAAc;IACtD,sCAAsC;IACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3B,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;IACxC,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC/D,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,CAAY;IACvC,uCAAuC;IACvC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3B,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;IACpC,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC/D,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,0CAA0C;IAC1C,6CAA6C;IAC7C,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC1B;IACD,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,yBAAyB;IACzB,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC1B;IACD,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,QAAgB;IACrD,yBAAyB;IACzB,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC1B;IACD,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,SAAiB;IAC1D,IAAI,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,WAAW,IAAI,CAAC,EAAE;QACpB,OAAO,CAAC,CAAC;KACV;IACD,IAAI,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpD,wBAAwB;IACxB,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,GAAG,EAAE;QACf,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACtD;IACD,oBAAoB;IACpB,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,GAAG,EAAE;QACf,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACtD;IAED,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,GAAW,EAAE,YAAoB,CAAC;IAC5E,yBAAyB;IACzB,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;IACvE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;IAEhD,kCAAkC;IAClC,IAAI,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACpD,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAY,EAAE,CAAY;IACjD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAY,EAAE,CAAY;IACjD,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uCAAuC,CACrD,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,uBAA+B;IAE/B,yCAAyC;IACzC,kDAAkD;IAClD,qCAAqC;IACrC,OAAO,eAAe,GAAG,CAAC,QAAQ,GAAG,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,yCAAyC,CACvD,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,uBAA+B,EAC/B,EAAU,EACV,EAAU;IAEV,iEAAiE;IACjE,iDAAiD;IACjD,qFAAqF;IACrF,kGAAkG;IAClG,IAAI,SAAS,GAAG,CAAC,eAAe,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5E,IAAI,WAAW,GAAG,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;IACtH,OAAO,SAAS,GAAG,WAAW,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wCAAwC,CACtD,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,uBAA+B;IAE/B,6CAA6C;IAC7C,uCAAuC;IACvC,IAAI,SAAS,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC;IAC3C,IAAI,WAAW,GAAG,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAC1E,OAAO,SAAS,GAAG,WAAW,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kCAAkC,CAChD,cAAkC,EAClC,eAAuB,EACvB,oBAA4B,EAC5B,WAAmB,EACnB,SAAiB,EACjB,YAAoB,EACpB,YAAoB,EACpB,UAAkB,EAClB,OAAe;IAEf,0BAA0B;IAC1B,gJAAgJ;IAChJ,4GAA4G;IAC5G,IAAI,SAAS,GACX,eAAe,IAAI,CAAC,IAAI,eAAe,GAAG,WAAW,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACtH,IAAI,MAAM,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,GAAG,YAAY,CAAC;IAC7E,IAAI,YAAY,GAAG,MAAM,CAAC;IAE1B,IAAI,CAAC,SAAS,EAAE;QACd,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,CAAC,EAAE;YACtD,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC3D;QACD,+DAA+D;QAC/D,IAAI,KAAK,GAAG,eAAe,GAAG,SAAS,GAAG,oBAAoB,GAAG,WAAW,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;QACxG,YAAY;YACV,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC,GAAG,cAAc,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC;KAC9G;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,gBAAwB,EACxB,eAAuB,EACvB,oBAA4B,EAC5B,SAAiB,EACjB,UAAkB,EAClB,iBAAyB,EACzB,OAAe,EACf,SAAiB,EACjB,YAAoB,EACpB,YAAoB;IAEpB,gCAAgC;IAChC,gJAAgJ;IAChJ,iEAAiE;IACjE,IAAI,aAAa,GAAG,gBAAgB,GAAG,YAAY,GAAG,eAAe,GAAG,SAAS,GAAG,oBAAoB,CAAC;IACzG,IAAI,mBAAmB,GACrB,SAAS,GAAG,iBAAiB,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAEhG,OAAO,aAAa,GAAG,mBAAmB,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,gBAAwB,EACxB,eAAuB,EACvB,oBAA4B,EAC5B,KAAa,EACb,YAAoB,EACpB,SAAiB;IAEjB,IAAI,WAAW,GAAG,WAAW,GAAG,eAAe,CAAC;IAChD,IAAI,KAAK,GAAG,eAAe,GAAG,SAAS,GAAG,oBAAoB,GAAG,WAAW,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;IACnG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC;AACzF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAY,EACZ,EAAU,EACV,SAAiB,EACjB,SAAiB,EACjB,KAAa,EACb,EAAU,EACV,MAAc;IAEd,IAAI,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9C,IAAI,SAAS,IAAI,CAAC,EAAE;QAClB,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;KACjD;IACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAC/D,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AACzB,CAAC"}
@@ -11,5 +11,6 @@ import WriteAccessHandler from "./writeAccessHandler";
11
11
  import LiquidatorTool from "./liquidatorTool";
12
12
  import TraderInterface from "./traderInterface";
13
13
  import PerpetualEventHandler from "./perpetualEventHandler";
14
- export { AccountTrade, BrokerTool, LiquidityProviderTool, MarketData, OrderReferrerTool, PerpetualDataHandler, WriteAccessHandler, LiquidatorTool, TraderInterface, PerpetualEventHandler, };
14
+ import PriceFeeds from "./priceFeeds";
15
+ export { AccountTrade, BrokerTool, LiquidityProviderTool, MarketData, OrderReferrerTool, PerpetualDataHandler, WriteAccessHandler, LiquidatorTool, TraderInterface, PerpetualEventHandler, PriceFeeds, };
15
16
  export * from "./version";
package/dist/esm/index.js CHANGED
@@ -11,6 +11,7 @@ import WriteAccessHandler from "./writeAccessHandler";
11
11
  import LiquidatorTool from "./liquidatorTool";
12
12
  import TraderInterface from "./traderInterface";
13
13
  import PerpetualEventHandler from "./perpetualEventHandler";
14
- export { AccountTrade, BrokerTool, LiquidityProviderTool, MarketData, OrderReferrerTool, PerpetualDataHandler, WriteAccessHandler, LiquidatorTool, TraderInterface, PerpetualEventHandler, };
14
+ import PriceFeeds from "./priceFeeds";
15
+ export { AccountTrade, BrokerTool, LiquidityProviderTool, MarketData, OrderReferrerTool, PerpetualDataHandler, WriteAccessHandler, LiquidatorTool, TraderInterface, PerpetualEventHandler, PriceFeeds, };
15
16
  export * from "./version";
16
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAE1B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EACL,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,qBAAqB,GACtB,CAAC;AAEF,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAE1B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,OAAO,EACL,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,UAAU,GACX,CAAC;AAEF,cAAc,WAAW,CAAC"}
@@ -1,4 +1,3 @@
1
- import { __assign, __awaiter, __extends, __generator } from "tslib";
2
1
  import { ABK64x64ToFloat, floatToABK64x64 } from "./d8XMath";
3
2
  import WriteAccessHandler from "./writeAccessHandler";
4
3
  /**
@@ -6,8 +5,7 @@ import WriteAccessHandler from "./writeAccessHandler";
6
5
  * and executes smart-contract interactions that require gas-payments.
7
6
  * @extends WriteAccessHandler
8
7
  */
9
- var LiquidatorTool = /** @class */ (function (_super) {
10
- __extends(LiquidatorTool, _super);
8
+ export default class LiquidatorTool extends WriteAccessHandler {
11
9
  /**
12
10
  * Constructs a LiquidatorTool instance for a given configuration and private key.
13
11
  * @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
@@ -28,8 +26,8 @@ var LiquidatorTool = /** @class */ (function (_super) {
28
26
  *
29
27
  * @param {string | Signer} signer Private key or ethers Signer of the account
30
28
  */
31
- function LiquidatorTool(config, signer) {
32
- return _super.call(this, config, signer) || this;
29
+ constructor(config, signer) {
30
+ super(config, signer);
33
31
  }
34
32
  /**
35
33
  * Liquidate a trader.
@@ -56,37 +54,27 @@ var LiquidatorTool = /** @class */ (function (_super) {
56
54
  *
57
55
  * @returns Transaction object.
58
56
  */
59
- LiquidatorTool.prototype.liquidateTrader = function (symbol, traderAddr, liquidatorAddr, priceFeedData, overrides) {
60
- if (liquidatorAddr === void 0) { liquidatorAddr = ""; }
61
- return __awaiter(this, void 0, void 0, function () {
62
- var perpID;
63
- return __generator(this, function (_a) {
64
- switch (_a.label) {
65
- case 0:
66
- // this operation spends gas, so signer is required
67
- if (this.proxyContract == null || this.signer == null) {
68
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
69
- }
70
- // liquidator is signer unless specified otherwise
71
- if (liquidatorAddr == "") {
72
- liquidatorAddr = this.traderAddr;
73
- }
74
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
75
- if (!(priceFeedData == undefined)) return [3 /*break*/, 2];
76
- return [4 /*yield*/, this.fetchLatestFeedPriceInfo(symbol)];
77
- case 1:
78
- priceFeedData = _a.sent();
79
- _a.label = 2;
80
- case 2:
81
- if (!overrides || overrides.value == undefined) {
82
- overrides = __assign({ value: priceFeedData.timestamps.length * this.PRICE_UPDATE_FEE_GWEI }, overrides);
83
- }
84
- return [4 /*yield*/, this._liquidateByAMM(perpID, liquidatorAddr, traderAddr, priceFeedData, overrides)];
85
- case 3: return [2 /*return*/, _a.sent()];
86
- }
87
- });
88
- });
89
- };
57
+ async liquidateTrader(symbol, traderAddr, liquidatorAddr = "", priceFeedData, overrides) {
58
+ // this operation spends gas, so signer is required
59
+ if (this.proxyContract == null || this.signer == null) {
60
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
61
+ }
62
+ // liquidator is signer unless specified otherwise
63
+ if (liquidatorAddr == "") {
64
+ liquidatorAddr = this.traderAddr;
65
+ }
66
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
67
+ if (priceFeedData == undefined) {
68
+ priceFeedData = await this.fetchLatestFeedPriceInfo(symbol);
69
+ }
70
+ if (!overrides || overrides.value == undefined) {
71
+ overrides = {
72
+ value: priceFeedData.timestamps.length * this.PRICE_UPDATE_FEE_GWEI,
73
+ ...overrides,
74
+ };
75
+ }
76
+ return await this._liquidateByAMM(perpID, liquidatorAddr, traderAddr, priceFeedData, overrides);
77
+ }
90
78
  /**
91
79
  * Check if the collateral of a trader is above the maintenance margin ("maintenance margin safe").
92
80
  * If not, the position can be liquidated.
@@ -112,45 +100,35 @@ var LiquidatorTool = /** @class */ (function (_super) {
112
100
  * @returns {boolean} True if the trader is maintenance margin safe in the perpetual.
113
101
  * False means that the trader's position can be liquidated.
114
102
  */
115
- LiquidatorTool.prototype.isMaintenanceMarginSafe = function (symbol, traderAddr, indexPrices, overrides) {
116
- return __awaiter(this, void 0, void 0, function () {
117
- var idx_notional, perpID, obj, traderState, idx_maintenanceMgnRate, idx_marginAccountPositionBC, idx_collateralToQuoteConversion, idx_marginBalance, maintMgnRate, pos, marginbalance, coll2quote, base2collateral, threshold;
118
- return __generator(this, function (_a) {
119
- switch (_a.label) {
120
- case 0:
121
- if (this.proxyContract == null) {
122
- throw Error("no proxy contract initialized. Use createProxyInstance().");
123
- }
124
- idx_notional = 4;
125
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
126
- if (!(indexPrices == undefined)) return [3 /*break*/, 2];
127
- return [4 /*yield*/, this.priceFeedGetter.fetchPricesForPerpetual(symbol)];
128
- case 1:
129
- obj = _a.sent();
130
- indexPrices = [obj.idxPrices[0], obj.idxPrices[1]];
131
- _a.label = 2;
132
- case 2: return [4 /*yield*/, this.proxyContract.getTraderState(perpID, traderAddr, indexPrices.map(function (x) { return floatToABK64x64(x); }), overrides || {})];
133
- case 3:
134
- traderState = _a.sent();
135
- if (traderState[idx_notional].eq(0)) {
136
- // trader does not have open position
137
- return [2 /*return*/, true];
138
- }
139
- idx_maintenanceMgnRate = 10;
140
- idx_marginAccountPositionBC = 4;
141
- idx_collateralToQuoteConversion = 9;
142
- idx_marginBalance = 0;
143
- maintMgnRate = ABK64x64ToFloat(traderState[idx_maintenanceMgnRate]);
144
- pos = ABK64x64ToFloat(traderState[idx_marginAccountPositionBC]);
145
- marginbalance = ABK64x64ToFloat(traderState[idx_marginBalance]);
146
- coll2quote = ABK64x64ToFloat(traderState[idx_collateralToQuoteConversion]);
147
- base2collateral = indexPrices[0] / coll2quote;
148
- threshold = Math.abs(pos * base2collateral * maintMgnRate);
149
- return [2 /*return*/, marginbalance >= threshold];
150
- }
151
- });
152
- });
153
- };
103
+ async isMaintenanceMarginSafe(symbol, traderAddr, indexPrices, overrides) {
104
+ if (this.proxyContract == null) {
105
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
106
+ }
107
+ const idx_notional = 4;
108
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
109
+ if (indexPrices == undefined) {
110
+ // fetch from API
111
+ let obj = await this.priceFeedGetter.fetchPricesForPerpetual(symbol);
112
+ indexPrices = [obj.idxPrices[0], obj.idxPrices[1]];
113
+ }
114
+ let traderState = await this.proxyContract.getTraderState(perpID, traderAddr, indexPrices.map((x) => floatToABK64x64(x)), overrides || {});
115
+ if (traderState[idx_notional].eq(0)) {
116
+ // trader does not have open position
117
+ return true;
118
+ }
119
+ // calculate margin from traderstate
120
+ const idx_maintenanceMgnRate = 10;
121
+ const idx_marginAccountPositionBC = 4;
122
+ const idx_collateralToQuoteConversion = 9;
123
+ const idx_marginBalance = 0;
124
+ const maintMgnRate = ABK64x64ToFloat(traderState[idx_maintenanceMgnRate]);
125
+ const pos = ABK64x64ToFloat(traderState[idx_marginAccountPositionBC]);
126
+ const marginbalance = ABK64x64ToFloat(traderState[idx_marginBalance]);
127
+ const coll2quote = ABK64x64ToFloat(traderState[idx_collateralToQuoteConversion]);
128
+ const base2collateral = indexPrices[0] / coll2quote;
129
+ const threshold = Math.abs(pos * base2collateral * maintMgnRate);
130
+ return marginbalance >= threshold;
131
+ }
154
132
  /**
155
133
  *
156
134
  * @param perpetualId Perpetual id.
@@ -160,16 +138,9 @@ var LiquidatorTool = /** @class */ (function (_super) {
160
138
  * @param options E.g., Gas limit, fee.
161
139
  * @ignore
162
140
  */
163
- LiquidatorTool.prototype._liquidateByAMM = function (perpetualId, liquidatorAddr, traderAddr, priceFeedData, overrides) {
164
- return __awaiter(this, void 0, void 0, function () {
165
- return __generator(this, function (_a) {
166
- switch (_a.label) {
167
- case 0: return [4 /*yield*/, this.proxyContract.liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData.priceFeedVaas, priceFeedData.timestamps, overrides)];
168
- case 1: return [2 /*return*/, _a.sent()];
169
- }
170
- });
171
- });
172
- };
141
+ async _liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData, overrides) {
142
+ return await this.proxyContract.liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData.priceFeedVaas, priceFeedData.timestamps, overrides);
143
+ }
173
144
  /**
174
145
  * Total number of active accounts for this symbol, i.e. accounts with positions that are currently open.
175
146
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -190,24 +161,14 @@ var LiquidatorTool = /** @class */ (function (_super) {
190
161
  *
191
162
  * @returns {number} Number of active accounts.
192
163
  */
193
- LiquidatorTool.prototype.countActivePerpAccounts = function (symbol, overrides) {
194
- return __awaiter(this, void 0, void 0, function () {
195
- var perpID, numAccounts;
196
- return __generator(this, function (_a) {
197
- switch (_a.label) {
198
- case 0:
199
- if (this.proxyContract == null) {
200
- throw Error("no proxy contract initialized. Use createProxyInstance().");
201
- }
202
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
203
- return [4 /*yield*/, this.proxyContract.countActivePerpAccounts(perpID, overrides || {})];
204
- case 1:
205
- numAccounts = _a.sent();
206
- return [2 /*return*/, Number(numAccounts)];
207
- }
208
- });
209
- });
210
- };
164
+ async countActivePerpAccounts(symbol, overrides) {
165
+ if (this.proxyContract == null) {
166
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
167
+ }
168
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
169
+ let numAccounts = await this.proxyContract.countActivePerpAccounts(perpID, overrides || {});
170
+ return Number(numAccounts);
171
+ }
211
172
  /**
212
173
  * Get addresses of active accounts by chunks.
213
174
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -230,22 +191,13 @@ var LiquidatorTool = /** @class */ (function (_super) {
230
191
  *
231
192
  * @returns {string[]} Array of addresses at locations 'from', 'from'+1 ,..., 'to'-1.
232
193
  */
233
- LiquidatorTool.prototype.getActiveAccountsByChunks = function (symbol, from, to, overrides) {
234
- return __awaiter(this, void 0, void 0, function () {
235
- var perpID;
236
- return __generator(this, function (_a) {
237
- switch (_a.label) {
238
- case 0:
239
- if (this.proxyContract == null) {
240
- throw Error("no proxy contract initialized. Use createProxyInstance().");
241
- }
242
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
243
- return [4 /*yield*/, this.proxyContract.getActivePerpAccountsByChunks(perpID, from, to, overrides || {})];
244
- case 1: return [2 /*return*/, _a.sent()];
245
- }
246
- });
247
- });
248
- };
194
+ async getActiveAccountsByChunks(symbol, from, to, overrides) {
195
+ if (this.proxyContract == null) {
196
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
197
+ }
198
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
199
+ return await this.proxyContract.getActivePerpAccountsByChunks(perpID, from, to, overrides || {});
200
+ }
249
201
  /**
250
202
  * Addresses for all the active accounts in this perpetual symbol.
251
203
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -266,21 +218,10 @@ var LiquidatorTool = /** @class */ (function (_super) {
266
218
  *
267
219
  * @returns {string[]} Array of addresses.
268
220
  */
269
- LiquidatorTool.prototype.getAllActiveAccounts = function (symbol, overrides) {
270
- return __awaiter(this, void 0, void 0, function () {
271
- var totalAccounts;
272
- return __generator(this, function (_a) {
273
- switch (_a.label) {
274
- case 0: return [4 /*yield*/, this.countActivePerpAccounts(symbol)];
275
- case 1:
276
- totalAccounts = _a.sent();
277
- return [4 /*yield*/, this.getActiveAccountsByChunks(symbol, 0, totalAccounts, overrides)];
278
- case 2: return [2 /*return*/, _a.sent()];
279
- }
280
- });
281
- });
282
- };
283
- return LiquidatorTool;
284
- }(WriteAccessHandler));
285
- export default LiquidatorTool;
221
+ async getAllActiveAccounts(symbol, overrides) {
222
+ // checks are done inside the intermediate functions
223
+ let totalAccounts = await this.countActivePerpAccounts(symbol);
224
+ return await this.getActiveAccountsByChunks(symbol, 0, totalAccounts, overrides);
225
+ }
226
+ }
286
227
  //# sourceMappingURL=liquidatorTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"liquidatorTool.js","sourceRoot":"","sources":["../../src/liquidatorTool.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD;;;;GAIG;AACH;IAA4C,kCAAkB;IAC5D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,wBAAmB,MAAqB,EAAE,MAAuB;eAC/D,kBAAM,MAAM,EAAE,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,wCAAe,GAA5B,UACE,MAAc,EACd,UAAkB,EAClB,cAA2B,EAC3B,aAAmC,EACnC,SAA4B;QAF5B,+BAAA,EAAA,mBAA2B;;;;;;wBAI3B,mDAAmD;wBACnD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;4BACrD,MAAM,KAAK,CAAC,qEAAqE,CAAC,CAAC;yBACpF;wBACD,kDAAkD;wBAClD,IAAI,cAAc,IAAI,EAAE,EAAE;4BACxB,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;yBAClC;wBACG,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;6BACjF,CAAA,aAAa,IAAI,SAAS,CAAA,EAA1B,wBAA0B;wBACZ,qBAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAA;;wBAA3D,aAAa,GAAG,SAA2C,CAAC;;;wBAE9D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,EAAE;4BAC9C,SAAS,GAAG,WACV,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,IAChE,SAAS,CACO,CAAC;yBACvB;wBACM,qBAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,EAAA;4BAA/F,sBAAO,SAAwF,EAAC;;;;KACjG;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,gDAAuB,GAApC,UACE,MAAc,EACd,UAAkB,EAClB,WAA8B,EAC9B,SAAyB;;;;;;wBAEzB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;wBACK,YAAY,GAAG,CAAC,CAAC;wBACnB,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;6BACjF,CAAA,WAAW,IAAI,SAAS,CAAA,EAAxB,wBAAwB;wBAEhB,qBAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBAAhE,GAAG,GAAG,SAA0D;wBACpE,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;4BAEnC,qBAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CACvD,MAAM,EACN,UAAU,EACV,WAAW,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,eAAe,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAA2B,EACpE,SAAS,IAAI,EAAE,CAChB,EAAA;;wBALG,WAAW,GAAG,SAKjB;wBACD,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;4BACnC,qCAAqC;4BACrC,sBAAO,IAAI,EAAC;yBACb;wBAEK,sBAAsB,GAAG,EAAE,CAAC;wBAC5B,2BAA2B,GAAG,CAAC,CAAC;wBAChC,+BAA+B,GAAG,CAAC,CAAC;wBACpC,iBAAiB,GAAG,CAAC,CAAC;wBACtB,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC;wBACpE,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,CAAC;wBAChE,aAAa,GAAG,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAChE,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC,CAAC;wBAC3E,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;wBAC9C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,eAAe,GAAG,YAAY,CAAC,CAAC;wBACjE,sBAAO,aAAa,IAAI,SAAS,EAAC;;;;KACnC;IAED;;;;;;;;OAQG;IACU,wCAAe,GAA5B,UACE,WAAmB,EACnB,cAAsB,EACtB,UAAkB,EAClB,aAAkC,EAClC,SAA4B;;;;4BAErB,qBAAM,IAAI,CAAC,aAAc,CAAC,cAAc,CAC7C,WAAW,EACX,cAAc,EACd,UAAU,EACV,aAAa,CAAC,aAAa,EAC3B,aAAa,CAAC,UAAU,EACxB,SAAS,CACV,EAAA;4BAPD,sBAAO,SAON,EAAC;;;;KACH;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACU,gDAAuB,GAApC,UAAqC,MAAc,EAAE,SAAyB;;;;;;wBAC5E,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;wBACG,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBACnE,qBAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,EAAA;;wBAAvF,WAAW,GAAG,SAAyE;wBAC3F,sBAAO,MAAM,CAAC,WAAW,CAAC,EAAC;;;;KAC5B;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACU,kDAAyB,GAAtC,UACE,MAAc,EACd,IAAY,EACZ,EAAU,EACV,SAAyB;;;;;;wBAEzB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;wBACG,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBAC9E,qBAAM,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,EAAA;4BAAhG,sBAAO,SAAyF,EAAC;;;;KAClG;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACU,6CAAoB,GAAjC,UAAkC,MAAc,EAAE,SAAyB;;;;;4BAErD,qBAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBAA1D,aAAa,GAAG,SAA0C;wBACvD,qBAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,EAAA;4BAAhF,sBAAO,SAAyE,EAAC;;;;KAClF;IACH,qBAAC;AAAD,CAAC,AAlQD,CAA4C,kBAAkB,GAkQ7D"}
1
+ {"version":3,"file":"liquidatorTool.js","sourceRoot":"","sources":["../../src/liquidatorTool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;IAC5D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAmB,MAAqB,EAAE,MAAuB;QAC/D,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,KAAK,CAAC,eAAe,CAC1B,MAAc,EACd,UAAkB,EAClB,iBAAyB,EAAE,EAC3B,aAAmC,EACnC,SAA4B;QAE5B,mDAAmD;QACnD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACrD,MAAM,KAAK,CAAC,qEAAqE,CAAC,CAAC;SACpF;QACD,kDAAkD;QAClD,IAAI,cAAc,IAAI,EAAE,EAAE;YACxB,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;SAClC;QACD,IAAI,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrF,IAAI,aAAa,IAAI,SAAS,EAAE;YAC9B,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;SAC7D;QACD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,EAAE;YAC9C,SAAS,GAAG;gBACV,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB;gBACnE,GAAG,SAAS;aACO,CAAC;SACvB;QACD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,KAAK,CAAC,uBAAuB,CAClC,MAAc,EACd,UAAkB,EAClB,WAA8B,EAC9B,SAAyB;QAEzB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;YAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;SAC1E;QACD,MAAM,YAAY,GAAG,CAAC,CAAC;QACvB,IAAI,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrF,IAAI,WAAW,IAAI,SAAS,EAAE;YAC5B,iBAAiB;YACjB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACrE,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SACpD;QACD,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CACvD,MAAM,EACN,UAAU,EACV,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAA2B,EACpE,SAAS,IAAI,EAAE,CAChB,CAAC;QACF,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACnC,qCAAqC;YACrC,OAAO,IAAI,CAAC;SACb;QACD,oCAAoC;QACpC,MAAM,sBAAsB,GAAG,EAAE,CAAC;QAClC,MAAM,2BAA2B,GAAG,CAAC,CAAC;QACtC,MAAM,+BAA+B,GAAG,CAAC,CAAC;QAC1C,MAAM,iBAAiB,GAAG,CAAC,CAAC;QAC5B,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,eAAe,GAAG,YAAY,CAAC,CAAC;QACjE,OAAO,aAAa,IAAI,SAAS,CAAC;IACpC,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,eAAe,CAC1B,WAAmB,EACnB,cAAsB,EACtB,UAAkB,EAClB,aAAkC,EAClC,SAA4B;QAE5B,OAAO,MAAM,IAAI,CAAC,aAAc,CAAC,cAAc,CAC7C,WAAW,EACX,cAAc,EACd,UAAU,EACV,aAAa,CAAC,aAAa,EAC3B,aAAa,CAAC,UAAU,EACxB,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,KAAK,CAAC,uBAAuB,CAAC,MAAc,EAAE,SAAyB;QAC5E,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;YAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;SAC1E;QACD,IAAI,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrF,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QAC5F,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,KAAK,CAAC,yBAAyB,CACpC,MAAc,EACd,IAAY,EACZ,EAAU,EACV,SAAyB;QAEzB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;YAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;SAC1E;QACD,IAAI,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrF,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IACnG,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,KAAK,CAAC,oBAAoB,CAAC,MAAc,EAAE,SAAyB;QACzE,oDAAoD;QACpD,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IACnF,CAAC;CACF"}