@d8x/perpetuals-sdk 2.0.13-alpha → 2.1.0-alpha2

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 (255) hide show
  1. package/dist/cjs/abi/IPerpetualManager.json +124 -3
  2. package/dist/cjs/abi/OracleFactory.json +94 -25
  3. package/dist/cjs/abi/PerpetualManagerProxy.json +212 -2
  4. package/dist/cjs/brokerTool.d.ts +5 -1
  5. package/dist/cjs/brokerTool.js +14 -1
  6. package/dist/cjs/brokerTool.js.map +1 -1
  7. package/dist/cjs/config/priceFeedConfig.json +0 -18
  8. package/dist/cjs/contracts/IPerpetualManager.d.ts +74 -10
  9. package/dist/cjs/contracts/OracleFactory.d.ts +69 -20
  10. package/dist/cjs/contracts/PerpetualManagerProxy.d.ts +109 -4
  11. package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +95 -3
  12. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +124 -3
  13. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  14. package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +75 -20
  15. package/dist/cjs/contracts/factories/OracleFactory__factory.js +94 -25
  16. package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -1
  17. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.d.ts +159 -2
  18. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js +212 -2
  19. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  20. package/dist/cjs/d8XMath.d.ts +44 -1
  21. package/dist/cjs/d8XMath.js +236 -3
  22. package/dist/cjs/d8XMath.js.map +1 -1
  23. package/dist/cjs/liquidatorTool.d.ts +1 -0
  24. package/dist/cjs/liquidatorTool.js +24 -7
  25. package/dist/cjs/liquidatorTool.js.map +1 -1
  26. package/dist/cjs/marketData.d.ts +42 -20
  27. package/dist/cjs/marketData.js +261 -188
  28. package/dist/cjs/marketData.js.map +1 -1
  29. package/dist/cjs/nodeSDKTypes.d.ts +24 -2
  30. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  31. package/dist/cjs/orderExecutorTool.d.ts +3 -3
  32. package/dist/cjs/orderExecutorTool.js +38 -13
  33. package/dist/cjs/orderExecutorTool.js.map +1 -1
  34. package/dist/cjs/perpetualDataHandler.d.ts +22 -12
  35. package/dist/cjs/perpetualDataHandler.js +59 -44
  36. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  37. package/dist/cjs/perpetualEventHandler.d.ts +1 -1
  38. package/dist/cjs/perpetualEventHandler.js +6 -7
  39. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  40. package/dist/cjs/polyMktsPxFeed.d.ts +6 -4
  41. package/dist/cjs/polyMktsPxFeed.js +24 -3
  42. package/dist/cjs/polyMktsPxFeed.js.map +1 -1
  43. package/dist/cjs/priceFeeds.d.ts +6 -7
  44. package/dist/cjs/priceFeeds.js +36 -14
  45. package/dist/cjs/priceFeeds.js.map +1 -1
  46. package/dist/cjs/version.d.ts +1 -1
  47. package/dist/cjs/version.js +1 -1
  48. package/dist/esm/abi/IPerpetualManager.json +124 -3
  49. package/dist/esm/abi/OracleFactory.json +94 -25
  50. package/dist/esm/abi/PerpetualManagerProxy.json +212 -2
  51. package/dist/esm/brokerTool.d.ts +5 -1
  52. package/dist/esm/brokerTool.js +15 -2
  53. package/dist/esm/brokerTool.js.map +1 -1
  54. package/dist/esm/config/priceFeedConfig.json +0 -18
  55. package/dist/esm/contracts/IPerpetualManager.d.ts +74 -10
  56. package/dist/esm/contracts/OracleFactory.d.ts +69 -20
  57. package/dist/esm/contracts/PerpetualManagerProxy.d.ts +109 -4
  58. package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +95 -3
  59. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +124 -3
  60. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  61. package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +75 -20
  62. package/dist/esm/contracts/factories/OracleFactory__factory.js +94 -25
  63. package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -1
  64. package/dist/{cjs/contracts/factories/MockToken__factory.d.ts → esm/contracts/factories/PerpStorage__factory.d.ts} +115 -128
  65. package/dist/esm/contracts/factories/{MockToken__factory.js → PerpStorage__factory.js} +128 -139
  66. package/dist/esm/contracts/factories/PerpStorage__factory.js.map +1 -0
  67. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.d.ts +159 -2
  68. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js +212 -2
  69. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  70. package/dist/esm/d8XMath.d.ts +44 -1
  71. package/dist/esm/d8XMath.js +229 -2
  72. package/dist/esm/d8XMath.js.map +1 -1
  73. package/dist/esm/liquidatorTool.d.ts +1 -0
  74. package/dist/esm/liquidatorTool.js +25 -8
  75. package/dist/esm/liquidatorTool.js.map +1 -1
  76. package/dist/esm/marketData.d.ts +42 -20
  77. package/dist/esm/marketData.js +263 -190
  78. package/dist/esm/marketData.js.map +1 -1
  79. package/dist/esm/nodeSDKTypes.d.ts +24 -2
  80. package/dist/esm/nodeSDKTypes.js.map +1 -1
  81. package/dist/esm/orderExecutorTool.d.ts +3 -3
  82. package/dist/esm/orderExecutorTool.js +38 -13
  83. package/dist/esm/orderExecutorTool.js.map +1 -1
  84. package/dist/esm/perpetualDataHandler.d.ts +22 -12
  85. package/dist/esm/perpetualDataHandler.js +60 -45
  86. package/dist/esm/perpetualDataHandler.js.map +1 -1
  87. package/dist/esm/perpetualEventHandler.d.ts +1 -1
  88. package/dist/esm/perpetualEventHandler.js +6 -7
  89. package/dist/esm/perpetualEventHandler.js.map +1 -1
  90. package/dist/esm/polyMktsPxFeed.d.ts +6 -4
  91. package/dist/esm/polyMktsPxFeed.js +24 -3
  92. package/dist/esm/polyMktsPxFeed.js.map +1 -1
  93. package/dist/esm/priceFeeds.d.ts +6 -7
  94. package/dist/esm/priceFeeds.js +36 -14
  95. package/dist/esm/priceFeeds.js.map +1 -1
  96. package/dist/esm/version.d.ts +1 -1
  97. package/dist/esm/version.js +1 -1
  98. package/package.json +1 -1
  99. package/src/abi/IPerpetualManager.json +124 -3
  100. package/src/abi/OracleFactory.json +523 -454
  101. package/src/abi/PerpetualManagerProxy.json +1596 -1386
  102. package/src/brokerTool.ts +16 -2
  103. package/src/config/priceFeedConfig.json +0 -18
  104. package/src/contracts/IPerpetualManager.ts +107 -7
  105. package/src/contracts/OracleFactory.ts +100 -26
  106. package/src/contracts/PerpetualManagerProxy.ts +192 -3
  107. package/src/contracts/factories/IPerpetualManager__factory.ts +124 -3
  108. package/src/contracts/factories/OracleFactory__factory.ts +94 -25
  109. package/src/contracts/factories/PerpetualManagerProxy__factory.ts +212 -2
  110. package/src/d8XMath.ts +304 -2
  111. package/src/liquidatorTool.ts +29 -14
  112. package/src/marketData.ts +415 -238
  113. package/src/nodeSDKTypes.ts +30 -2
  114. package/src/orderExecutorTool.ts +48 -20
  115. package/src/perpetualDataHandler.ts +87 -45
  116. package/src/perpetualEventHandler.ts +6 -7
  117. package/src/polyMktsPxFeed.ts +30 -5
  118. package/src/priceFeeds.ts +41 -17
  119. package/src/version.ts +1 -1
  120. package/dist/cjs/abi/BeaconProxy.json +0 -71
  121. package/dist/cjs/abi/Maintainer.json +0 -774
  122. package/dist/cjs/abi/MockToken.json +0 -347
  123. package/dist/cjs/abi/UUPSUpgradeable.json +0 -104
  124. package/dist/cjs/abi/WeETH.json +0 -310
  125. package/dist/cjs/abi-zkevm/LimitOrderBook.json +0 -910
  126. package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +0 -236
  127. package/dist/cjs/contracts/BeaconProxy.d.ts +0 -63
  128. package/dist/cjs/contracts/BeaconProxy.js +0 -3
  129. package/dist/cjs/contracts/BeaconProxy.js.map +0 -1
  130. package/dist/cjs/contracts/Maintainer.d.ts +0 -799
  131. package/dist/cjs/contracts/Maintainer.js +0 -3
  132. package/dist/cjs/contracts/Maintainer.js.map +0 -1
  133. package/dist/cjs/contracts/MockToken.d.ts +0 -263
  134. package/dist/cjs/contracts/MockToken.js +0 -3
  135. package/dist/cjs/contracts/MockToken.js.map +0 -1
  136. package/dist/cjs/contracts/UUPSUpgradeable.d.ts +0 -118
  137. package/dist/cjs/contracts/UUPSUpgradeable.js +0 -3
  138. package/dist/cjs/contracts/UUPSUpgradeable.js.map +0 -1
  139. package/dist/cjs/contracts/WeETH.d.ts +0 -503
  140. package/dist/cjs/contracts/WeETH.js +0 -3
  141. package/dist/cjs/contracts/WeETH.js.map +0 -1
  142. package/dist/cjs/contracts/factories/BeaconProxy__factory.d.ts +0 -61
  143. package/dist/cjs/contracts/factories/BeaconProxy__factory.js +0 -89
  144. package/dist/cjs/contracts/factories/BeaconProxy__factory.js.map +0 -1
  145. package/dist/cjs/contracts/factories/Maintainer__factory.d.ts +0 -609
  146. package/dist/cjs/contracts/factories/Maintainer__factory.js +0 -792
  147. package/dist/cjs/contracts/factories/Maintainer__factory.js.map +0 -1
  148. package/dist/cjs/contracts/factories/MockToken__factory.js +0 -365
  149. package/dist/cjs/contracts/factories/MockToken__factory.js.map +0 -1
  150. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  151. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js +0 -122
  152. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  153. package/dist/cjs/contracts/factories/WeETH__factory.d.ts +0 -545
  154. package/dist/cjs/contracts/factories/WeETH__factory.js +0 -721
  155. package/dist/cjs/contracts/factories/WeETH__factory.js.map +0 -1
  156. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  157. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5324
  158. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  159. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  160. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -254
  161. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  162. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  163. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js +0 -928
  164. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  165. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  166. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js +0 -456
  167. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  168. package/dist/cjs/contracts/factories/lean0/index.d.ts +0 -4
  169. package/dist/cjs/contracts/factories/lean0/index.js +0 -15
  170. package/dist/cjs/contracts/factories/lean0/index.js.map +0 -1
  171. package/dist/cjs/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  172. package/dist/cjs/contracts/lean0/IPerpetualManager.js +0 -3
  173. package/dist/cjs/contracts/lean0/IPerpetualManager.js.map +0 -1
  174. package/dist/cjs/contracts/lean0/LimitOrderBook.d.ts +0 -533
  175. package/dist/cjs/contracts/lean0/LimitOrderBook.js +0 -3
  176. package/dist/cjs/contracts/lean0/LimitOrderBook.js.map +0 -1
  177. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  178. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js +0 -3
  179. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  180. package/dist/cjs/contracts/lean0/ShareToken.d.ts +0 -320
  181. package/dist/cjs/contracts/lean0/ShareToken.js +0 -3
  182. package/dist/cjs/contracts/lean0/ShareToken.js.map +0 -1
  183. package/dist/cjs/contracts/lean0/index.d.ts +0 -4
  184. package/dist/cjs/contracts/lean0/index.js +0 -3
  185. package/dist/cjs/contracts/lean0/index.js.map +0 -1
  186. package/dist/esm/abi/BeaconProxy.json +0 -71
  187. package/dist/esm/abi/Maintainer.json +0 -774
  188. package/dist/esm/abi/MockToken.json +0 -347
  189. package/dist/esm/abi/UUPSUpgradeable.json +0 -104
  190. package/dist/esm/abi/WeETH.json +0 -310
  191. package/dist/esm/abi/lean0/IPerpetualManager.json +0 -5306
  192. package/dist/esm/abi/lean0/LimitOrderBook.json +0 -910
  193. package/dist/esm/abi/lean0/LimitOrderBookFactory.json +0 -236
  194. package/dist/esm/abi/lean0/ShareToken.json +0 -438
  195. package/dist/esm/abi-zkevm/LimitOrderBook.json +0 -910
  196. package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +0 -236
  197. package/dist/esm/contracts/BeaconProxy.d.ts +0 -63
  198. package/dist/esm/contracts/BeaconProxy.js +0 -2
  199. package/dist/esm/contracts/BeaconProxy.js.map +0 -1
  200. package/dist/esm/contracts/Maintainer.d.ts +0 -799
  201. package/dist/esm/contracts/Maintainer.js +0 -2
  202. package/dist/esm/contracts/Maintainer.js.map +0 -1
  203. package/dist/esm/contracts/MockToken.d.ts +0 -263
  204. package/dist/esm/contracts/MockToken.js +0 -2
  205. package/dist/esm/contracts/MockToken.js.map +0 -1
  206. package/dist/esm/contracts/UUPSUpgradeable.d.ts +0 -118
  207. package/dist/esm/contracts/UUPSUpgradeable.js +0 -2
  208. package/dist/esm/contracts/UUPSUpgradeable.js.map +0 -1
  209. package/dist/esm/contracts/WeETH.d.ts +0 -503
  210. package/dist/esm/contracts/WeETH.js +0 -2
  211. package/dist/esm/contracts/WeETH.js.map +0 -1
  212. package/dist/esm/contracts/factories/BeaconProxy__factory.d.ts +0 -61
  213. package/dist/esm/contracts/factories/BeaconProxy__factory.js +0 -85
  214. package/dist/esm/contracts/factories/BeaconProxy__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.map +0 -1
  220. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  221. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js +0 -118
  222. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  223. package/dist/esm/contracts/factories/WeETH__factory.d.ts +0 -545
  224. package/dist/esm/contracts/factories/WeETH__factory.js +0 -717
  225. package/dist/esm/contracts/factories/WeETH__factory.js.map +0 -1
  226. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  227. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5320
  228. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  229. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  230. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -250
  231. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  232. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  233. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js +0 -924
  234. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  235. package/dist/esm/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  236. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js +0 -452
  237. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  238. package/dist/esm/contracts/factories/lean0/index.d.ts +0 -4
  239. package/dist/esm/contracts/factories/lean0/index.js +0 -8
  240. package/dist/esm/contracts/factories/lean0/index.js.map +0 -1
  241. package/dist/esm/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  242. package/dist/esm/contracts/lean0/IPerpetualManager.js +0 -2
  243. package/dist/esm/contracts/lean0/IPerpetualManager.js.map +0 -1
  244. package/dist/esm/contracts/lean0/LimitOrderBook.d.ts +0 -533
  245. package/dist/esm/contracts/lean0/LimitOrderBook.js +0 -2
  246. package/dist/esm/contracts/lean0/LimitOrderBook.js.map +0 -1
  247. package/dist/esm/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  248. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js +0 -2
  249. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  250. package/dist/esm/contracts/lean0/ShareToken.d.ts +0 -320
  251. package/dist/esm/contracts/lean0/ShareToken.js +0 -2
  252. package/dist/esm/contracts/lean0/ShareToken.js.map +0 -1
  253. package/dist/esm/contracts/lean0/index.d.ts +0 -4
  254. package/dist/esm/contracts/lean0/index.js +0 -2
  255. package/dist/esm/contracts/lean0/index.js.map +0 -1
@@ -3,7 +3,7 @@ import { OrderStatus } from "./constants";
3
3
  import { type LimitOrderBook, type Multicall3 } from "./contracts";
4
4
  import { IPerpetualOrder, type PerpStorage } from "./contracts/IPerpetualManager";
5
5
  import { type IClientOrder } from "./contracts/LimitOrderBook";
6
- import { type ExchangeInfo, type MarginAccount, type NodeSDKConfig, type Order, type PerpetualState, type PerpetualStaticInfo, type PoolState, type PoolStaticInfo, type SmartContractOrder } from "./nodeSDKTypes";
6
+ import { type ExchangeInfo, type MarginAccount, type NodeSDKConfig, type Order, type PerpetualState, type PerpetualStaticInfo, type PoolState, type PoolStaticInfo, type SmartContractOrder, type IdxPriceInfo } from "./nodeSDKTypes";
7
7
  import PerpetualDataHandler from "./perpetualDataHandler";
8
8
  import PriceFeeds from "./priceFeeds";
9
9
  /**
@@ -190,11 +190,13 @@ export default class MarketData extends PerpetualDataHandler {
190
190
  * @ignore
191
191
  */
192
192
  protected _positionRiskForTraderInPerpetuals(traderAddr: string, symbols: string[], provider: Provider, overrides?: Overrides): Promise<MarginAccount[]>;
193
+ private dataForPositionRiskOnTrade;
193
194
  /**
194
195
  * Estimates what the position risk will be if a given order is executed.
195
196
  * @param traderAddr Address of trader
196
197
  * @param order Order to be submitted
197
- * @param account Position risk before trade. Defaults to current position if not given.
198
+ * @param signedPositionNotionalBaseCCY signed position notional of current position (before trade)
199
+ * @param tradingFeeTbps trading fee in tenth of basis points (exchange fee and broker fee)
198
200
  * @param indexPriceInfo Index prices and market status (open/closed). Defaults to current market status if not given.
199
201
  * @returns Position risk after trade, including order cost and maximal trade sizes for position
200
202
  * @example
@@ -214,19 +216,27 @@ export default class MarketData extends PerpetualDataHandler {
214
216
  * executionTimestamp: Date.now()/1000,
215
217
  * };
216
218
  * // Get position risk conditional on this order being executed
217
- * const posRisk = await mktData.positionRiskOnTrade("0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B", order);
219
+ * const posRisk = await mktData.positionRiskOnTrade("0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B", order, 0, 60);
218
220
  * console.log(posRisk);
219
221
  * }
220
222
  * main();
221
223
  */
222
- positionRiskOnTrade(traderAddr: string, order: Order, account?: MarginAccount, indexPriceInfo?: [number, number, boolean, boolean], overrides?: Overrides & {
223
- tradingFeeTbps?: number;
224
- }): Promise<{
224
+ positionRiskOnTrade(traderAddr: string, order: Order, signedPositionNotionalBaseCCY: number, tradingFeeTbps: number, indexPriceInfo?: IdxPriceInfo, overrides?: Overrides): Promise<{
225
225
  newPositionRisk: MarginAccount;
226
226
  orderCost: number;
227
227
  maxLongTrade: number;
228
228
  maxShortTrade: number;
229
229
  }>;
230
+ /**
231
+ * Fee is relative to base-currency amount (=trade amount)
232
+ * @param state current perpetual state (need longBC and shortBC)
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
+ * @returns relative exchange fee in decimals
238
+ */
239
+ static exchangeFeePrdMkts(state: PerpetualState, maxMaintMgnRate: number, Sm: number, tradeAmtBC: number, tradeMgnRate: number): number;
230
240
  /**
231
241
  * Estimates what the position risk will be if given amount of collateral is added/removed from the account.
232
242
  * @param {number} deltaCollateral Amount of collateral to add or remove (signed)
@@ -248,20 +258,22 @@ export default class MarketData extends PerpetualDataHandler {
248
258
  * }
249
259
  * main();
250
260
  */
251
- positionRiskOnCollateralAction(deltaCollateral: number, account: MarginAccount, indexPriceInfo?: [number, number, boolean, boolean], overrides?: Overrides): Promise<MarginAccount>;
261
+ positionRiskOnCollateralAction(deltaCollateral: number, account: MarginAccount, indexPriceInfo?: IdxPriceInfo, overrides?: Overrides): Promise<MarginAccount>;
252
262
  /**
253
- * Calculates liquidation prices for a given position
263
+ * Calculates liquidation prices for a position
264
+ * constructed in positionRiskOnTrade/positionRiskOnCollateralAction
254
265
  * @param symbol Perpetual symbol
255
266
  * @param lockedInQC Locked in value
256
267
  * @param signedPositionBC Signed position size
257
- * @param marginCashCC Cash in margin account
268
+ * @param marginCashCC Available cash in margin account (includes unpaid funding)
258
269
  * @param markPrice Mark price
259
- * @param collToQuoteConversion Collateral index price
270
+ * @param collToQuoteConversion Collateral index price (S3)
271
+ * @param S2 index price
260
272
  * @param symbolToPerpStaticInfo Symbol-to-perp static info mapping
261
273
  * @returns [Base index price, Collateral index price, Maintenance margin rate]
262
274
  * @ignore
263
275
  */
264
- protected static _getLiquidationParams(symbol: string, lockedInQC: number, signedPositionBC: number, marginCashCC: number, markPrice: number, collToQuoteConversion: number, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>): [number, number | undefined, number];
276
+ 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];
265
277
  /**
266
278
  * Gets the wallet balance in the settlement currency corresponding to a given perpetual symbol.
267
279
  * The settlement currency is usually the same as the collateral currency.
@@ -387,6 +399,17 @@ export default class MarketData extends PerpetualDataHandler {
387
399
  buy: number;
388
400
  sell: number;
389
401
  }>;
402
+ private pmMaxOrderSizeForTrader;
403
+ /**
404
+ * Returns the maximal allowed short pos and long pos (signed) for a trader
405
+ * with given notional (in ABDK format) in the perpetual, ignoring the traders wallet balance
406
+ * @param perpId
407
+ * @param currentTraderPos ABDK64x64 notional position of trader
408
+ * @param overrides
409
+ * @returns [maxShortPos, maxLongPos] signed maximal position sizes
410
+ */
411
+ getMaxShortLongPos(perpId: number, currentTraderPos: bigint, overrides?: Overrides): Promise<[number, number]>;
412
+ private rmMaxOrderSizeForTrader;
390
413
  /**
391
414
  * Perpetual-wide maximal signed position size in perpetual.
392
415
  * @param side BUY_SIDE or SELL_SIDE
@@ -474,6 +497,7 @@ export default class MarketData extends PerpetualDataHandler {
474
497
  /**
475
498
  * Get the current mark price
476
499
  * @param symbol symbol of the form ETH-USD-MATIC
500
+ * @param indexPrices optional. IdxPriceInfo
477
501
  * @example
478
502
  * import { MarketData, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
479
503
  * async function main() {
@@ -490,11 +514,12 @@ export default class MarketData extends PerpetualDataHandler {
490
514
  *
491
515
  * @returns {number} mark price
492
516
  */
493
- getMarkPrice(symbol: string, indexPrices?: [number, number]): Promise<number>;
517
+ getMarkPrice(symbol: string, indexPrices?: IdxPriceInfo): Promise<number>;
494
518
  /**
495
519
  * get the current price for a given quantity
496
520
  * @param symbol symbol of the form ETH-USD-MATIC
497
521
  * @param quantity quantity to be traded, negative if short
522
+ * @param priceInfo [s2, s3, conf, params]; for non-prediction markets conf/params can be 0
498
523
  * @example
499
524
  * import { MarketData, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
500
525
  * async function main() {
@@ -511,13 +536,13 @@ export default class MarketData extends PerpetualDataHandler {
511
536
  *
512
537
  * @returns {number} price
513
538
  */
514
- getPerpetualPrice(symbol: string, quantity: number, indexPrices?: [number, number], overrides?: Overrides): Promise<number>;
539
+ getPerpetualPrice(symbol: string, quantity: number, priceInfo?: IdxPriceInfo, overrides?: Overrides): Promise<number>;
515
540
  /**
516
541
  * Query recent perpetual state from blockchain
517
542
  * @param {string} symbol symbol of the form ETH-USD-MATIC
518
543
  * @returns {PerpetualState} PerpetualState copy
519
544
  */
520
- getPerpetualState(symbol: string, indexPriceInfo?: [number, number, boolean, boolean], overrides?: Overrides): Promise<PerpetualState>;
545
+ getPerpetualState(symbol: string, indexPriceInfo?: IdxPriceInfo, overrides?: Overrides): Promise<PerpetualState>;
521
546
  /**
522
547
  * Query recent pool state from blockchain, not including perpetual states
523
548
  * @param {string} poolSymbol symbol of the form USDC
@@ -584,7 +609,7 @@ export default class MarketData extends PerpetualDataHandler {
584
609
  * Result is in collateral currency
585
610
  * @param {string} traderAddr address of the trader
586
611
  * @param {string} symbol perpetual symbol of the form BTC-USD-MATIC
587
- * @param indexPrices optional index prices, will otherwise fetch from REST API
612
+ * @param indexPrices optional indexPriceInfo
588
613
  * @returns available margin in collateral currency
589
614
  * @example
590
615
  * import { MarketData, PerpetualDataHandler } from '@d8x/perpetuals-sdk';
@@ -600,7 +625,7 @@ export default class MarketData extends PerpetualDataHandler {
600
625
  * }
601
626
  * main();
602
627
  */
603
- getAvailableMargin(traderAddr: string, symbol: string, indexPrices?: [number, number], overrides?: Overrides): Promise<number>;
628
+ getAvailableMargin(traderAddr: string, symbol: string, indexPrices?: IdxPriceInfo, overrides?: Overrides): Promise<number>;
604
629
  /**
605
630
  * Calculate a type of exchange loyality score based on trader volume
606
631
  * @param {string} traderAddr address of the trader
@@ -733,8 +758,5 @@ export default class MarketData extends PerpetualDataHandler {
733
758
  * @param symbol Perpetual symbol of the form BTC-USDc-USDC
734
759
  * @returns Prices and market-closed information
735
760
  */
736
- fetchPricesForPerpetual(symbol: string): Promise<{
737
- idxPrices: number[];
738
- mktClosed: boolean[];
739
- }>;
761
+ fetchPricesForPerpetual(symbol: string): Promise<IdxPriceInfo>;
740
762
  }