@d8x/perpetuals-sdk 2.6.23 → 2.7.1

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 (263) hide show
  1. package/dist/cjs/config/defaultConfig.json +2 -2
  2. package/dist/cjs/constants.js.map +1 -1
  3. package/dist/cjs/d8XMath.d.ts +40 -29
  4. package/dist/cjs/d8XMath.js +244 -151
  5. package/dist/cjs/d8XMath.js.map +1 -1
  6. package/dist/cjs/liquidatorTool.d.ts +1 -1
  7. package/dist/cjs/liquidatorTool.js +9 -9
  8. package/dist/cjs/liquidatorTool.js.map +1 -1
  9. package/dist/cjs/main.d.ts +1 -0
  10. package/dist/cjs/main.js +15 -0
  11. package/dist/cjs/main.js.map +1 -0
  12. package/dist/cjs/marketData.d.ts +7 -11
  13. package/dist/cjs/marketData.js +31 -20
  14. package/dist/cjs/marketData.js.map +1 -1
  15. package/dist/cjs/perpetualDataHandler.d.ts +12 -12
  16. package/dist/cjs/perpetualDataHandler.js +13 -14
  17. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  18. package/dist/cjs/polyMktsPxFeed.js +2 -2
  19. package/dist/cjs/polyMktsPxFeed.js.map +1 -1
  20. package/dist/cjs/priceFeeds.d.ts +1 -0
  21. package/dist/cjs/priceFeeds.js +19 -3
  22. package/dist/cjs/priceFeeds.js.map +1 -1
  23. package/dist/cjs/version.d.ts +1 -1
  24. package/dist/cjs/version.js +1 -1
  25. package/dist/esm/config/defaultConfig.json +2 -2
  26. package/dist/esm/constants.js.map +1 -1
  27. package/dist/esm/d8XMath.d.ts +40 -29
  28. package/dist/esm/d8XMath.js +241 -150
  29. package/dist/esm/d8XMath.js.map +1 -1
  30. package/dist/esm/liquidatorTool.d.ts +1 -1
  31. package/dist/esm/liquidatorTool.js +10 -10
  32. package/dist/esm/liquidatorTool.js.map +1 -1
  33. package/dist/esm/main.d.ts +1 -0
  34. package/dist/esm/main.js +13 -0
  35. package/dist/esm/main.js.map +1 -0
  36. package/dist/esm/main2.d.ts +1 -0
  37. package/dist/esm/main2.js +18 -0
  38. package/dist/esm/main2.js.map +1 -0
  39. package/dist/esm/marketData.d.ts +7 -11
  40. package/dist/esm/marketData.js +32 -21
  41. package/dist/esm/marketData.js.map +1 -1
  42. package/dist/esm/perpetualDataHandler.d.ts +12 -12
  43. package/dist/esm/perpetualDataHandler.js +13 -14
  44. package/dist/esm/perpetualDataHandler.js.map +1 -1
  45. package/dist/esm/polyMktsPxFeed.js +2 -2
  46. package/dist/esm/polyMktsPxFeed.js.map +1 -1
  47. package/dist/esm/priceFeeds.d.ts +1 -0
  48. package/dist/esm/priceFeeds.js +19 -3
  49. package/dist/esm/priceFeeds.js.map +1 -1
  50. package/dist/esm/version.d.ts +1 -1
  51. package/dist/esm/version.js +1 -1
  52. package/doc/d8x-perpetuals-sdk.md +109 -81
  53. package/doc/marketData.md +2 -10
  54. package/package.json +5 -2
  55. package/src/config/defaultConfig.json +2 -2
  56. package/src/constants.ts +0 -1
  57. package/src/d8XMath.ts +268 -167
  58. package/src/liquidatorTool.ts +16 -10
  59. package/src/marketData.ts +62 -35
  60. package/src/perpetualDataHandler.ts +28 -34
  61. package/src/polyMktsPxFeed.ts +6 -7
  62. package/src/priceFeeds.ts +20 -4
  63. package/src/version.ts +1 -1
  64. package/dist/cjs/abi/AMMPerpLogic.json +0 -580
  65. package/dist/cjs/abi/BeaconProxy.json +0 -71
  66. package/dist/cjs/abi/IPerpetualManager copy.json +0 -5599
  67. package/dist/cjs/abi/IPerpetualMarginViewLogic.json +0 -286
  68. package/dist/cjs/abi/Maintainer.json +0 -774
  69. package/dist/cjs/abi/MockToken.json +0 -347
  70. package/dist/cjs/abi/MockUSD.json +0 -413
  71. package/dist/cjs/abi/UUPSUpgradeable.json +0 -104
  72. package/dist/cjs/abi/WeETH.json +0 -310
  73. package/dist/cjs/abi-zkevm/IPerpetualManager.json +0 -5366
  74. package/dist/cjs/abi-zkevm/LimitOrderBook.json +0 -910
  75. package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +0 -236
  76. package/dist/cjs/contracts/AMMPerpLogic.d.ts +0 -303
  77. package/dist/cjs/contracts/AMMPerpLogic.js +0 -3
  78. package/dist/cjs/contracts/AMMPerpLogic.js.map +0 -1
  79. package/dist/cjs/contracts/BeaconProxy.d.ts +0 -63
  80. package/dist/cjs/contracts/BeaconProxy.js +0 -3
  81. package/dist/cjs/contracts/BeaconProxy.js.map +0 -1
  82. package/dist/cjs/contracts/IPerpetualManagerCopy.d.ts +0 -3223
  83. package/dist/cjs/contracts/IPerpetualManagerCopy.js +0 -3
  84. package/dist/cjs/contracts/IPerpetualManagerCopy.js.map +0 -1
  85. package/dist/cjs/contracts/IPerpetualMarginViewLogic.d.ts +0 -183
  86. package/dist/cjs/contracts/IPerpetualMarginViewLogic.js +0 -3
  87. package/dist/cjs/contracts/IPerpetualMarginViewLogic.js.map +0 -1
  88. package/dist/cjs/contracts/Maintainer.d.ts +0 -799
  89. package/dist/cjs/contracts/Maintainer.js +0 -3
  90. package/dist/cjs/contracts/Maintainer.js.map +0 -1
  91. package/dist/cjs/contracts/MockToken.d.ts +0 -263
  92. package/dist/cjs/contracts/MockToken.js +0 -3
  93. package/dist/cjs/contracts/MockToken.js.map +0 -1
  94. package/dist/cjs/contracts/MockUSD.d.ts +0 -186
  95. package/dist/cjs/contracts/MockUSD.js +0 -3
  96. package/dist/cjs/contracts/MockUSD.js.map +0 -1
  97. package/dist/cjs/contracts/UUPSUpgradeable.d.ts +0 -118
  98. package/dist/cjs/contracts/UUPSUpgradeable.js +0 -3
  99. package/dist/cjs/contracts/UUPSUpgradeable.js.map +0 -1
  100. package/dist/cjs/contracts/WeETH.d.ts +0 -503
  101. package/dist/cjs/contracts/WeETH.js +0 -3
  102. package/dist/cjs/contracts/WeETH.js.map +0 -1
  103. package/dist/cjs/contracts/factories/AMMPerpLogic__factory.d.ts +0 -452
  104. package/dist/cjs/contracts/factories/AMMPerpLogic__factory.js +0 -598
  105. package/dist/cjs/contracts/factories/AMMPerpLogic__factory.js.map +0 -1
  106. package/dist/cjs/contracts/factories/BeaconProxy__factory.d.ts +0 -61
  107. package/dist/cjs/contracts/factories/BeaconProxy__factory.js +0 -89
  108. package/dist/cjs/contracts/factories/BeaconProxy__factory.js.map +0 -1
  109. package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.d.ts +0 -4358
  110. package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.js +0 -5617
  111. package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.js.map +0 -1
  112. package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.d.ts +0 -221
  113. package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.js +0 -304
  114. package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.js.map +0 -1
  115. package/dist/cjs/contracts/factories/Maintainer__factory.d.ts +0 -609
  116. package/dist/cjs/contracts/factories/Maintainer__factory.js +0 -792
  117. package/dist/cjs/contracts/factories/Maintainer__factory.js.map +0 -1
  118. package/dist/cjs/contracts/factories/MockToken__factory.d.ts +0 -273
  119. package/dist/cjs/contracts/factories/MockToken__factory.js +0 -365
  120. package/dist/cjs/contracts/factories/MockToken__factory.js.map +0 -1
  121. package/dist/cjs/contracts/factories/MockUSD__factory.d.ts +0 -320
  122. package/dist/cjs/contracts/factories/MockUSD__factory.js +0 -431
  123. package/dist/cjs/contracts/factories/MockUSD__factory.js.map +0 -1
  124. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  125. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js +0 -122
  126. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  127. package/dist/cjs/contracts/factories/WeETH__factory.d.ts +0 -545
  128. package/dist/cjs/contracts/factories/WeETH__factory.js +0 -721
  129. package/dist/cjs/contracts/factories/WeETH__factory.js.map +0 -1
  130. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  131. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5324
  132. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  133. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  134. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -254
  135. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  136. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  137. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js +0 -928
  138. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  139. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  140. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js +0 -456
  141. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  142. package/dist/cjs/contracts/factories/lean0/index.d.ts +0 -4
  143. package/dist/cjs/contracts/factories/lean0/index.js +0 -15
  144. package/dist/cjs/contracts/factories/lean0/index.js.map +0 -1
  145. package/dist/cjs/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  146. package/dist/cjs/contracts/lean0/IPerpetualManager.js +0 -3
  147. package/dist/cjs/contracts/lean0/IPerpetualManager.js.map +0 -1
  148. package/dist/cjs/contracts/lean0/LimitOrderBook.d.ts +0 -533
  149. package/dist/cjs/contracts/lean0/LimitOrderBook.js +0 -3
  150. package/dist/cjs/contracts/lean0/LimitOrderBook.js.map +0 -1
  151. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  152. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js +0 -3
  153. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  154. package/dist/cjs/contracts/lean0/ShareToken.d.ts +0 -320
  155. package/dist/cjs/contracts/lean0/ShareToken.js +0 -3
  156. package/dist/cjs/contracts/lean0/ShareToken.js.map +0 -1
  157. package/dist/cjs/contracts/lean0/index.d.ts +0 -4
  158. package/dist/cjs/contracts/lean0/index.js +0 -3
  159. package/dist/cjs/contracts/lean0/index.js.map +0 -1
  160. package/dist/esm/abi/AMMPerpLogic.json +0 -580
  161. package/dist/esm/abi/BeaconProxy.json +0 -71
  162. package/dist/esm/abi/IPerpetualManager copy.json +0 -5599
  163. package/dist/esm/abi/IPerpetualMarginViewLogic.json +0 -286
  164. package/dist/esm/abi/Maintainer.json +0 -774
  165. package/dist/esm/abi/MockToken.json +0 -347
  166. package/dist/esm/abi/MockUSD.json +0 -413
  167. package/dist/esm/abi/UUPSUpgradeable.json +0 -104
  168. package/dist/esm/abi/WeETH.json +0 -310
  169. package/dist/esm/abi/lean0/IPerpetualManager.json +0 -5306
  170. package/dist/esm/abi/lean0/LimitOrderBook.json +0 -910
  171. package/dist/esm/abi/lean0/LimitOrderBookFactory.json +0 -236
  172. package/dist/esm/abi/lean0/ShareToken.json +0 -438
  173. package/dist/esm/abi-zkevm/IPerpetualManager.json +0 -5366
  174. package/dist/esm/abi-zkevm/LimitOrderBook.json +0 -910
  175. package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +0 -236
  176. package/dist/esm/contracts/AMMPerpLogic.d.ts +0 -303
  177. package/dist/esm/contracts/AMMPerpLogic.js +0 -2
  178. package/dist/esm/contracts/AMMPerpLogic.js.map +0 -1
  179. package/dist/esm/contracts/BeaconProxy.d.ts +0 -63
  180. package/dist/esm/contracts/BeaconProxy.js +0 -2
  181. package/dist/esm/contracts/BeaconProxy.js.map +0 -1
  182. package/dist/esm/contracts/IPerpetualManagerCopy.d.ts +0 -3223
  183. package/dist/esm/contracts/IPerpetualManagerCopy.js +0 -2
  184. package/dist/esm/contracts/IPerpetualManagerCopy.js.map +0 -1
  185. package/dist/esm/contracts/IPerpetualMarginViewLogic.d.ts +0 -183
  186. package/dist/esm/contracts/IPerpetualMarginViewLogic.js +0 -2
  187. package/dist/esm/contracts/IPerpetualMarginViewLogic.js.map +0 -1
  188. package/dist/esm/contracts/Maintainer.d.ts +0 -799
  189. package/dist/esm/contracts/Maintainer.js +0 -2
  190. package/dist/esm/contracts/Maintainer.js.map +0 -1
  191. package/dist/esm/contracts/MockToken.d.ts +0 -263
  192. package/dist/esm/contracts/MockToken.js +0 -2
  193. package/dist/esm/contracts/MockToken.js.map +0 -1
  194. package/dist/esm/contracts/MockUSD.d.ts +0 -186
  195. package/dist/esm/contracts/MockUSD.js +0 -2
  196. package/dist/esm/contracts/MockUSD.js.map +0 -1
  197. package/dist/esm/contracts/UUPSUpgradeable.d.ts +0 -118
  198. package/dist/esm/contracts/UUPSUpgradeable.js +0 -2
  199. package/dist/esm/contracts/UUPSUpgradeable.js.map +0 -1
  200. package/dist/esm/contracts/WeETH.d.ts +0 -503
  201. package/dist/esm/contracts/WeETH.js +0 -2
  202. package/dist/esm/contracts/WeETH.js.map +0 -1
  203. package/dist/esm/contracts/factories/AMMPerpLogic__factory.d.ts +0 -452
  204. package/dist/esm/contracts/factories/AMMPerpLogic__factory.js +0 -594
  205. package/dist/esm/contracts/factories/AMMPerpLogic__factory.js.map +0 -1
  206. package/dist/esm/contracts/factories/BeaconProxy__factory.d.ts +0 -61
  207. package/dist/esm/contracts/factories/BeaconProxy__factory.js +0 -85
  208. package/dist/esm/contracts/factories/BeaconProxy__factory.js.map +0 -1
  209. package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.d.ts +0 -4358
  210. package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.js +0 -5613
  211. package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.js.map +0 -1
  212. package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.d.ts +0 -221
  213. package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.js +0 -300
  214. package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.js.map +0 -1
  215. package/dist/esm/contracts/factories/Maintainer__factory.d.ts +0 -609
  216. package/dist/esm/contracts/factories/Maintainer__factory.js +0 -788
  217. package/dist/esm/contracts/factories/Maintainer__factory.js.map +0 -1
  218. package/dist/esm/contracts/factories/MockToken__factory.d.ts +0 -273
  219. package/dist/esm/contracts/factories/MockToken__factory.js +0 -361
  220. package/dist/esm/contracts/factories/MockToken__factory.js.map +0 -1
  221. package/dist/esm/contracts/factories/MockUSD__factory.d.ts +0 -320
  222. package/dist/esm/contracts/factories/MockUSD__factory.js +0 -427
  223. package/dist/esm/contracts/factories/MockUSD__factory.js.map +0 -1
  224. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  225. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js +0 -118
  226. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  227. package/dist/esm/contracts/factories/WeETH__factory.d.ts +0 -545
  228. package/dist/esm/contracts/factories/WeETH__factory.js +0 -717
  229. package/dist/esm/contracts/factories/WeETH__factory.js.map +0 -1
  230. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  231. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5320
  232. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  233. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  234. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -250
  235. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  236. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  237. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js +0 -924
  238. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  239. package/dist/esm/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  240. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js +0 -452
  241. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  242. package/dist/esm/contracts/factories/lean0/index.d.ts +0 -4
  243. package/dist/esm/contracts/factories/lean0/index.js +0 -8
  244. package/dist/esm/contracts/factories/lean0/index.js.map +0 -1
  245. package/dist/esm/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  246. package/dist/esm/contracts/lean0/IPerpetualManager.js +0 -2
  247. package/dist/esm/contracts/lean0/IPerpetualManager.js.map +0 -1
  248. package/dist/esm/contracts/lean0/LimitOrderBook.d.ts +0 -533
  249. package/dist/esm/contracts/lean0/LimitOrderBook.js +0 -2
  250. package/dist/esm/contracts/lean0/LimitOrderBook.js.map +0 -1
  251. package/dist/esm/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  252. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js +0 -2
  253. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  254. package/dist/esm/contracts/lean0/ShareToken.d.ts +0 -320
  255. package/dist/esm/contracts/lean0/ShareToken.js +0 -2
  256. package/dist/esm/contracts/lean0/ShareToken.js.map +0 -1
  257. package/dist/esm/contracts/lean0/index.d.ts +0 -4
  258. package/dist/esm/contracts/lean0/index.js +0 -2
  259. package/dist/esm/contracts/lean0/index.js.map +0 -1
  260. package/src/contracts/IPerpetualMarginViewLogic.ts +0 -347
  261. package/src/contracts/MockUSD.ts +0 -378
  262. package/src/contracts/factories/IPerpetualMarginViewLogic__factory.ts +0 -313
  263. package/src/contracts/factories/MockUSD__factory.ts +0 -430
@@ -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":"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"}
@@ -88,7 +88,7 @@ export default class LiquidatorTool extends WriteAccessHandler {
88
88
  * False means that the trader's position can be liquidated.
89
89
  */
90
90
  isMaintenanceMarginSafe(symbol: string, traderAddr: string, indexPrices?: [number, number], overrides?: Overrides): Promise<boolean>;
91
- static maintenanceMarginPredMkts(maintMgnRateBase: number, pos: number, s3: number, markPx: number): number;
91
+ static maintenanceMarginPredMkts(maintMgnRateBase: number, pos: number, s3: number, markPx: number, ell: number): number;
92
92
  /**
93
93
  * Total number of active accounts for this symbol, i.e. accounts with positions that are currently open.
94
94
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -248,8 +248,10 @@ class LiquidatorTool extends writeAccessHandler_1.default {
248
248
  let threshold;
249
249
  if (this.isPredictionMarket(symbol)) {
250
250
  const idx_markPrice = 8;
251
+ const idx_lockedInValue = 5;
251
252
  const markPrice = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_markPrice]);
252
- threshold = LiquidatorTool.maintenanceMarginPredMkts(maintMgnRate, pos, coll2quote, markPrice);
253
+ const ell = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_lockedInValue]);
254
+ threshold = LiquidatorTool.maintenanceMarginPredMkts(maintMgnRate, pos, coll2quote, markPrice, ell);
253
255
  }
254
256
  else {
255
257
  const base2collateral = indexPrices[0] / coll2quote;
@@ -257,14 +259,12 @@ class LiquidatorTool extends writeAccessHandler_1.default {
257
259
  }
258
260
  return marginbalance >= threshold;
259
261
  }
260
- static maintenanceMarginPredMkts(maintMgnRateBase, pos, s3, markPx) {
261
- let p = markPx - 1;
262
- // p: price = 1+prob
263
- if (pos < 0) {
264
- p = 1 - p;
265
- }
266
- const tau = maintMgnRateBase + (0.4 - maintMgnRateBase) * (0, d8XMath_1.entropy)(p);
267
- return (Math.abs(pos) * p * tau) / s3;
262
+ static maintenanceMarginPredMkts(maintMgnRateBase, pos, s3, markPx, ell) {
263
+ const s = pos > 0 ? 1 : -1; // pos is
264
+ const R = pos == 0 ? markPx - 1 : s > 0 ? Math.abs(ell / pos) - 1 : 2 - Math.abs(ell / pos);
265
+ const Rm = s > 0 ? markPx - 1 : 2 - markPx;
266
+ const L = Math.max(0, s * (R - Rm));
267
+ return (Math.abs(pos) * Math.min(maintMgnRateBase + L, R)) / s3; // liquidated if E < that
268
268
  }
269
269
  /**
270
270
  * Total number of active accounts for this symbol, i.e. accounts with positions that are currently open.
@@ -1 +1 @@
1
- {"version":3,"file":"liquidatorTool.js","sourceRoot":"","sources":["../../src/liquidatorTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"liquidatorTool.js","sourceRoot":"","sources":["../../src/liquidatorTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const perpetuals_sdk_1 = require("@d8x/perpetuals-sdk");
4
+ async function main() {
5
+ console.log(perpetuals_sdk_1.MarketData);
6
+ // setup
7
+ const config = perpetuals_sdk_1.PerpetualDataHandler.readSDKConfig("zkevm");
8
+ let mktData = new perpetuals_sdk_1.MarketData(config);
9
+ await mktData.createProxyInstance();
10
+ // Get all open orders for a trader/symbol
11
+ let opOrder = await mktData.openOrders("0xe5a5a989b920d22323b915c36c5db8ac38b4ebd7", "BTC-USDC-USDC");
12
+ console.log(opOrder);
13
+ }
14
+ main();
15
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;AAAA,wDAAuE;AACvE,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,2BAAU,CAAC,CAAC;IACxB,QAAQ;IACR,MAAM,MAAM,GAAG,qCAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,OAAO,GAAG,IAAI,2BAAU,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC;IACpC,0CAA0C;IAC1C,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,4CAA4C,EAAE,eAAe,CAAC,CAAC;IACtG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AACD,IAAI,EAAE,CAAC"}
@@ -230,13 +230,9 @@ export default class MarketData extends PerpetualDataHandler {
230
230
  }>;
231
231
  /**
232
232
  * Fee is relative to base-currency amount (=trade amount)
233
- * @param maxMaintMgnRate maintenance margin rate param for pred mkts
234
- * @param Sm Mark price
235
- * @param tradeAmtBC signed trade amount
236
- * @param tradeMgnRate margin rate param from perpetual
237
233
  * @returns relative exchange fee in decimals
238
234
  */
239
- static exchangeFeePrdMkts(maxMaintMgnRate: number, Sm: number, tradeAmtBC: number, traderPosBC: number, tradeMgnRate: number): number;
235
+ static exchangeFeePrdMkts(Sm: number, tradeAmtBC: number, traderPosBC: number, traderLockedInQC: number, mu_m: number, mr: number, m_0: number, sigt: number, jump: number): number;
240
236
  /**
241
237
  * Estimates what the position risk will be if given amount of collateral is added/removed from the account.
242
238
  * @param {number} deltaCollateral Amount of collateral to add or remove (signed)
@@ -273,7 +269,7 @@ export default class MarketData extends PerpetualDataHandler {
273
269
  * @returns [Base index price, Collateral index price, Maintenance margin rate]
274
270
  * @ignore
275
271
  */
276
- protected static _getLiquidationParams(symbol: string, lockedInQC: number, signedPositionBC: number, marginCashCC: number, markPrice: number, collToQuoteConversion: number, S2: number, symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>): [number, number | undefined, number];
272
+ protected static _getLiquidationParams(symbol: string, lockedInQC: number, signedPositionBC: number, marginCashCC: number, markPrice: number, collToQuoteConversion: number, S2: number, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>): [number, number | undefined, number];
277
273
  /**
278
274
  * Gets the wallet balance in the settlement currency corresponding to a given perpetual symbol.
279
275
  * The settlement currency is usually the same as the collateral currency.
@@ -600,7 +596,7 @@ export default class MarketData extends PerpetualDataHandler {
600
596
  * @returns {Order[]} Array of user friendly order struct.
601
597
  * @ignore
602
598
  */
603
- protected static openOrdersOnOrderBook(traderAddr: string, orderBookContract: LimitOrderBook, symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>, overrides?: Overrides): Promise<Order[]>;
599
+ protected static openOrdersOnOrderBook(traderAddr: string, orderBookContract: LimitOrderBook, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, overrides?: Overrides): Promise<Order[]>;
604
600
  /**
605
601
  * Query smart contract to get user orders and convert to user friendly order format.
606
602
  * @param {string} traderAddr Address of trader.
@@ -608,7 +604,7 @@ export default class MarketData extends PerpetualDataHandler {
608
604
  * @returns {Order[]} Array of user friendly order struct.
609
605
  * @ignore
610
606
  */
611
- protected static _openOrdersOnOrderBooks(traderAddr: string, orderBookContracts: LimitOrderBook[], multicall: Multicall3, symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>, overrides?: Overrides): Promise<{
607
+ protected static _openOrdersOnOrderBooks(traderAddr: string, orderBookContracts: LimitOrderBook[], multicall: Multicall3, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, overrides?: Overrides): Promise<{
612
608
  orders: Order[][];
613
609
  digests: string[][];
614
610
  }>;
@@ -725,14 +721,14 @@ export default class MarketData extends PerpetualDataHandler {
725
721
  * @param _poolStaticInfos
726
722
  * @ignore
727
723
  */
728
- protected static _poolDataToPoolState(_liquidityPools: Partial<PerpStorage.LiquidityPoolDataStructOutput>[], _poolStaticInfos: readonly PoolStaticInfo[]): PoolState[];
724
+ protected static _poolDataToPoolState(_liquidityPools: Partial<PerpStorage.LiquidityPoolDataStructOutput>[], _poolStaticInfos: ReadonlyArray<PoolStaticInfo>): PoolState[];
729
725
  /**
730
726
  * Parse perpetual states obtained on-chain
731
727
  * @param _perpetuals
732
728
  * @param _symbolList
733
729
  * @ignore
734
730
  */
735
- protected static _perpetualDataToPerpetualState(_perpetuals: readonly any[], _longShortBC: readonly [bigint, bigint][], _symbolList: ReadonlyMap<string, string>): PerpetualState[];
731
+ protected static _perpetualDataToPerpetualState(_perpetuals: any[], _longShortBC: [bigint, bigint][], _symbolList: ReadonlyMap<string, string>): PerpetualState[];
736
732
  /**
737
733
  * Fetch on-chain exchange info
738
734
  * @param _proxyContract
@@ -747,7 +743,7 @@ export default class MarketData extends PerpetualDataHandler {
747
743
  * @param overrides
748
744
  * @ignore
749
745
  */
750
- static _exchangeInfo(_proxyContract: Contract, _multicall: Multicall3, _poolStaticInfos: Array<PoolStaticInfo>, _symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, _perpetualIdToSymbol: Map<number, string>, _nestedPerpetualIDs: Array<Array<number>>, _symbolList: Map<string, string>, _priceFeedGetter: PriceFeeds, _oracleFactoryAddr: string, overrides?: Overrides): Promise<ExchangeInfo>;
746
+ static _exchangeInfo(_proxyContract: Contract, _multicall: Multicall3, _poolStaticInfos: ReadonlyArray<PoolStaticInfo>, _symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>, _perpetualIdToSymbol: ReadonlyMap<number, string>, _nestedPerpetualIDs: ReadonlyArray<ReadonlyArray<number>>, _symbolList: ReadonlyMap<string, string>, _priceFeedGetter: PriceFeeds, _oracleFactoryAddr: string, overrides?: Overrides): Promise<ExchangeInfo>;
751
747
  /**
752
748
  * Get the latest on-chain price of a perpetual base index in USD.
753
749
  * @param {string} symbol Symbol of the form ETH-USDC-MATIC.
@@ -350,7 +350,7 @@ class MarketData extends perpetualDataHandler_1.default {
350
350
  perpId,
351
351
  (0, d8XMath_1.floatToABK64x64)(tradeAmountBC),
352
352
  [fS2, fS3],
353
- indexPriceInfo.conf * 10n,
353
+ indexPriceInfo.conf & ((1n << 16n) - 1n),
354
354
  indexPriceInfo.predMktCLOBParams,
355
355
  ]),
356
356
  },
@@ -394,7 +394,7 @@ class MarketData extends perpetualDataHandler_1.default {
394
394
  fPrice = this.proxyContract.interface.decodeFunctionResult("queryPerpetualPrice", encodedResults[1].returnData)[0];
395
395
  }
396
396
  else {
397
- fPrice = await this.proxyContract.queryPerpetualPrice(perpId, (0, d8XMath_1.floatToABK64x64)(tradeAmountBC), [(0, d8XMath_1.floatToABK64x64)(indexPriceInfo.s2), (0, d8XMath_1.floatToABK64x64)(indexPriceInfo.s3 ?? 0)], indexPriceInfo.conf * 10n, indexPriceInfo.predMktCLOBParams);
397
+ fPrice = await this.proxyContract.queryPerpetualPrice(perpId, (0, d8XMath_1.floatToABK64x64)(tradeAmountBC), [(0, d8XMath_1.floatToABK64x64)(indexPriceInfo.s2), (0, d8XMath_1.floatToABK64x64)(indexPriceInfo.s3 ?? 0)], indexPriceInfo.conf, indexPriceInfo.predMktCLOBParams);
398
398
  }
399
399
  ammPrice = (0, d8XMath_1.ABK64x64ToFloat)(fPrice);
400
400
  }
@@ -551,13 +551,13 @@ class MarketData extends perpetualDataHandler_1.default {
551
551
  b0 = b0 < 0 ? b0 : 0;
552
552
  pos0 = 0;
553
553
  }
554
- traderDepositCC = (0, d8XMath_1.getDepositAmountForLvgTrade)(pos0, b0, tradeAmountBC, targetLvg, tradePrice, S3, Sm, isPredMkt);
554
+ traderDepositCC = (0, d8XMath_1.getDepositAmountForLvgTrade)(pos0, b0, tradeAmountBC, targetLvg, tradePrice, S3, Sm, isPredMkt ? initialMarginRate : undefined);
555
555
  // fees are paid from wallet in this case
556
556
  traderDepositCC += tradingFeeCC + referralFeeCC;
557
557
  }
558
558
  // Contract: _executeTrade
559
- let deltaCashCC = (-tradeAmountBC * (tradePrice - S2)) / S3;
560
- let deltaLockedQC = tradeAmountBC * S2;
559
+ let deltaCashCC = 0; // (-tradeAmountBC * (tradePrice - S2)) / S3;
560
+ let deltaLockedQC = tradeAmountBC * tradePrice; // tradeAmountBC * S2;
561
561
  if (isClose) {
562
562
  let pnl = account.entryPrice * tradeAmountBC - deltaLockedQC;
563
563
  deltaLockedQC += pnl;
@@ -612,20 +612,33 @@ class MarketData extends perpetualDataHandler_1.default {
612
612
  }
613
613
  /**
614
614
  * Fee is relative to base-currency amount (=trade amount)
615
- * @param maxMaintMgnRate maintenance margin rate param for pred mkts
616
- * @param Sm Mark price
617
- * @param tradeAmtBC signed trade amount
618
- * @param tradeMgnRate margin rate param from perpetual
619
615
  * @returns relative exchange fee in decimals
620
616
  */
621
- static exchangeFeePrdMkts(maxMaintMgnRate, Sm, tradeAmtBC, traderPosBC, tradeMgnRate) {
617
+ static exchangeFeePrdMkts(Sm, tradeAmtBC, traderPosBC, traderLockedInQC, mu_m, mr, m_0, sigt, jump) {
622
618
  const isClose = Math.sign(traderPosBC) != Math.sign(tradeAmtBC);
623
619
  const isFlip = Math.abs(traderPosBC + tradeAmtBC) > 0.01 && Math.sign(traderPosBC + tradeAmtBC) != Math.sign(traderPosBC);
620
+ const varphiBar = tradeAmtBC > 0 ? Sm - 1 : 2 - Sm;
621
+ const varphi = traderPosBC == 0
622
+ ? varphiBar
623
+ : traderPosBC > 0
624
+ ? traderLockedInQC / traderPosBC - 1
625
+ : 2 - traderLockedInQC / traderPosBC;
626
+ let fee;
624
627
  if (isClose && !isFlip) {
625
- // 0.1cents if is close
626
- return 0.001;
628
+ // exit fee
629
+ fee = (0, d8XMath_1.pmExitFee)(varphi, varphiBar, mu_m, m_0, sigt, jump);
627
630
  }
628
- return (0, d8XMath_1.pmExchangeFee)(Sm - 1, maxMaintMgnRate, tradeAmtBC, tradeMgnRate);
631
+ else {
632
+ // open fee
633
+ fee = (0, d8XMath_1.pmOpenFee)(varphi, varphiBar, mu_m, mr, sigt, jump);
634
+ }
635
+ if (fee < 0.001) {
636
+ fee = 0.001;
637
+ }
638
+ else if (fee > 0.65535) {
639
+ fee = 0.65535;
640
+ }
641
+ return fee;
629
642
  }
630
643
  /**
631
644
  * Estimates what the position risk will be if given amount of collateral is added/removed from the account.
@@ -968,6 +981,7 @@ class MarketData extends perpetualDataHandler_1.default {
968
981
  const [longOI, shortOI] = net < 0 ? [oi, oi + net] : [oi - net, oi];
969
982
  let maxLong = (0, d8XMath_1.pmMaxSignedOpenTradeSize)(longOI, shortOI, indexPriceInfo.ema, true, mr, ammFunds);
970
983
  let maxShort = (0, d8XMath_1.pmMaxSignedOpenTradeSize)(longOI, shortOI, indexPriceInfo.ema, false, mr, ammFunds);
984
+ console.log({ maxLong, maxShort });
971
985
  if (traderPos > 0n) {
972
986
  // pos > 0, so short is closing direction
973
987
  maxShort = -Math.max(Math.abs(maxShort), (0, d8XMath_1.ABK64x64ToFloat)(traderPos));
@@ -1298,8 +1312,7 @@ class MarketData extends perpetualDataHandler_1.default {
1298
1312
  priceInfo = await this.priceFeedGetter.fetchPricesForPerpetual(symbol);
1299
1313
  }
1300
1314
  return await perpetualDataHandler_1.default._queryPerpetualPrice(symbol, quantity, this.symbolToPerpStaticInfo, this.proxyContract, [priceInfo.s2, priceInfo.s3 ?? 0], //s2,s3
1301
- priceInfo.conf, //conf, no times 10n here (done when calling contract)
1302
- priceInfo.predMktCLOBParams, //params
1315
+ priceInfo.conf, priceInfo.predMktCLOBParams, //params
1303
1316
  overrides);
1304
1317
  }
1305
1318
  /**
@@ -1876,13 +1889,11 @@ class MarketData extends perpetualDataHandler_1.default {
1876
1889
  perp.isMarketClosed = true;
1877
1890
  }
1878
1891
  else {
1879
- const indexSymbol = MarketData.getIndexSymbol(_symbolList, info);
1880
- const idxPriceS2Pair = idxPriceMap.get(indexSymbol); // checked in if
1892
+ const idxPriceS2Pair = idxPriceMap.get(MarketData.getIndexSymbol(_symbolList, info));
1881
1893
  let idxPriceS3Pair = [0, false];
1882
1894
  perp.isMarketClosed =
1883
1895
  idxPriceS2Pair[1] ||
1884
- (MarketData.isPredictionMarketStatic(info) &&
1885
- (isNaN(idxPriceS2Pair[0]) || idxPriceS2Pair[0] < 1.01 || idxPriceS2Pair[0] > 1.99));
1896
+ (MarketData.isPredictionMarketStatic(info) && (idxPriceS2Pair[0] == 1 || idxPriceS2Pair[0] == 2));
1886
1897
  if (info.S3Symbol != "" && idxPriceMap.has(info.S3Symbol)) {
1887
1898
  idxPriceS3Pair = idxPriceMap.get(info.S3Symbol);
1888
1899
  perp.isMarketClosed = perp.isMarketClosed || idxPriceS3Pair[1];
@@ -1896,7 +1907,7 @@ class MarketData extends perpetualDataHandler_1.default {
1896
1907
  indexS3 = idxPriceS3Pair[0];
1897
1908
  }
1898
1909
  perp.collToQuoteIndexPrice = indexS3;
1899
- const emaKey = indexSymbol + ":ema";
1910
+ const emaKey = info.S2Symbol + ":ema";
1900
1911
  let markPrice;
1901
1912
  if (idxPriceMap.has(emaKey)) {
1902
1913
  let ema;