@d8x/perpetuals-sdk 2.0.12-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 (252) 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/contracts/IPerpetualManager.d.ts +74 -10
  8. package/dist/cjs/contracts/OracleFactory.d.ts +69 -20
  9. package/dist/cjs/contracts/PerpetualManagerProxy.d.ts +109 -4
  10. package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +95 -3
  11. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +124 -3
  12. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  13. package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +75 -20
  14. package/dist/cjs/contracts/factories/OracleFactory__factory.js +94 -25
  15. package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -1
  16. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.d.ts +159 -2
  17. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js +212 -2
  18. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  19. package/dist/cjs/d8XMath.d.ts +44 -1
  20. package/dist/cjs/d8XMath.js +236 -3
  21. package/dist/cjs/d8XMath.js.map +1 -1
  22. package/dist/cjs/liquidatorTool.d.ts +1 -0
  23. package/dist/cjs/liquidatorTool.js +24 -7
  24. package/dist/cjs/liquidatorTool.js.map +1 -1
  25. package/dist/cjs/marketData.d.ts +42 -20
  26. package/dist/cjs/marketData.js +261 -188
  27. package/dist/cjs/marketData.js.map +1 -1
  28. package/dist/cjs/nodeSDKTypes.d.ts +24 -2
  29. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  30. package/dist/cjs/orderExecutorTool.d.ts +3 -3
  31. package/dist/cjs/orderExecutorTool.js +38 -13
  32. package/dist/cjs/orderExecutorTool.js.map +1 -1
  33. package/dist/cjs/perpetualDataHandler.d.ts +22 -12
  34. package/dist/cjs/perpetualDataHandler.js +59 -44
  35. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  36. package/dist/cjs/perpetualEventHandler.d.ts +1 -1
  37. package/dist/cjs/perpetualEventHandler.js +6 -7
  38. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  39. package/dist/cjs/polyMktsPxFeed.d.ts +6 -4
  40. package/dist/cjs/polyMktsPxFeed.js +24 -3
  41. package/dist/cjs/polyMktsPxFeed.js.map +1 -1
  42. package/dist/cjs/priceFeeds.d.ts +6 -7
  43. package/dist/cjs/priceFeeds.js +36 -14
  44. package/dist/cjs/priceFeeds.js.map +1 -1
  45. package/dist/cjs/version.d.ts +1 -1
  46. package/dist/cjs/version.js +1 -1
  47. package/dist/esm/abi/IPerpetualManager.json +124 -3
  48. package/dist/esm/abi/OracleFactory.json +94 -25
  49. package/dist/esm/abi/PerpetualManagerProxy.json +212 -2
  50. package/dist/esm/brokerTool.d.ts +5 -1
  51. package/dist/esm/brokerTool.js +15 -2
  52. package/dist/esm/brokerTool.js.map +1 -1
  53. package/dist/esm/contracts/IPerpetualManager.d.ts +74 -10
  54. package/dist/esm/contracts/OracleFactory.d.ts +69 -20
  55. package/dist/esm/contracts/PerpetualManagerProxy.d.ts +109 -4
  56. package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +95 -3
  57. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +124 -3
  58. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  59. package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +75 -20
  60. package/dist/esm/contracts/factories/OracleFactory__factory.js +94 -25
  61. package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -1
  62. package/dist/{cjs/contracts/factories/MockToken__factory.d.ts → esm/contracts/factories/PerpStorage__factory.d.ts} +115 -128
  63. package/dist/esm/contracts/factories/{MockToken__factory.js → PerpStorage__factory.js} +128 -139
  64. package/dist/esm/contracts/factories/PerpStorage__factory.js.map +1 -0
  65. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.d.ts +159 -2
  66. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js +212 -2
  67. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  68. package/dist/esm/d8XMath.d.ts +44 -1
  69. package/dist/esm/d8XMath.js +229 -2
  70. package/dist/esm/d8XMath.js.map +1 -1
  71. package/dist/esm/liquidatorTool.d.ts +1 -0
  72. package/dist/esm/liquidatorTool.js +25 -8
  73. package/dist/esm/liquidatorTool.js.map +1 -1
  74. package/dist/esm/marketData.d.ts +42 -20
  75. package/dist/esm/marketData.js +263 -190
  76. package/dist/esm/marketData.js.map +1 -1
  77. package/dist/esm/nodeSDKTypes.d.ts +24 -2
  78. package/dist/esm/nodeSDKTypes.js.map +1 -1
  79. package/dist/esm/orderExecutorTool.d.ts +3 -3
  80. package/dist/esm/orderExecutorTool.js +38 -13
  81. package/dist/esm/orderExecutorTool.js.map +1 -1
  82. package/dist/esm/perpetualDataHandler.d.ts +22 -12
  83. package/dist/esm/perpetualDataHandler.js +60 -45
  84. package/dist/esm/perpetualDataHandler.js.map +1 -1
  85. package/dist/esm/perpetualEventHandler.d.ts +1 -1
  86. package/dist/esm/perpetualEventHandler.js +6 -7
  87. package/dist/esm/perpetualEventHandler.js.map +1 -1
  88. package/dist/esm/polyMktsPxFeed.d.ts +6 -4
  89. package/dist/esm/polyMktsPxFeed.js +24 -3
  90. package/dist/esm/polyMktsPxFeed.js.map +1 -1
  91. package/dist/esm/priceFeeds.d.ts +6 -7
  92. package/dist/esm/priceFeeds.js +36 -14
  93. package/dist/esm/priceFeeds.js.map +1 -1
  94. package/dist/esm/version.d.ts +1 -1
  95. package/dist/esm/version.js +1 -1
  96. package/package.json +1 -1
  97. package/src/abi/IPerpetualManager.json +124 -3
  98. package/src/abi/OracleFactory.json +523 -454
  99. package/src/abi/PerpetualManagerProxy.json +1596 -1386
  100. package/src/brokerTool.ts +16 -2
  101. package/src/contracts/IPerpetualManager.ts +107 -7
  102. package/src/contracts/OracleFactory.ts +100 -26
  103. package/src/contracts/PerpetualManagerProxy.ts +192 -3
  104. package/src/contracts/factories/IPerpetualManager__factory.ts +124 -3
  105. package/src/contracts/factories/OracleFactory__factory.ts +94 -25
  106. package/src/contracts/factories/PerpetualManagerProxy__factory.ts +212 -2
  107. package/src/d8XMath.ts +304 -2
  108. package/src/liquidatorTool.ts +29 -14
  109. package/src/marketData.ts +415 -238
  110. package/src/nodeSDKTypes.ts +30 -2
  111. package/src/orderExecutorTool.ts +48 -20
  112. package/src/perpetualDataHandler.ts +87 -45
  113. package/src/perpetualEventHandler.ts +6 -7
  114. package/src/polyMktsPxFeed.ts +30 -5
  115. package/src/priceFeeds.ts +41 -17
  116. package/src/version.ts +1 -1
  117. package/dist/cjs/abi/BeaconProxy.json +0 -71
  118. package/dist/cjs/abi/Maintainer.json +0 -774
  119. package/dist/cjs/abi/MockToken.json +0 -347
  120. package/dist/cjs/abi/UUPSUpgradeable.json +0 -104
  121. package/dist/cjs/abi/WeETH.json +0 -310
  122. package/dist/cjs/abi-zkevm/LimitOrderBook.json +0 -910
  123. package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +0 -236
  124. package/dist/cjs/contracts/BeaconProxy.d.ts +0 -63
  125. package/dist/cjs/contracts/BeaconProxy.js +0 -3
  126. package/dist/cjs/contracts/BeaconProxy.js.map +0 -1
  127. package/dist/cjs/contracts/Maintainer.d.ts +0 -799
  128. package/dist/cjs/contracts/Maintainer.js +0 -3
  129. package/dist/cjs/contracts/Maintainer.js.map +0 -1
  130. package/dist/cjs/contracts/MockToken.d.ts +0 -263
  131. package/dist/cjs/contracts/MockToken.js +0 -3
  132. package/dist/cjs/contracts/MockToken.js.map +0 -1
  133. package/dist/cjs/contracts/UUPSUpgradeable.d.ts +0 -118
  134. package/dist/cjs/contracts/UUPSUpgradeable.js +0 -3
  135. package/dist/cjs/contracts/UUPSUpgradeable.js.map +0 -1
  136. package/dist/cjs/contracts/WeETH.d.ts +0 -503
  137. package/dist/cjs/contracts/WeETH.js +0 -3
  138. package/dist/cjs/contracts/WeETH.js.map +0 -1
  139. package/dist/cjs/contracts/factories/BeaconProxy__factory.d.ts +0 -61
  140. package/dist/cjs/contracts/factories/BeaconProxy__factory.js +0 -89
  141. package/dist/cjs/contracts/factories/BeaconProxy__factory.js.map +0 -1
  142. package/dist/cjs/contracts/factories/Maintainer__factory.d.ts +0 -609
  143. package/dist/cjs/contracts/factories/Maintainer__factory.js +0 -792
  144. package/dist/cjs/contracts/factories/Maintainer__factory.js.map +0 -1
  145. package/dist/cjs/contracts/factories/MockToken__factory.js +0 -365
  146. package/dist/cjs/contracts/factories/MockToken__factory.js.map +0 -1
  147. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  148. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js +0 -122
  149. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  150. package/dist/cjs/contracts/factories/WeETH__factory.d.ts +0 -545
  151. package/dist/cjs/contracts/factories/WeETH__factory.js +0 -721
  152. package/dist/cjs/contracts/factories/WeETH__factory.js.map +0 -1
  153. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  154. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5324
  155. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  156. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  157. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -254
  158. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  159. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  160. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js +0 -928
  161. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  162. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  163. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js +0 -456
  164. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  165. package/dist/cjs/contracts/factories/lean0/index.d.ts +0 -4
  166. package/dist/cjs/contracts/factories/lean0/index.js +0 -15
  167. package/dist/cjs/contracts/factories/lean0/index.js.map +0 -1
  168. package/dist/cjs/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  169. package/dist/cjs/contracts/lean0/IPerpetualManager.js +0 -3
  170. package/dist/cjs/contracts/lean0/IPerpetualManager.js.map +0 -1
  171. package/dist/cjs/contracts/lean0/LimitOrderBook.d.ts +0 -533
  172. package/dist/cjs/contracts/lean0/LimitOrderBook.js +0 -3
  173. package/dist/cjs/contracts/lean0/LimitOrderBook.js.map +0 -1
  174. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  175. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js +0 -3
  176. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  177. package/dist/cjs/contracts/lean0/ShareToken.d.ts +0 -320
  178. package/dist/cjs/contracts/lean0/ShareToken.js +0 -3
  179. package/dist/cjs/contracts/lean0/ShareToken.js.map +0 -1
  180. package/dist/cjs/contracts/lean0/index.d.ts +0 -4
  181. package/dist/cjs/contracts/lean0/index.js +0 -3
  182. package/dist/cjs/contracts/lean0/index.js.map +0 -1
  183. package/dist/esm/abi/BeaconProxy.json +0 -71
  184. package/dist/esm/abi/Maintainer.json +0 -774
  185. package/dist/esm/abi/MockToken.json +0 -347
  186. package/dist/esm/abi/UUPSUpgradeable.json +0 -104
  187. package/dist/esm/abi/WeETH.json +0 -310
  188. package/dist/esm/abi/lean0/IPerpetualManager.json +0 -5306
  189. package/dist/esm/abi/lean0/LimitOrderBook.json +0 -910
  190. package/dist/esm/abi/lean0/LimitOrderBookFactory.json +0 -236
  191. package/dist/esm/abi/lean0/ShareToken.json +0 -438
  192. package/dist/esm/abi-zkevm/LimitOrderBook.json +0 -910
  193. package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +0 -236
  194. package/dist/esm/contracts/BeaconProxy.d.ts +0 -63
  195. package/dist/esm/contracts/BeaconProxy.js +0 -2
  196. package/dist/esm/contracts/BeaconProxy.js.map +0 -1
  197. package/dist/esm/contracts/Maintainer.d.ts +0 -799
  198. package/dist/esm/contracts/Maintainer.js +0 -2
  199. package/dist/esm/contracts/Maintainer.js.map +0 -1
  200. package/dist/esm/contracts/MockToken.d.ts +0 -263
  201. package/dist/esm/contracts/MockToken.js +0 -2
  202. package/dist/esm/contracts/MockToken.js.map +0 -1
  203. package/dist/esm/contracts/UUPSUpgradeable.d.ts +0 -118
  204. package/dist/esm/contracts/UUPSUpgradeable.js +0 -2
  205. package/dist/esm/contracts/UUPSUpgradeable.js.map +0 -1
  206. package/dist/esm/contracts/WeETH.d.ts +0 -503
  207. package/dist/esm/contracts/WeETH.js +0 -2
  208. package/dist/esm/contracts/WeETH.js.map +0 -1
  209. package/dist/esm/contracts/factories/BeaconProxy__factory.d.ts +0 -61
  210. package/dist/esm/contracts/factories/BeaconProxy__factory.js +0 -85
  211. package/dist/esm/contracts/factories/BeaconProxy__factory.js.map +0 -1
  212. package/dist/esm/contracts/factories/Maintainer__factory.d.ts +0 -609
  213. package/dist/esm/contracts/factories/Maintainer__factory.js +0 -788
  214. package/dist/esm/contracts/factories/Maintainer__factory.js.map +0 -1
  215. package/dist/esm/contracts/factories/MockToken__factory.d.ts +0 -273
  216. package/dist/esm/contracts/factories/MockToken__factory.js.map +0 -1
  217. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.d.ts +0 -87
  218. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js +0 -118
  219. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js.map +0 -1
  220. package/dist/esm/contracts/factories/WeETH__factory.d.ts +0 -545
  221. package/dist/esm/contracts/factories/WeETH__factory.js +0 -717
  222. package/dist/esm/contracts/factories/WeETH__factory.js.map +0 -1
  223. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.d.ts +0 -4136
  224. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js +0 -5320
  225. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js.map +0 -1
  226. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +0 -189
  227. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js +0 -250
  228. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +0 -1
  229. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.d.ts +0 -715
  230. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js +0 -924
  231. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js.map +0 -1
  232. package/dist/esm/contracts/factories/lean0/ShareToken__factory.d.ts +0 -344
  233. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js +0 -452
  234. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js.map +0 -1
  235. package/dist/esm/contracts/factories/lean0/index.d.ts +0 -4
  236. package/dist/esm/contracts/factories/lean0/index.js +0 -8
  237. package/dist/esm/contracts/factories/lean0/index.js.map +0 -1
  238. package/dist/esm/contracts/lean0/IPerpetualManager.d.ts +0 -2821
  239. package/dist/esm/contracts/lean0/IPerpetualManager.js +0 -2
  240. package/dist/esm/contracts/lean0/IPerpetualManager.js.map +0 -1
  241. package/dist/esm/contracts/lean0/LimitOrderBook.d.ts +0 -533
  242. package/dist/esm/contracts/lean0/LimitOrderBook.js +0 -2
  243. package/dist/esm/contracts/lean0/LimitOrderBook.js.map +0 -1
  244. package/dist/esm/contracts/lean0/LimitOrderBookFactory.d.ts +0 -210
  245. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js +0 -2
  246. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js.map +0 -1
  247. package/dist/esm/contracts/lean0/ShareToken.d.ts +0 -320
  248. package/dist/esm/contracts/lean0/ShareToken.js +0 -2
  249. package/dist/esm/contracts/lean0/ShareToken.js.map +0 -1
  250. package/dist/esm/contracts/lean0/index.d.ts +0 -4
  251. package/dist/esm/contracts/lean0/index.js +0 -2
  252. 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
  }