@symmio/trading-core 1.1.0 → 2.0.0

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 (1605) hide show
  1. package/dist/candles/adapters/tradingview/index.d.ts +4 -0
  2. package/dist/candles/adapters/tradingview/index.d.ts.map +1 -0
  3. package/dist/candles/adapters/tradingview/map-resolution.d.ts +26 -0
  4. package/dist/candles/adapters/tradingview/map-resolution.d.ts.map +1 -0
  5. package/dist/candles/adapters/tradingview/map-resolution.js +51 -0
  6. package/dist/candles/adapters/tradingview/map-resolution.js.map +1 -0
  7. package/dist/candles/adapters/tradingview/to-tradingview-datafeed.d.ts +48 -0
  8. package/dist/candles/adapters/tradingview/to-tradingview-datafeed.d.ts.map +1 -0
  9. package/dist/candles/adapters/tradingview/to-tradingview-datafeed.js +115 -0
  10. package/dist/candles/adapters/tradingview/to-tradingview-datafeed.js.map +1 -0
  11. package/dist/candles/adapters/tradingview/types.d.ts +102 -0
  12. package/dist/candles/adapters/tradingview/types.d.ts.map +1 -0
  13. package/dist/candles/index.d.ts +6 -0
  14. package/dist/candles/index.d.ts.map +1 -0
  15. package/dist/candles/query.d.ts +58 -0
  16. package/dist/candles/query.d.ts.map +1 -0
  17. package/dist/candles/query.js +31 -0
  18. package/dist/candles/query.js.map +1 -0
  19. package/dist/candles/resolution.d.ts +25 -0
  20. package/dist/candles/resolution.d.ts.map +1 -0
  21. package/dist/candles/resolution.js +30 -0
  22. package/dist/candles/resolution.js.map +1 -0
  23. package/dist/candles/sources/binance/constants.d.ts +46 -0
  24. package/dist/candles/sources/binance/constants.d.ts.map +1 -0
  25. package/dist/candles/sources/binance/constants.js +21 -0
  26. package/dist/candles/sources/binance/constants.js.map +1 -0
  27. package/dist/candles/sources/binance/create-binance-candle-source.d.ts +65 -0
  28. package/dist/candles/sources/binance/create-binance-candle-source.d.ts.map +1 -0
  29. package/dist/candles/sources/binance/create-binance-candle-source.js +92 -0
  30. package/dist/candles/sources/binance/create-binance-candle-source.js.map +1 -0
  31. package/dist/candles/sources/binance/fetch-binance-exchange-info.d.ts +40 -0
  32. package/dist/candles/sources/binance/fetch-binance-exchange-info.d.ts.map +1 -0
  33. package/dist/candles/sources/binance/fetch-binance-exchange-info.js +34 -0
  34. package/dist/candles/sources/binance/fetch-binance-exchange-info.js.map +1 -0
  35. package/dist/candles/sources/binance/fetch-binance-klines.d.ts +36 -0
  36. package/dist/candles/sources/binance/fetch-binance-klines.d.ts.map +1 -0
  37. package/dist/candles/sources/binance/fetch-binance-klines.js +31 -0
  38. package/dist/candles/sources/binance/fetch-binance-klines.js.map +1 -0
  39. package/dist/candles/sources/binance/index.d.ts +8 -0
  40. package/dist/candles/sources/binance/index.d.ts.map +1 -0
  41. package/dist/candles/sources/binance/map-resolution.d.ts +25 -0
  42. package/dist/candles/sources/binance/map-resolution.d.ts.map +1 -0
  43. package/dist/candles/sources/binance/map-resolution.js +34 -0
  44. package/dist/candles/sources/binance/map-resolution.js.map +1 -0
  45. package/dist/candles/sources/binance/parse-kline.d.ts +61 -0
  46. package/dist/candles/sources/binance/parse-kline.d.ts.map +1 -0
  47. package/dist/candles/sources/binance/parse-kline.js +32 -0
  48. package/dist/candles/sources/binance/parse-kline.js.map +1 -0
  49. package/dist/candles/sources/binance/watch-binance-klines.d.ts +54 -0
  50. package/dist/candles/sources/binance/watch-binance-klines.d.ts.map +1 -0
  51. package/dist/candles/sources/binance/watch-binance-klines.js +45 -0
  52. package/dist/candles/sources/binance/watch-binance-klines.js.map +1 -0
  53. package/dist/candles/types.d.ts +192 -0
  54. package/dist/candles/types.d.ts.map +1 -0
  55. package/dist/core/chains/actions/get-default-solver.d.ts +22 -0
  56. package/dist/core/chains/actions/get-default-solver.d.ts.map +1 -0
  57. package/dist/core/chains/actions/get-default-solver.js +10 -0
  58. package/dist/core/chains/actions/get-default-solver.js.map +1 -0
  59. package/dist/core/chains/index.d.ts +4 -0
  60. package/dist/core/chains/index.d.ts.map +1 -1
  61. package/dist/core/chains/price-service-support.d.ts +18 -0
  62. package/dist/core/chains/price-service-support.d.ts.map +1 -0
  63. package/dist/core/chains/price-service-support.js +10 -0
  64. package/dist/core/chains/price-service-support.js.map +1 -0
  65. package/dist/core/chains/registry.d.ts.map +1 -1
  66. package/dist/core/chains/registry.js +88 -42
  67. package/dist/core/chains/registry.js.map +1 -1
  68. package/dist/core/chains/resolve-solver.d.ts +14 -0
  69. package/dist/core/chains/resolve-solver.d.ts.map +1 -0
  70. package/dist/core/chains/resolve-solver.js +14 -0
  71. package/dist/core/chains/resolve-solver.js.map +1 -0
  72. package/dist/core/chains/solver-support.d.ts +14 -0
  73. package/dist/core/chains/solver-support.d.ts.map +1 -0
  74. package/dist/core/chains/solver-support.js +10 -0
  75. package/dist/core/chains/solver-support.js.map +1 -0
  76. package/dist/core/chains/supported-chains.d.ts +3 -1
  77. package/dist/core/chains/supported-chains.d.ts.map +1 -1
  78. package/dist/core/chains/supported-chains.js +1 -1
  79. package/dist/core/chains/supported-chains.js.map +1 -1
  80. package/dist/core/chains/types.d.ts +236 -22
  81. package/dist/core/chains/types.d.ts.map +1 -1
  82. package/dist/core/chains/types.js +6 -0
  83. package/dist/core/chains/types.js.map +1 -0
  84. package/dist/core/config/config-key.d.ts +6 -0
  85. package/dist/core/config/config-key.d.ts.map +1 -1
  86. package/dist/core/config/config-key.js.map +1 -1
  87. package/dist/core/config/create-config.d.ts +37 -9
  88. package/dist/core/config/create-config.d.ts.map +1 -1
  89. package/dist/core/config/create-config.js +47 -25
  90. package/dist/core/config/create-config.js.map +1 -1
  91. package/dist/core/config/merge-chain-config.d.ts.map +1 -1
  92. package/dist/core/config/merge-chain-config.js +81 -28
  93. package/dist/core/config/merge-chain-config.js.map +1 -1
  94. package/dist/index.d.ts +281 -34
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +490 -285
  97. package/dist/inventory/index.d.ts +5 -0
  98. package/dist/inventory/index.d.ts.map +1 -0
  99. package/dist/inventory/resolve-inventory.d.ts +25 -0
  100. package/dist/inventory/resolve-inventory.d.ts.map +1 -0
  101. package/dist/inventory/resolve-inventory.js +18 -0
  102. package/dist/inventory/resolve-inventory.js.map +1 -0
  103. package/dist/inventory/tvl/get-inventory-tvl.d.ts +45 -0
  104. package/dist/inventory/tvl/get-inventory-tvl.d.ts.map +1 -0
  105. package/dist/inventory/tvl/get-inventory-tvl.js +27 -0
  106. package/dist/inventory/tvl/get-inventory-tvl.js.map +1 -0
  107. package/dist/inventory/tvl/index.d.ts +3 -0
  108. package/dist/inventory/tvl/index.d.ts.map +1 -0
  109. package/dist/inventory/tvl/query.d.ts +36 -0
  110. package/dist/inventory/tvl/query.d.ts.map +1 -0
  111. package/dist/inventory/tvl/query.js +21 -0
  112. package/dist/inventory/tvl/query.js.map +1 -0
  113. package/dist/inventory/tvl-history/get-inventory-tvl-history.d.ts +44 -0
  114. package/dist/inventory/tvl-history/get-inventory-tvl-history.d.ts.map +1 -0
  115. package/dist/inventory/tvl-history/get-inventory-tvl-history.js +21 -0
  116. package/dist/inventory/tvl-history/get-inventory-tvl-history.js.map +1 -0
  117. package/dist/inventory/tvl-history/index.d.ts +4 -0
  118. package/dist/inventory/tvl-history/index.d.ts.map +1 -0
  119. package/dist/inventory/tvl-history/query.d.ts +36 -0
  120. package/dist/inventory/tvl-history/query.d.ts.map +1 -0
  121. package/dist/inventory/tvl-history/query.js +24 -0
  122. package/dist/inventory/tvl-history/query.js.map +1 -0
  123. package/dist/inventory/tvl-history/to-inventory-tvl-point.d.ts +16 -0
  124. package/dist/inventory/tvl-history/to-inventory-tvl-point.d.ts.map +1 -0
  125. package/dist/inventory/tvl-history/to-inventory-tvl-point.js +12 -0
  126. package/dist/inventory/tvl-history/to-inventory-tvl-point.js.map +1 -0
  127. package/dist/inventory/types/generated/inventory-service.d.ts +769 -0
  128. package/dist/inventory/types/generated/inventory-service.d.ts.map +1 -0
  129. package/dist/inventory/types/generated/inventory-service.js +7 -0
  130. package/dist/inventory/types/generated/inventory-service.js.map +1 -0
  131. package/dist/inventory/types.d.ts +29 -0
  132. package/dist/inventory/types.d.ts.map +1 -0
  133. package/dist/inventory/types.js +6 -0
  134. package/dist/inventory/types.js.map +1 -0
  135. package/dist/margin/calculate-margin-risk.d.ts +108 -0
  136. package/dist/margin/calculate-margin-risk.d.ts.map +1 -0
  137. package/dist/margin/calculate-margin-risk.js +18 -0
  138. package/dist/margin/calculate-margin-risk.js.map +1 -0
  139. package/dist/margin/index.d.ts +2 -0
  140. package/dist/margin/index.d.ts.map +1 -0
  141. package/dist/muon/client.d.ts +29 -0
  142. package/dist/muon/client.d.ts.map +1 -1
  143. package/dist/muon/client.js +20 -6
  144. package/dist/muon/client.js.map +1 -1
  145. package/dist/muon/deallocate-upnl-sig/get-deallocate-upnl-sig.d.ts.map +1 -1
  146. package/dist/muon/deallocate-upnl-sig/get-deallocate-upnl-sig.js +10 -20
  147. package/dist/muon/deallocate-upnl-sig/get-deallocate-upnl-sig.js.map +1 -1
  148. package/dist/muon/force-close-price-sig/get-force-close-price-sig.d.ts +58 -0
  149. package/dist/muon/force-close-price-sig/get-force-close-price-sig.d.ts.map +1 -0
  150. package/dist/muon/force-close-price-sig/get-force-close-price-sig.js +34 -0
  151. package/dist/muon/force-close-price-sig/get-force-close-price-sig.js.map +1 -0
  152. package/dist/muon/force-close-price-sig/index.d.ts +3 -0
  153. package/dist/muon/force-close-price-sig/index.d.ts.map +1 -0
  154. package/dist/muon/force-close-price-sig/query.d.ts +50 -0
  155. package/dist/muon/force-close-price-sig/query.d.ts.map +1 -0
  156. package/dist/muon/force-close-price-sig/query.js +28 -0
  157. package/dist/muon/force-close-price-sig/query.js.map +1 -0
  158. package/dist/muon/index.d.ts +2 -0
  159. package/dist/muon/index.d.ts.map +1 -1
  160. package/dist/muon/party-a-overview/get-muon-party-a-overview.d.ts +1 -1
  161. package/dist/muon/party-a-overview/get-muon-party-a-overview.js.map +1 -1
  162. package/dist/muon/send-quote-upnl-sig/get-send-quote-upnl-sig.d.ts +53 -0
  163. package/dist/muon/send-quote-upnl-sig/get-send-quote-upnl-sig.d.ts.map +1 -0
  164. package/dist/muon/send-quote-upnl-sig/get-send-quote-upnl-sig.js +23 -0
  165. package/dist/muon/send-quote-upnl-sig/get-send-quote-upnl-sig.js.map +1 -0
  166. package/dist/muon/send-quote-upnl-sig/index.d.ts +3 -0
  167. package/dist/muon/send-quote-upnl-sig/index.d.ts.map +1 -0
  168. package/dist/muon/send-quote-upnl-sig/query.d.ts +42 -0
  169. package/dist/muon/send-quote-upnl-sig/query.d.ts.map +1 -0
  170. package/dist/muon/send-quote-upnl-sig/query.js +25 -0
  171. package/dist/muon/send-quote-upnl-sig/query.js.map +1 -0
  172. package/dist/muon/types.d.ts +2 -2
  173. package/dist/muon/types.js.map +1 -1
  174. package/dist/muon/upnl-a/get-muon-upnl-a.d.ts +1 -1
  175. package/dist/muon/upnl-a/get-muon-upnl-a.js.map +1 -1
  176. package/dist/muon/upnl-a-with-symbol-price/get-muon-upnl-a-with-symbol-price.d.ts +1 -1
  177. package/dist/muon/upnl-a-with-symbol-price/get-muon-upnl-a-with-symbol-price.js.map +1 -1
  178. package/dist/muon/upnl-b/get-muon-upnl-b.d.ts +1 -1
  179. package/dist/muon/upnl-b/get-muon-upnl-b.js.map +1 -1
  180. package/dist/muon/upnl-with-symbol-price/get-muon-upnl-with-symbol-price.d.ts +1 -1
  181. package/dist/muon/upnl-with-symbol-price/get-muon-upnl-with-symbol-price.js.map +1 -1
  182. package/dist/notifications/search/adapters/enigma-search.d.ts +14 -0
  183. package/dist/notifications/search/adapters/enigma-search.d.ts.map +1 -0
  184. package/dist/notifications/search/adapters/enigma-search.js +33 -0
  185. package/dist/notifications/search/adapters/enigma-search.js.map +1 -0
  186. package/dist/notifications/search/adapters/rasa-search.d.ts +13 -0
  187. package/dist/notifications/search/adapters/rasa-search.d.ts.map +1 -0
  188. package/dist/notifications/search/adapters/rasa-search.js +28 -0
  189. package/dist/notifications/search/adapters/rasa-search.js.map +1 -0
  190. package/dist/notifications/search/query.d.ts +4 -2
  191. package/dist/notifications/search/query.d.ts.map +1 -1
  192. package/dist/notifications/search/query.js +8 -4
  193. package/dist/notifications/search/query.js.map +1 -1
  194. package/dist/notifications/search/search-notifications.d.ts +23 -43
  195. package/dist/notifications/search/search-notifications.d.ts.map +1 -1
  196. package/dist/notifications/search/search-notifications.js +11 -22
  197. package/dist/notifications/search/search-notifications.js.map +1 -1
  198. package/dist/notifications/search/types.d.ts +80 -0
  199. package/dist/notifications/search/types.d.ts.map +1 -0
  200. package/dist/notifications/types.d.ts +0 -11
  201. package/dist/notifications/types.d.ts.map +1 -1
  202. package/dist/orderbook/aggregate.d.ts +80 -0
  203. package/dist/orderbook/aggregate.d.ts.map +1 -0
  204. package/dist/orderbook/aggregate.js +74 -0
  205. package/dist/orderbook/aggregate.js.map +1 -0
  206. package/dist/orderbook/index.d.ts +7 -0
  207. package/dist/orderbook/index.d.ts.map +1 -0
  208. package/dist/orderbook/query.d.ts +55 -0
  209. package/dist/orderbook/query.d.ts.map +1 -0
  210. package/dist/orderbook/query.js +25 -0
  211. package/dist/orderbook/query.js.map +1 -0
  212. package/dist/orderbook/sources/binance/constants.d.ts +78 -0
  213. package/dist/orderbook/sources/binance/constants.d.ts.map +1 -0
  214. package/dist/orderbook/sources/binance/constants.js +51 -0
  215. package/dist/orderbook/sources/binance/constants.js.map +1 -0
  216. package/dist/orderbook/sources/binance/create-binance-orderbook-source.d.ts +78 -0
  217. package/dist/orderbook/sources/binance/create-binance-orderbook-source.d.ts.map +1 -0
  218. package/dist/orderbook/sources/binance/create-binance-orderbook-source.js +87 -0
  219. package/dist/orderbook/sources/binance/create-binance-orderbook-source.js.map +1 -0
  220. package/dist/orderbook/sources/binance/fetch-binance-depth.d.ts +45 -0
  221. package/dist/orderbook/sources/binance/fetch-binance-depth.d.ts.map +1 -0
  222. package/dist/orderbook/sources/binance/fetch-binance-depth.js +34 -0
  223. package/dist/orderbook/sources/binance/fetch-binance-depth.js.map +1 -0
  224. package/dist/orderbook/sources/binance/fetch-binance-symbol-filters.d.ts +39 -0
  225. package/dist/orderbook/sources/binance/fetch-binance-symbol-filters.d.ts.map +1 -0
  226. package/dist/orderbook/sources/binance/fetch-binance-symbol-filters.js +39 -0
  227. package/dist/orderbook/sources/binance/fetch-binance-symbol-filters.js.map +1 -0
  228. package/dist/orderbook/sources/binance/index.d.ts +7 -0
  229. package/dist/orderbook/sources/binance/index.d.ts.map +1 -0
  230. package/dist/orderbook/sources/binance/parse-depth.d.ts +70 -0
  231. package/dist/orderbook/sources/binance/parse-depth.d.ts.map +1 -0
  232. package/dist/orderbook/sources/binance/parse-depth.js +23 -0
  233. package/dist/orderbook/sources/binance/parse-depth.js.map +1 -0
  234. package/dist/orderbook/sources/binance/watch-binance-depth.d.ts +78 -0
  235. package/dist/orderbook/sources/binance/watch-binance-depth.d.ts.map +1 -0
  236. package/dist/orderbook/sources/binance/watch-binance-depth.js +125 -0
  237. package/dist/orderbook/sources/binance/watch-binance-depth.js.map +1 -0
  238. package/dist/orderbook/tick-size.d.ts +79 -0
  239. package/dist/orderbook/tick-size.d.ts.map +1 -0
  240. package/dist/orderbook/tick-size.js +46 -0
  241. package/dist/orderbook/tick-size.js.map +1 -0
  242. package/dist/orderbook/types.d.ts +299 -0
  243. package/dist/orderbook/types.d.ts.map +1 -0
  244. package/dist/orderbook/walk.d.ts +31 -0
  245. package/dist/orderbook/walk.d.ts.map +1 -0
  246. package/dist/orderbook/walk.js +39 -0
  247. package/dist/orderbook/walk.js.map +1 -0
  248. package/dist/pools/add-market/add-market.d.ts +74 -0
  249. package/dist/pools/add-market/add-market.d.ts.map +1 -0
  250. package/dist/pools/add-market/add-market.js +25 -0
  251. package/dist/pools/add-market/add-market.js.map +1 -0
  252. package/dist/pools/add-market/index.d.ts +6 -0
  253. package/dist/pools/add-market/index.d.ts.map +1 -0
  254. package/dist/pools/add-market/query.d.ts +27 -0
  255. package/dist/pools/add-market/query.d.ts.map +1 -0
  256. package/dist/pools/add-market/query.js +12 -0
  257. package/dist/pools/add-market/query.js.map +1 -0
  258. package/dist/pools/add-market/to-add-market-request.d.ts +16 -0
  259. package/dist/pools/add-market/to-add-market-request.d.ts.map +1 -0
  260. package/dist/pools/add-market/to-add-market-request.js +14 -0
  261. package/dist/pools/add-market/to-add-market-request.js.map +1 -0
  262. package/dist/pools/add-market/to-created-pool.d.ts +16 -0
  263. package/dist/pools/add-market/to-created-pool.d.ts.map +1 -0
  264. package/dist/pools/add-market/to-created-pool.js +20 -0
  265. package/dist/pools/add-market/to-created-pool.js.map +1 -0
  266. package/dist/pools/add-market/types.d.ts +42 -0
  267. package/dist/pools/add-market/types.d.ts.map +1 -0
  268. package/dist/pools/auth/authenticate-listing.d.ts +47 -0
  269. package/dist/pools/auth/authenticate-listing.d.ts.map +1 -0
  270. package/dist/pools/auth/authenticate-listing.js +37 -0
  271. package/dist/pools/auth/authenticate-listing.js.map +1 -0
  272. package/dist/pools/auth/get-sign-in-message.d.ts +45 -0
  273. package/dist/pools/auth/get-sign-in-message.d.ts.map +1 -0
  274. package/dist/pools/auth/get-sign-in-message.js +26 -0
  275. package/dist/pools/auth/get-sign-in-message.js.map +1 -0
  276. package/dist/pools/auth/index.d.ts +6 -0
  277. package/dist/pools/auth/index.d.ts.map +1 -0
  278. package/dist/pools/auth/query.d.ts +21 -0
  279. package/dist/pools/auth/query.d.ts.map +1 -0
  280. package/dist/pools/auth/query.js +12 -0
  281. package/dist/pools/auth/query.js.map +1 -0
  282. package/dist/pools/auth/to-siwe.d.ts +27 -0
  283. package/dist/pools/auth/to-siwe.d.ts.map +1 -0
  284. package/dist/pools/auth/to-siwe.js +38 -0
  285. package/dist/pools/auth/to-siwe.js.map +1 -0
  286. package/dist/pools/auth/types.d.ts +46 -0
  287. package/dist/pools/auth/types.d.ts.map +1 -0
  288. package/dist/pools/cancel-withdraw/cancel-withdraw.d.ts +56 -0
  289. package/dist/pools/cancel-withdraw/cancel-withdraw.d.ts.map +1 -0
  290. package/dist/pools/cancel-withdraw/cancel-withdraw.js +24 -0
  291. package/dist/pools/cancel-withdraw/cancel-withdraw.js.map +1 -0
  292. package/dist/pools/cancel-withdraw/index.d.ts +4 -0
  293. package/dist/pools/cancel-withdraw/index.d.ts.map +1 -0
  294. package/dist/pools/cancel-withdraw/query.d.ts +21 -0
  295. package/dist/pools/cancel-withdraw/query.d.ts.map +1 -0
  296. package/dist/pools/cancel-withdraw/query.js +12 -0
  297. package/dist/pools/cancel-withdraw/query.js.map +1 -0
  298. package/dist/pools/cancel-withdraw/to-cancel-withdraw-result.d.ts +15 -0
  299. package/dist/pools/cancel-withdraw/to-cancel-withdraw-result.d.ts.map +1 -0
  300. package/dist/pools/cancel-withdraw/to-cancel-withdraw-result.js +11 -0
  301. package/dist/pools/cancel-withdraw/to-cancel-withdraw-result.js.map +1 -0
  302. package/dist/pools/claim/claim-profit.d.ts +78 -0
  303. package/dist/pools/claim/claim-profit.d.ts.map +1 -0
  304. package/dist/pools/claim/claim-profit.js +25 -0
  305. package/dist/pools/claim/claim-profit.js.map +1 -0
  306. package/dist/pools/claim/index.d.ts +5 -0
  307. package/dist/pools/claim/index.d.ts.map +1 -0
  308. package/dist/pools/claim/query.d.ts +27 -0
  309. package/dist/pools/claim/query.d.ts.map +1 -0
  310. package/dist/pools/claim/query.js +12 -0
  311. package/dist/pools/claim/query.js.map +1 -0
  312. package/dist/pools/claim/to-claim-request.d.ts +15 -0
  313. package/dist/pools/claim/to-claim-request.d.ts.map +1 -0
  314. package/dist/pools/claim/to-claim-request.js +13 -0
  315. package/dist/pools/claim/to-claim-request.js.map +1 -0
  316. package/dist/pools/claim/to-claim-result.d.ts +17 -0
  317. package/dist/pools/claim/to-claim-result.d.ts.map +1 -0
  318. package/dist/pools/claim/to-claim-result.js +14 -0
  319. package/dist/pools/claim/to-claim-result.js.map +1 -0
  320. package/dist/pools/claim-history/get-claim-history.d.ts +65 -0
  321. package/dist/pools/claim-history/get-claim-history.d.ts.map +1 -0
  322. package/dist/pools/claim-history/get-claim-history.js +27 -0
  323. package/dist/pools/claim-history/get-claim-history.js.map +1 -0
  324. package/dist/pools/claim-history/index.d.ts +4 -0
  325. package/dist/pools/claim-history/index.d.ts.map +1 -0
  326. package/dist/pools/claim-history/query.d.ts +40 -0
  327. package/dist/pools/claim-history/query.d.ts.map +1 -0
  328. package/dist/pools/claim-history/query.js +28 -0
  329. package/dist/pools/claim-history/query.js.map +1 -0
  330. package/dist/pools/claim-history/to-pool-claim.d.ts +23 -0
  331. package/dist/pools/claim-history/to-pool-claim.d.ts.map +1 -0
  332. package/dist/pools/claim-history/to-pool-claim.js +21 -0
  333. package/dist/pools/claim-history/to-pool-claim.js.map +1 -0
  334. package/dist/pools/deposit-address/get-deposit-address.d.ts +62 -0
  335. package/dist/pools/deposit-address/get-deposit-address.d.ts.map +1 -0
  336. package/dist/pools/deposit-address/get-deposit-address.js +27 -0
  337. package/dist/pools/deposit-address/get-deposit-address.js.map +1 -0
  338. package/dist/pools/deposit-address/index.d.ts +4 -0
  339. package/dist/pools/deposit-address/index.d.ts.map +1 -0
  340. package/dist/pools/deposit-address/query.d.ts +50 -0
  341. package/dist/pools/deposit-address/query.d.ts.map +1 -0
  342. package/dist/pools/deposit-address/query.js +26 -0
  343. package/dist/pools/deposit-address/query.js.map +1 -0
  344. package/dist/pools/deposit-address/to-market-deposit-address.d.ts +17 -0
  345. package/dist/pools/deposit-address/to-market-deposit-address.d.ts.map +1 -0
  346. package/dist/pools/deposit-address/to-market-deposit-address.js +15 -0
  347. package/dist/pools/deposit-address/to-market-deposit-address.js.map +1 -0
  348. package/dist/pools/index.d.ts +26 -0
  349. package/dist/pools/index.d.ts.map +1 -0
  350. package/dist/pools/listing-config/get-listing-config.d.ts +37 -0
  351. package/dist/pools/listing-config/get-listing-config.d.ts.map +1 -0
  352. package/dist/pools/listing-config/get-listing-config.js +21 -0
  353. package/dist/pools/listing-config/get-listing-config.js.map +1 -0
  354. package/dist/pools/listing-config/index.d.ts +4 -0
  355. package/dist/pools/listing-config/index.d.ts.map +1 -0
  356. package/dist/pools/listing-config/query.d.ts +36 -0
  357. package/dist/pools/listing-config/query.d.ts.map +1 -0
  358. package/dist/pools/listing-config/query.js +21 -0
  359. package/dist/pools/listing-config/query.js.map +1 -0
  360. package/dist/pools/listing-config/to-listing-config.d.ts +16 -0
  361. package/dist/pools/listing-config/to-listing-config.d.ts.map +1 -0
  362. package/dist/pools/listing-config/to-listing-config.js +26 -0
  363. package/dist/pools/listing-config/to-listing-config.js.map +1 -0
  364. package/dist/pools/listing-status/get-listing-status.d.ts +54 -0
  365. package/dist/pools/listing-status/get-listing-status.d.ts.map +1 -0
  366. package/dist/pools/listing-status/get-listing-status.js +24 -0
  367. package/dist/pools/listing-status/get-listing-status.js.map +1 -0
  368. package/dist/pools/listing-status/index.d.ts +4 -0
  369. package/dist/pools/listing-status/index.d.ts.map +1 -0
  370. package/dist/pools/listing-status/query.d.ts +43 -0
  371. package/dist/pools/listing-status/query.d.ts.map +1 -0
  372. package/dist/pools/listing-status/query.js +25 -0
  373. package/dist/pools/listing-status/query.js.map +1 -0
  374. package/dist/pools/listing-status/to-listing-status.d.ts +17 -0
  375. package/dist/pools/listing-status/to-listing-status.d.ts.map +1 -0
  376. package/dist/pools/listing-status/to-listing-status.js +16 -0
  377. package/dist/pools/listing-status/to-listing-status.js.map +1 -0
  378. package/dist/pools/market-config/get-listing-market-config.d.ts +72 -0
  379. package/dist/pools/market-config/get-listing-market-config.d.ts.map +1 -0
  380. package/dist/pools/market-config/get-listing-market-config.js +27 -0
  381. package/dist/pools/market-config/get-listing-market-config.js.map +1 -0
  382. package/dist/pools/market-config/index.d.ts +8 -0
  383. package/dist/pools/market-config/index.d.ts.map +1 -0
  384. package/dist/pools/market-config/project-listing-market-config.d.ts +45 -0
  385. package/dist/pools/market-config/project-listing-market-config.d.ts.map +1 -0
  386. package/dist/pools/market-config/project-listing-market-config.js +20 -0
  387. package/dist/pools/market-config/project-listing-market-config.js.map +1 -0
  388. package/dist/pools/market-config/query.d.ts +73 -0
  389. package/dist/pools/market-config/query.d.ts.map +1 -0
  390. package/dist/pools/market-config/query.js +33 -0
  391. package/dist/pools/market-config/query.js.map +1 -0
  392. package/dist/pools/market-config/to-listing-market-config.d.ts +18 -0
  393. package/dist/pools/market-config/to-listing-market-config.d.ts.map +1 -0
  394. package/dist/pools/market-config/to-listing-market-config.js +15 -0
  395. package/dist/pools/market-config/to-listing-market-config.js.map +1 -0
  396. package/dist/pools/market-config/to-update-listing-market-config-request.d.ts +20 -0
  397. package/dist/pools/market-config/to-update-listing-market-config-request.d.ts.map +1 -0
  398. package/dist/pools/market-config/to-update-listing-market-config-request.js +13 -0
  399. package/dist/pools/market-config/to-update-listing-market-config-request.js.map +1 -0
  400. package/dist/pools/market-config/types.d.ts +135 -0
  401. package/dist/pools/market-config/types.d.ts.map +1 -0
  402. package/dist/pools/market-config/types.js +15 -0
  403. package/dist/pools/market-config/types.js.map +1 -0
  404. package/dist/pools/market-config/update-listing-market-config.d.ts +103 -0
  405. package/dist/pools/market-config/update-listing-market-config.d.ts.map +1 -0
  406. package/dist/pools/market-config/update-listing-market-config.js +32 -0
  407. package/dist/pools/market-config/update-listing-market-config.js.map +1 -0
  408. package/dist/pools/market-detail/get-listing-market-detail.d.ts +51 -0
  409. package/dist/pools/market-detail/get-listing-market-detail.d.ts.map +1 -0
  410. package/dist/pools/market-detail/get-listing-market-detail.js +24 -0
  411. package/dist/pools/market-detail/get-listing-market-detail.js.map +1 -0
  412. package/dist/pools/market-detail/index.d.ts +5 -0
  413. package/dist/pools/market-detail/index.d.ts.map +1 -0
  414. package/dist/pools/market-detail/query.d.ts +31 -0
  415. package/dist/pools/market-detail/query.d.ts.map +1 -0
  416. package/dist/pools/market-detail/query.js +25 -0
  417. package/dist/pools/market-detail/query.js.map +1 -0
  418. package/dist/pools/market-detail/to-listing-market-detail.d.ts +11 -0
  419. package/dist/pools/market-detail/to-listing-market-detail.d.ts.map +1 -0
  420. package/dist/pools/market-detail/to-listing-market-detail.js +57 -0
  421. package/dist/pools/market-detail/to-listing-market-detail.js.map +1 -0
  422. package/dist/pools/market-detail/to-pool-positions.d.ts +23 -0
  423. package/dist/pools/market-detail/to-pool-positions.d.ts.map +1 -0
  424. package/dist/pools/market-detail/to-pool-positions.js +8 -0
  425. package/dist/pools/market-detail/to-pool-positions.js.map +1 -0
  426. package/dist/pools/markets/get-listing-markets.d.ts +65 -0
  427. package/dist/pools/markets/get-listing-markets.d.ts.map +1 -0
  428. package/dist/pools/markets/get-listing-markets.js +34 -0
  429. package/dist/pools/markets/get-listing-markets.js.map +1 -0
  430. package/dist/pools/markets/index.d.ts +5 -0
  431. package/dist/pools/markets/index.d.ts.map +1 -0
  432. package/dist/pools/markets/query.d.ts +36 -0
  433. package/dist/pools/markets/query.d.ts.map +1 -0
  434. package/dist/pools/markets/query.js +31 -0
  435. package/dist/pools/markets/query.js.map +1 -0
  436. package/dist/pools/markets/to-listing-market.d.ts +65 -0
  437. package/dist/pools/markets/to-listing-market.d.ts.map +1 -0
  438. package/dist/pools/markets/to-listing-market.js +76 -0
  439. package/dist/pools/markets/to-listing-market.js.map +1 -0
  440. package/dist/pools/markets/to-search-params.d.ts +36 -0
  441. package/dist/pools/markets/to-search-params.d.ts.map +1 -0
  442. package/dist/pools/markets/to-search-params.js +42 -0
  443. package/dist/pools/markets/to-search-params.js.map +1 -0
  444. package/dist/pools/profit/get-user-profit.d.ts +54 -0
  445. package/dist/pools/profit/get-user-profit.d.ts.map +1 -0
  446. package/dist/pools/profit/get-user-profit.js +24 -0
  447. package/dist/pools/profit/get-user-profit.js.map +1 -0
  448. package/dist/pools/profit/index.d.ts +4 -0
  449. package/dist/pools/profit/index.d.ts.map +1 -0
  450. package/dist/pools/profit/query.d.ts +41 -0
  451. package/dist/pools/profit/query.d.ts.map +1 -0
  452. package/dist/pools/profit/query.js +25 -0
  453. package/dist/pools/profit/query.js.map +1 -0
  454. package/dist/pools/profit/to-user-pool-profit.d.ts +27 -0
  455. package/dist/pools/profit/to-user-pool-profit.d.ts.map +1 -0
  456. package/dist/pools/profit/to-user-pool-profit.js +19 -0
  457. package/dist/pools/profit/to-user-pool-profit.js.map +1 -0
  458. package/dist/pools/quotes/get-pool-quotes.d.ts +72 -0
  459. package/dist/pools/quotes/get-pool-quotes.d.ts.map +1 -0
  460. package/dist/pools/quotes/get-pool-quotes.js +25 -0
  461. package/dist/pools/quotes/get-pool-quotes.js.map +1 -0
  462. package/dist/pools/quotes/index.d.ts +4 -0
  463. package/dist/pools/quotes/index.d.ts.map +1 -0
  464. package/dist/pools/quotes/query-document.d.ts +20 -0
  465. package/dist/pools/quotes/query-document.d.ts.map +1 -0
  466. package/dist/pools/quotes/query-document.js +7 -0
  467. package/dist/pools/quotes/query-document.js.map +1 -0
  468. package/dist/pools/quotes/query.d.ts +34 -0
  469. package/dist/pools/quotes/query.d.ts.map +1 -0
  470. package/dist/pools/quotes/query.js +28 -0
  471. package/dist/pools/quotes/query.js.map +1 -0
  472. package/dist/pools/quotes/to-pool-quote.d.ts +16 -0
  473. package/dist/pools/quotes/to-pool-quote.d.ts.map +1 -0
  474. package/dist/pools/quotes/to-pool-quote.js +42 -0
  475. package/dist/pools/quotes/to-pool-quote.js.map +1 -0
  476. package/dist/pools/refund/index.d.ts +5 -0
  477. package/dist/pools/refund/index.d.ts.map +1 -0
  478. package/dist/pools/refund/query.d.ts +25 -0
  479. package/dist/pools/refund/query.d.ts.map +1 -0
  480. package/dist/pools/refund/query.js +12 -0
  481. package/dist/pools/refund/query.js.map +1 -0
  482. package/dist/pools/refund/refund-market.d.ts +67 -0
  483. package/dist/pools/refund/refund-market.d.ts.map +1 -0
  484. package/dist/pools/refund/refund-market.js +25 -0
  485. package/dist/pools/refund/refund-market.js.map +1 -0
  486. package/dist/pools/refund/to-refund-request.d.ts +13 -0
  487. package/dist/pools/refund/to-refund-request.d.ts.map +1 -0
  488. package/dist/pools/refund/to-refund-request.js +12 -0
  489. package/dist/pools/refund/to-refund-request.js.map +1 -0
  490. package/dist/pools/refund/to-refund-result.d.ts +10 -0
  491. package/dist/pools/refund/to-refund-result.d.ts.map +1 -0
  492. package/dist/pools/refund/to-refund-result.js +8 -0
  493. package/dist/pools/refund/to-refund-result.js.map +1 -0
  494. package/dist/pools/resolve-listing.d.ts +46 -0
  495. package/dist/pools/resolve-listing.d.ts.map +1 -0
  496. package/dist/pools/resolve-listing.js +18 -0
  497. package/dist/pools/resolve-listing.js.map +1 -0
  498. package/dist/pools/resolve-pool-source.d.ts +18 -0
  499. package/dist/pools/resolve-pool-source.d.ts.map +1 -0
  500. package/dist/pools/resolve-pool-source.js +8 -0
  501. package/dist/pools/resolve-pool-source.js.map +1 -0
  502. package/dist/pools/retry-listing/get-retry-listing-info.d.ts +51 -0
  503. package/dist/pools/retry-listing/get-retry-listing-info.d.ts.map +1 -0
  504. package/dist/pools/retry-listing/get-retry-listing-info.js +27 -0
  505. package/dist/pools/retry-listing/get-retry-listing-info.js.map +1 -0
  506. package/dist/pools/retry-listing/index.d.ts +6 -0
  507. package/dist/pools/retry-listing/index.d.ts.map +1 -0
  508. package/dist/pools/retry-listing/query.d.ts +44 -0
  509. package/dist/pools/retry-listing/query.d.ts.map +1 -0
  510. package/dist/pools/retry-listing/query.js +33 -0
  511. package/dist/pools/retry-listing/query.js.map +1 -0
  512. package/dist/pools/retry-listing/retry-listing.d.ts +52 -0
  513. package/dist/pools/retry-listing/retry-listing.d.ts.map +1 -0
  514. package/dist/pools/retry-listing/retry-listing.js +27 -0
  515. package/dist/pools/retry-listing/retry-listing.js.map +1 -0
  516. package/dist/pools/retry-listing/to-retry-listing-info.d.ts +14 -0
  517. package/dist/pools/retry-listing/to-retry-listing-info.d.ts.map +1 -0
  518. package/dist/pools/retry-listing/to-retry-listing-info.js +12 -0
  519. package/dist/pools/retry-listing/to-retry-listing-info.js.map +1 -0
  520. package/dist/pools/retry-listing/to-retry-listing-result.d.ts +11 -0
  521. package/dist/pools/retry-listing/to-retry-listing-result.d.ts.map +1 -0
  522. package/dist/pools/retry-listing/to-retry-listing-result.js +12 -0
  523. package/dist/pools/retry-listing/to-retry-listing-result.js.map +1 -0
  524. package/dist/pools/rewards/get-pool-reward-chart.d.ts +49 -0
  525. package/dist/pools/rewards/get-pool-reward-chart.d.ts.map +1 -0
  526. package/dist/pools/rewards/get-pool-reward-chart.js +24 -0
  527. package/dist/pools/rewards/get-pool-reward-chart.js.map +1 -0
  528. package/dist/pools/rewards/get-pool-total-reward.d.ts +48 -0
  529. package/dist/pools/rewards/get-pool-total-reward.d.ts.map +1 -0
  530. package/dist/pools/rewards/get-pool-total-reward.js +25 -0
  531. package/dist/pools/rewards/get-pool-total-reward.js.map +1 -0
  532. package/dist/pools/rewards/get-user-reward-chart.d.ts +48 -0
  533. package/dist/pools/rewards/get-user-reward-chart.d.ts.map +1 -0
  534. package/dist/pools/rewards/get-user-reward-chart.js +24 -0
  535. package/dist/pools/rewards/get-user-reward-chart.js.map +1 -0
  536. package/dist/pools/rewards/get-user-total-reward.d.ts +54 -0
  537. package/dist/pools/rewards/get-user-total-reward.d.ts.map +1 -0
  538. package/dist/pools/rewards/get-user-total-reward.js +27 -0
  539. package/dist/pools/rewards/get-user-total-reward.js.map +1 -0
  540. package/dist/pools/rewards/index.d.ts +7 -0
  541. package/dist/pools/rewards/index.d.ts.map +1 -0
  542. package/dist/pools/rewards/query.d.ts +150 -0
  543. package/dist/pools/rewards/query.d.ts.map +1 -0
  544. package/dist/pools/rewards/query.js +83 -0
  545. package/dist/pools/rewards/query.js.map +1 -0
  546. package/dist/pools/rewards/to-pool-reward-point.d.ts +28 -0
  547. package/dist/pools/rewards/to-pool-reward-point.d.ts.map +1 -0
  548. package/dist/pools/rewards/to-pool-reward-point.js +19 -0
  549. package/dist/pools/rewards/to-pool-reward-point.js.map +1 -0
  550. package/dist/pools/trade-history/get-pool-trade-history.d.ts +52 -0
  551. package/dist/pools/trade-history/get-pool-trade-history.d.ts.map +1 -0
  552. package/dist/pools/trade-history/get-pool-trade-history.js +27 -0
  553. package/dist/pools/trade-history/get-pool-trade-history.js.map +1 -0
  554. package/dist/pools/trade-history/index.d.ts +3 -0
  555. package/dist/pools/trade-history/index.d.ts.map +1 -0
  556. package/dist/pools/trade-history/query-document.d.ts +20 -0
  557. package/dist/pools/trade-history/query-document.d.ts.map +1 -0
  558. package/dist/pools/trade-history/query-document.js +7 -0
  559. package/dist/pools/trade-history/query-document.js.map +1 -0
  560. package/dist/pools/trade-history/query.d.ts +34 -0
  561. package/dist/pools/trade-history/query.d.ts.map +1 -0
  562. package/dist/pools/trade-history/query.js +28 -0
  563. package/dist/pools/trade-history/query.js.map +1 -0
  564. package/dist/pools/transactions/get-pool-transactions.d.ts +47 -0
  565. package/dist/pools/transactions/get-pool-transactions.d.ts.map +1 -0
  566. package/dist/pools/transactions/get-pool-transactions.js +24 -0
  567. package/dist/pools/transactions/get-pool-transactions.js.map +1 -0
  568. package/dist/pools/transactions/index.d.ts +4 -0
  569. package/dist/pools/transactions/index.d.ts.map +1 -0
  570. package/dist/pools/transactions/query.d.ts +31 -0
  571. package/dist/pools/transactions/query.d.ts.map +1 -0
  572. package/dist/pools/transactions/query.js +27 -0
  573. package/dist/pools/transactions/query.js.map +1 -0
  574. package/dist/pools/transactions/to-pool-transaction.d.ts +18 -0
  575. package/dist/pools/transactions/to-pool-transaction.d.ts.map +1 -0
  576. package/dist/pools/transactions/to-pool-transaction.js +29 -0
  577. package/dist/pools/transactions/to-pool-transaction.js.map +1 -0
  578. package/dist/pools/types/generated/listing-backend.d.ts +1319 -0
  579. package/dist/pools/types/generated/listing-backend.d.ts.map +1 -0
  580. package/dist/pools/types/generated/listing-backend.js +85 -0
  581. package/dist/pools/types/generated/listing-backend.js.map +1 -0
  582. package/dist/pools/types.d.ts +789 -0
  583. package/dist/pools/types.d.ts.map +1 -0
  584. package/dist/pools/types.js +16 -0
  585. package/dist/pools/types.js.map +1 -0
  586. package/dist/pools/user-markets/get-user-listing-markets.d.ts +74 -0
  587. package/dist/pools/user-markets/get-user-listing-markets.d.ts.map +1 -0
  588. package/dist/pools/user-markets/get-user-listing-markets.js +35 -0
  589. package/dist/pools/user-markets/get-user-listing-markets.js.map +1 -0
  590. package/dist/pools/user-markets/index.d.ts +4 -0
  591. package/dist/pools/user-markets/index.d.ts.map +1 -0
  592. package/dist/pools/user-markets/query.d.ts +41 -0
  593. package/dist/pools/user-markets/query.d.ts.map +1 -0
  594. package/dist/pools/user-markets/query.js +32 -0
  595. package/dist/pools/user-markets/query.js.map +1 -0
  596. package/dist/pools/user-markets/to-user-listing-market.d.ts +32 -0
  597. package/dist/pools/user-markets/to-user-listing-market.d.ts.map +1 -0
  598. package/dist/pools/user-markets/to-user-listing-market.js +22 -0
  599. package/dist/pools/user-markets/to-user-listing-market.js.map +1 -0
  600. package/dist/pools/user-transactions/get-user-transactions.d.ts +59 -0
  601. package/dist/pools/user-transactions/get-user-transactions.d.ts.map +1 -0
  602. package/dist/pools/user-transactions/get-user-transactions.js +28 -0
  603. package/dist/pools/user-transactions/get-user-transactions.js.map +1 -0
  604. package/dist/pools/user-transactions/index.d.ts +4 -0
  605. package/dist/pools/user-transactions/index.d.ts.map +1 -0
  606. package/dist/pools/user-transactions/query.d.ts +40 -0
  607. package/dist/pools/user-transactions/query.d.ts.map +1 -0
  608. package/dist/pools/user-transactions/query.js +29 -0
  609. package/dist/pools/user-transactions/query.js.map +1 -0
  610. package/dist/pools/user-transactions/to-user-transaction.d.ts +25 -0
  611. package/dist/pools/user-transactions/to-user-transaction.d.ts.map +1 -0
  612. package/dist/pools/user-transactions/to-user-transaction.js +29 -0
  613. package/dist/pools/user-transactions/to-user-transaction.js.map +1 -0
  614. package/dist/pools/weekly-limit/get-weekly-listing-limit.d.ts +36 -0
  615. package/dist/pools/weekly-limit/get-weekly-listing-limit.d.ts.map +1 -0
  616. package/dist/pools/weekly-limit/get-weekly-listing-limit.js +21 -0
  617. package/dist/pools/weekly-limit/get-weekly-listing-limit.js.map +1 -0
  618. package/dist/pools/weekly-limit/index.d.ts +4 -0
  619. package/dist/pools/weekly-limit/index.d.ts.map +1 -0
  620. package/dist/pools/weekly-limit/query.d.ts +36 -0
  621. package/dist/pools/weekly-limit/query.d.ts.map +1 -0
  622. package/dist/pools/weekly-limit/query.js +21 -0
  623. package/dist/pools/weekly-limit/query.js.map +1 -0
  624. package/dist/pools/weekly-limit/to-weekly-limit.d.ts +14 -0
  625. package/dist/pools/weekly-limit/to-weekly-limit.d.ts.map +1 -0
  626. package/dist/pools/weekly-limit/to-weekly-limit.js +12 -0
  627. package/dist/pools/weekly-limit/to-weekly-limit.js.map +1 -0
  628. package/dist/pools/withdraw/index.d.ts +4 -0
  629. package/dist/pools/withdraw/index.d.ts.map +1 -0
  630. package/dist/pools/withdraw/query.d.ts +26 -0
  631. package/dist/pools/withdraw/query.d.ts.map +1 -0
  632. package/dist/pools/withdraw/query.js +12 -0
  633. package/dist/pools/withdraw/query.js.map +1 -0
  634. package/dist/pools/withdraw/to-withdraw-request.d.ts +16 -0
  635. package/dist/pools/withdraw/to-withdraw-request.d.ts.map +1 -0
  636. package/dist/pools/withdraw/to-withdraw-request.js +13 -0
  637. package/dist/pools/withdraw/to-withdraw-request.js.map +1 -0
  638. package/dist/pools/withdraw/withdraw-lp.d.ts +73 -0
  639. package/dist/pools/withdraw/withdraw-lp.d.ts.map +1 -0
  640. package/dist/pools/withdraw/withdraw-lp.js +24 -0
  641. package/dist/pools/withdraw/withdraw-lp.js.map +1 -0
  642. package/dist/price-service/adapters/binance-mark-prices.d.ts +41 -0
  643. package/dist/price-service/adapters/binance-mark-prices.d.ts.map +1 -0
  644. package/dist/price-service/adapters/binance-mark-prices.js +38 -0
  645. package/dist/price-service/adapters/binance-mark-prices.js.map +1 -0
  646. package/dist/price-service/adapters/enigma-mark-prices.d.ts +44 -0
  647. package/dist/price-service/adapters/enigma-mark-prices.d.ts.map +1 -0
  648. package/dist/price-service/adapters/enigma-mark-prices.js +25 -0
  649. package/dist/price-service/adapters/enigma-mark-prices.js.map +1 -0
  650. package/dist/price-service/adapters/index.d.ts +8 -0
  651. package/dist/price-service/adapters/index.d.ts.map +1 -0
  652. package/dist/price-service/assert-price-service-provider.d.ts +19 -0
  653. package/dist/price-service/assert-price-service-provider.d.ts.map +1 -0
  654. package/dist/price-service/assert-price-service-provider.js +9 -0
  655. package/dist/price-service/assert-price-service-provider.js.map +1 -0
  656. package/dist/price-service/binance/client.d.ts +37 -0
  657. package/dist/price-service/binance/client.d.ts.map +1 -0
  658. package/dist/price-service/binance/client.js +30 -0
  659. package/dist/price-service/binance/client.js.map +1 -0
  660. package/dist/price-service/binance/health/get-binance-health.d.ts +25 -0
  661. package/dist/price-service/binance/health/get-binance-health.d.ts.map +1 -0
  662. package/dist/price-service/binance/health/get-binance-health.js +24 -0
  663. package/dist/price-service/binance/health/get-binance-health.js.map +1 -0
  664. package/dist/price-service/binance/health/index.d.ts +3 -0
  665. package/dist/price-service/binance/health/index.d.ts.map +1 -0
  666. package/dist/price-service/binance/health/query.d.ts +17 -0
  667. package/dist/price-service/binance/health/query.d.ts.map +1 -0
  668. package/dist/price-service/binance/health/query.js +24 -0
  669. package/dist/price-service/binance/health/query.js.map +1 -0
  670. package/dist/price-service/binance/index.d.ts +5 -0
  671. package/dist/price-service/binance/index.d.ts.map +1 -0
  672. package/dist/price-service/binance/premium-index/get-binance-premium-index.d.ts +39 -0
  673. package/dist/price-service/binance/premium-index/get-binance-premium-index.d.ts.map +1 -0
  674. package/dist/price-service/binance/premium-index/get-binance-premium-index.js +25 -0
  675. package/dist/price-service/binance/premium-index/get-binance-premium-index.js.map +1 -0
  676. package/dist/price-service/binance/premium-index/index.d.ts +3 -0
  677. package/dist/price-service/binance/premium-index/index.d.ts.map +1 -0
  678. package/dist/price-service/binance/premium-index/query.d.ts +28 -0
  679. package/dist/price-service/binance/premium-index/query.d.ts.map +1 -0
  680. package/dist/price-service/binance/premium-index/query.js +25 -0
  681. package/dist/price-service/binance/premium-index/query.js.map +1 -0
  682. package/dist/price-service/binance/symbols-info/get-binance-symbols-info.d.ts +29 -0
  683. package/dist/price-service/binance/symbols-info/get-binance-symbols-info.d.ts.map +1 -0
  684. package/dist/price-service/binance/symbols-info/get-binance-symbols-info.js +25 -0
  685. package/dist/price-service/binance/symbols-info/get-binance-symbols-info.js.map +1 -0
  686. package/dist/price-service/binance/symbols-info/index.d.ts +3 -0
  687. package/dist/price-service/binance/symbols-info/index.d.ts.map +1 -0
  688. package/dist/price-service/binance/symbols-info/query.d.ts +17 -0
  689. package/dist/price-service/binance/symbols-info/query.d.ts.map +1 -0
  690. package/dist/price-service/binance/symbols-info/query.js +26 -0
  691. package/dist/price-service/binance/symbols-info/query.js.map +1 -0
  692. package/dist/price-service/binance/types.d.ts +104 -0
  693. package/dist/price-service/binance/types.d.ts.map +1 -0
  694. package/dist/price-service/enigma/types/generated/enigma-price-service.js +4 -4
  695. package/dist/price-service/enigma/types/generated/enigma-price-service.js.map +1 -1
  696. package/dist/price-service/get-mark-prices/get-mark-prices.d.ts +45 -0
  697. package/dist/price-service/get-mark-prices/get-mark-prices.d.ts.map +1 -0
  698. package/dist/price-service/get-mark-prices/get-mark-prices.js +37 -0
  699. package/dist/price-service/get-mark-prices/get-mark-prices.js.map +1 -0
  700. package/dist/price-service/get-mark-prices/index.d.ts +3 -0
  701. package/dist/price-service/get-mark-prices/index.d.ts.map +1 -0
  702. package/dist/price-service/get-mark-prices/query.d.ts +36 -0
  703. package/dist/price-service/get-mark-prices/query.d.ts.map +1 -0
  704. package/dist/price-service/get-mark-prices/query.js +25 -0
  705. package/dist/price-service/get-mark-prices/query.js.map +1 -0
  706. package/dist/price-service/index.d.ts +11 -0
  707. package/dist/price-service/index.d.ts.map +1 -1
  708. package/dist/price-service/resolve-price-service.d.ts +33 -0
  709. package/dist/price-service/resolve-price-service.d.ts.map +1 -0
  710. package/dist/price-service/resolve-price-service.js +18 -0
  711. package/dist/price-service/resolve-price-service.js.map +1 -0
  712. package/dist/price-service/types.d.ts +87 -0
  713. package/dist/price-service/types.d.ts.map +1 -0
  714. package/dist/quotes/apply-notification.d.ts +57 -0
  715. package/dist/quotes/apply-notification.d.ts.map +1 -1
  716. package/dist/quotes/apply-notification.js +39 -22
  717. package/dist/quotes/apply-notification.js.map +1 -1
  718. package/dist/quotes/close-planning/index.d.ts +5 -0
  719. package/dist/quotes/close-planning/index.d.ts.map +1 -0
  720. package/dist/quotes/close-planning/min-remaining-quantity.d.ts +26 -0
  721. package/dist/quotes/close-planning/min-remaining-quantity.d.ts.map +1 -0
  722. package/dist/quotes/close-planning/min-remaining-quantity.js +12 -0
  723. package/dist/quotes/close-planning/min-remaining-quantity.js.map +1 -0
  724. package/dist/quotes/close-planning/plan-group-close/index.d.ts +2 -0
  725. package/dist/quotes/close-planning/plan-group-close/index.d.ts.map +1 -0
  726. package/dist/quotes/close-planning/plan-group-close/plan-group-close.d.ts +32 -0
  727. package/dist/quotes/close-planning/plan-group-close/plan-group-close.d.ts.map +1 -0
  728. package/dist/quotes/close-planning/plan-group-close/plan-group-close.js +60 -0
  729. package/dist/quotes/close-planning/plan-group-close/plan-group-close.js.map +1 -0
  730. package/dist/quotes/close-planning/to-close-candidates.d.ts +17 -0
  731. package/dist/quotes/close-planning/to-close-candidates.d.ts.map +1 -0
  732. package/dist/quotes/close-planning/to-close-candidates.js +16 -0
  733. package/dist/quotes/close-planning/to-close-candidates.js.map +1 -0
  734. package/dist/quotes/close-planning/types.d.ts +52 -0
  735. package/dist/quotes/close-planning/types.d.ts.map +1 -0
  736. package/dist/quotes/get-quote-events-by-type/types.d.ts +10 -0
  737. package/dist/quotes/get-quote-events-by-type/types.d.ts.map +1 -1
  738. package/dist/quotes/get-quote-events-by-type/types.js +2 -2
  739. package/dist/quotes/get-quote-events-by-type/types.js.map +1 -1
  740. package/dist/quotes/get-quote-funding/get-quote-funding.d.ts +26 -4
  741. package/dist/quotes/get-quote-funding/get-quote-funding.d.ts.map +1 -1
  742. package/dist/quotes/get-quote-funding/get-quote-funding.js +19 -10
  743. package/dist/quotes/get-quote-funding/get-quote-funding.js.map +1 -1
  744. package/dist/quotes/get-quote-funding/query-document.d.ts +1 -0
  745. package/dist/quotes/get-quote-funding/query-document.d.ts.map +1 -1
  746. package/dist/quotes/get-quote-funding/query-document.js +1 -1
  747. package/dist/quotes/get-quote-funding/query-document.js.map +1 -1
  748. package/dist/quotes/get-quote-funding/query.d.ts +2 -2
  749. package/dist/quotes/get-quote-funding/query.d.ts.map +1 -1
  750. package/dist/quotes/get-quote-funding/query.js +12 -11
  751. package/dist/quotes/get-quote-funding/query.js.map +1 -1
  752. package/dist/quotes/get-quote-funding/to-funding-row.d.ts +3 -2
  753. package/dist/quotes/get-quote-funding/to-funding-row.d.ts.map +1 -1
  754. package/dist/quotes/get-quote-funding/to-funding-row.js +1 -1
  755. package/dist/quotes/get-quote-funding/to-funding-row.js.map +1 -1
  756. package/dist/quotes/get-quote-funding/types.d.ts +9 -5
  757. package/dist/quotes/get-quote-funding/types.d.ts.map +1 -1
  758. package/dist/quotes/get-quote-history/get-quote-history.d.ts +11 -3
  759. package/dist/quotes/get-quote-history/get-quote-history.d.ts.map +1 -1
  760. package/dist/quotes/get-quote-history/get-quote-history.js +23 -18
  761. package/dist/quotes/get-quote-history/get-quote-history.js.map +1 -1
  762. package/dist/quotes/get-quote-history/query.d.ts.map +1 -1
  763. package/dist/quotes/get-quote-history/query.js +1 -0
  764. package/dist/quotes/get-quote-history/query.js.map +1 -1
  765. package/dist/quotes/get-quote-history/to-history-row.js.map +1 -1
  766. package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.d.ts +76 -0
  767. package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.d.ts.map +1 -0
  768. package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.js +31 -0
  769. package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.js.map +1 -0
  770. package/dist/quotes/get-quotes-events-by-type/index.d.ts +3 -0
  771. package/dist/quotes/get-quotes-events-by-type/index.d.ts.map +1 -0
  772. package/dist/quotes/get-quotes-events-by-type/query-document.d.ts +20 -0
  773. package/dist/quotes/get-quotes-events-by-type/query-document.d.ts.map +1 -0
  774. package/dist/quotes/get-quotes-events-by-type/query-document.js +7 -0
  775. package/dist/quotes/get-quotes-events-by-type/query-document.js.map +1 -0
  776. package/dist/quotes/get-quotes-events-by-type/query.d.ts +46 -0
  777. package/dist/quotes/get-quotes-events-by-type/query.d.ts.map +1 -0
  778. package/dist/quotes/get-quotes-events-by-type/query.js +33 -0
  779. package/dist/quotes/get-quotes-events-by-type/query.js.map +1 -0
  780. package/dist/quotes/get-sub-account-quotes/get-sub-account-quotes.d.ts +2 -2
  781. package/dist/quotes/get-sub-account-quotes/get-sub-account-quotes.d.ts.map +1 -1
  782. package/dist/quotes/get-sub-account-quotes/get-sub-account-quotes.js +22 -20
  783. package/dist/quotes/get-sub-account-quotes/get-sub-account-quotes.js.map +1 -1
  784. package/dist/quotes/get-sub-account-quotes/query.d.ts.map +1 -1
  785. package/dist/quotes/get-sub-account-quotes/query.js +1 -0
  786. package/dist/quotes/get-sub-account-quotes/query.js.map +1 -1
  787. package/dist/quotes/grouping/aggregate-group-funding.d.ts +109 -0
  788. package/dist/quotes/grouping/aggregate-group-funding.d.ts.map +1 -0
  789. package/dist/quotes/grouping/aggregate-group-funding.js +29 -0
  790. package/dist/quotes/grouping/aggregate-group-funding.js.map +1 -0
  791. package/dist/quotes/grouping/aggregate-group-upnl.d.ts +143 -0
  792. package/dist/quotes/grouping/aggregate-group-upnl.d.ts.map +1 -0
  793. package/dist/quotes/grouping/aggregate-group-upnl.js +38 -0
  794. package/dist/quotes/grouping/aggregate-group-upnl.js.map +1 -0
  795. package/dist/quotes/grouping/aggregate-metrics.d.ts +8 -5
  796. package/dist/quotes/grouping/aggregate-metrics.d.ts.map +1 -1
  797. package/dist/quotes/grouping/aggregate-metrics.js +26 -24
  798. package/dist/quotes/grouping/aggregate-metrics.js.map +1 -1
  799. package/dist/quotes/grouping/group-quotes.d.ts +10 -1
  800. package/dist/quotes/grouping/group-quotes.d.ts.map +1 -1
  801. package/dist/quotes/grouping/group-quotes.js.map +1 -1
  802. package/dist/quotes/grouping/group-strategy.d.ts +86 -7
  803. package/dist/quotes/grouping/group-strategy.d.ts.map +1 -1
  804. package/dist/quotes/grouping/group-strategy.js +21 -16
  805. package/dist/quotes/grouping/group-strategy.js.map +1 -1
  806. package/dist/quotes/grouping/index.d.ts +2 -0
  807. package/dist/quotes/grouping/index.d.ts.map +1 -1
  808. package/dist/quotes/grouping/partition-quotes.d.ts +3 -3
  809. package/dist/quotes/grouping/partition-quotes.d.ts.map +1 -1
  810. package/dist/quotes/grouping/partition-quotes.js +1 -2
  811. package/dist/quotes/grouping/partition-quotes.js.map +1 -1
  812. package/dist/quotes/grouping/quote-group.d.ts +35 -21
  813. package/dist/quotes/grouping/quote-group.d.ts.map +1 -1
  814. package/dist/quotes/index.d.ts +4 -0
  815. package/dist/quotes/index.d.ts.map +1 -1
  816. package/dist/quotes/liquidation/calculate-liquidation-price.js +10 -10
  817. package/dist/quotes/liquidation/calculate-liquidation-price.js.map +1 -1
  818. package/dist/quotes/open-price.d.ts +51 -0
  819. package/dist/quotes/open-price.d.ts.map +1 -0
  820. package/dist/quotes/open-price.js +17 -0
  821. package/dist/quotes/open-price.js.map +1 -0
  822. package/dist/quotes/open-quantity.d.ts +6 -0
  823. package/dist/quotes/open-quantity.d.ts.map +1 -1
  824. package/dist/quotes/open-quantity.js.map +1 -1
  825. package/dist/quotes/quote-id-key-part.d.ts +19 -0
  826. package/dist/quotes/quote-id-key-part.d.ts.map +1 -0
  827. package/dist/quotes/quote-id-key-part.js +8 -0
  828. package/dist/quotes/quote-id-key-part.js.map +1 -0
  829. package/dist/quotes/reconcile-quotes.d.ts +12 -1
  830. package/dist/quotes/reconcile-quotes.d.ts.map +1 -1
  831. package/dist/quotes/reconcile-quotes.js +50 -42
  832. package/dist/quotes/reconcile-quotes.js.map +1 -1
  833. package/dist/quotes/resolve-quote-accounts.d.ts +1 -1
  834. package/dist/quotes/resolve-quote-accounts.d.ts.map +1 -1
  835. package/dist/quotes/resolve-quote-accounts.js.map +1 -1
  836. package/dist/quotes/should-accelerate.d.ts +10 -7
  837. package/dist/quotes/should-accelerate.d.ts.map +1 -1
  838. package/dist/quotes/should-accelerate.js +2 -7
  839. package/dist/quotes/should-accelerate.js.map +1 -1
  840. package/dist/quotes/to-unified-quote.d.ts +6 -4
  841. package/dist/quotes/to-unified-quote.d.ts.map +1 -1
  842. package/dist/quotes/to-unified-quote.js +1 -3
  843. package/dist/quotes/to-unified-quote.js.map +1 -1
  844. package/dist/quotes/unified-quote.d.ts +26 -11
  845. package/dist/quotes/unified-quote.d.ts.map +1 -1
  846. package/dist/quotes/unified-quote.js +1 -1
  847. package/dist/quotes/unified-quote.js.map +1 -1
  848. package/dist/quotes/upnl/calculate-quote-leverage.d.ts +5 -1
  849. package/dist/quotes/upnl/calculate-quote-leverage.d.ts.map +1 -1
  850. package/dist/quotes/upnl/calculate-quote-leverage.js +9 -8
  851. package/dist/quotes/upnl/calculate-quote-leverage.js.map +1 -1
  852. package/dist/quotes/upnl/calculate-quote-upnl-wei.d.ts +39 -0
  853. package/dist/quotes/upnl/calculate-quote-upnl-wei.d.ts.map +1 -0
  854. package/dist/quotes/upnl/calculate-quote-upnl-wei.js +11 -0
  855. package/dist/quotes/upnl/calculate-quote-upnl-wei.js.map +1 -0
  856. package/dist/quotes/upnl/index.d.ts +1 -0
  857. package/dist/quotes/upnl/index.d.ts.map +1 -1
  858. package/dist/shared/types/properties.d.ts +17 -1
  859. package/dist/shared/types/properties.d.ts.map +1 -1
  860. package/dist/shared/utils/percent.d.ts +17 -0
  861. package/dist/shared/utils/percent.d.ts.map +1 -0
  862. package/dist/shared/utils/percent.js +9 -0
  863. package/dist/shared/utils/percent.js.map +1 -0
  864. package/dist/shared/utils/price.d.ts +22 -0
  865. package/dist/shared/utils/price.d.ts.map +1 -0
  866. package/dist/shared/utils/price.js +15 -0
  867. package/dist/shared/utils/price.js.map +1 -0
  868. package/dist/shared/utils/query.d.ts.map +1 -1
  869. package/dist/shared/utils/query.js +2 -1
  870. package/dist/shared/utils/query.js.map +1 -1
  871. package/dist/shared/utils/wei.d.ts +26 -0
  872. package/dist/shared/utils/wei.d.ts.map +1 -1
  873. package/dist/shared/utils/wei.js +4 -1
  874. package/dist/shared/utils/wei.js.map +1 -1
  875. package/dist/solvers/add-solver-whitelist/add-solver-whitelist.d.ts +27 -0
  876. package/dist/solvers/add-solver-whitelist/add-solver-whitelist.d.ts.map +1 -0
  877. package/dist/solvers/add-solver-whitelist/add-solver-whitelist.js +25 -0
  878. package/dist/solvers/add-solver-whitelist/add-solver-whitelist.js.map +1 -0
  879. package/dist/solvers/add-solver-whitelist/index.d.ts +3 -0
  880. package/dist/solvers/add-solver-whitelist/index.d.ts.map +1 -0
  881. package/dist/solvers/add-solver-whitelist/query.d.ts +19 -0
  882. package/dist/solvers/add-solver-whitelist/query.d.ts.map +1 -0
  883. package/dist/solvers/add-solver-whitelist/query.js +12 -0
  884. package/dist/solvers/add-solver-whitelist/query.js.map +1 -0
  885. package/dist/solvers/assert-solver-kind.d.ts +15 -0
  886. package/dist/solvers/assert-solver-kind.d.ts.map +1 -0
  887. package/dist/solvers/assert-solver-kind.js +9 -0
  888. package/dist/solvers/assert-solver-kind.js.map +1 -0
  889. package/dist/solvers/capabilities.d.ts +56 -0
  890. package/dist/solvers/capabilities.d.ts.map +1 -0
  891. package/dist/solvers/capabilities.js +30 -0
  892. package/dist/solvers/capabilities.js.map +1 -0
  893. package/dist/solvers/error-codes/get-solver-error-codes.d.ts +2 -2
  894. package/dist/solvers/error-codes/get-solver-error-codes.d.ts.map +1 -1
  895. package/dist/solvers/error-codes/get-solver-error-codes.js +4 -2
  896. package/dist/solvers/error-codes/get-solver-error-codes.js.map +1 -1
  897. package/dist/solvers/error-codes/query.d.ts.map +1 -1
  898. package/dist/solvers/error-codes/query.js +4 -1
  899. package/dist/solvers/error-codes/query.js.map +1 -1
  900. package/dist/solvers/estimated-price/get-estimated-price.d.ts +2 -2
  901. package/dist/solvers/estimated-price/get-estimated-price.d.ts.map +1 -1
  902. package/dist/solvers/estimated-price/get-estimated-price.js +20 -15
  903. package/dist/solvers/estimated-price/get-estimated-price.js.map +1 -1
  904. package/dist/solvers/estimated-price/index.d.ts +1 -0
  905. package/dist/solvers/estimated-price/index.d.ts.map +1 -1
  906. package/dist/solvers/estimated-price/query.d.ts.map +1 -1
  907. package/dist/solvers/estimated-price/query.js +1 -0
  908. package/dist/solvers/estimated-price/query.js.map +1 -1
  909. package/dist/solvers/estimated-price/supports-estimated-price.d.ts +33 -0
  910. package/dist/solvers/estimated-price/supports-estimated-price.d.ts.map +1 -0
  911. package/dist/solvers/estimated-price/supports-estimated-price.js +13 -0
  912. package/dist/solvers/estimated-price/supports-estimated-price.js.map +1 -0
  913. package/dist/solvers/force-close/force-close-auto.d.ts +53 -0
  914. package/dist/solvers/force-close/force-close-auto.d.ts.map +1 -0
  915. package/dist/solvers/force-close/force-close-auto.js +80 -0
  916. package/dist/solvers/force-close/force-close-auto.js.map +1 -0
  917. package/dist/solvers/force-close/force-close-math.d.ts +93 -0
  918. package/dist/solvers/force-close/force-close-math.d.ts.map +1 -0
  919. package/dist/solvers/force-close/force-close-math.js +58 -0
  920. package/dist/solvers/force-close/force-close-math.js.map +1 -0
  921. package/dist/solvers/force-close/force-close-position.d.ts +45 -0
  922. package/dist/solvers/force-close/force-close-position.d.ts.map +1 -0
  923. package/dist/solvers/force-close/force-close-position.js +22 -0
  924. package/dist/solvers/force-close/force-close-position.js.map +1 -0
  925. package/dist/solvers/force-close/get-force-close-params.d.ts +32 -0
  926. package/dist/solvers/force-close/get-force-close-params.d.ts.map +1 -0
  927. package/dist/solvers/force-close/get-force-close-params.js +41 -0
  928. package/dist/solvers/force-close/get-force-close-params.js.map +1 -0
  929. package/dist/solvers/force-close/index.d.ts +7 -0
  930. package/dist/solvers/force-close/index.d.ts.map +1 -0
  931. package/dist/solvers/force-close/query.d.ts +60 -0
  932. package/dist/solvers/force-close/query.d.ts.map +1 -0
  933. package/dist/solvers/force-close/query.js +38 -0
  934. package/dist/solvers/force-close/query.js.map +1 -0
  935. package/dist/solvers/force-close/types.d.ts +37 -0
  936. package/dist/solvers/force-close/types.d.ts.map +1 -0
  937. package/dist/solvers/funding-info/get-funding-info.d.ts +2 -2
  938. package/dist/solvers/funding-info/get-funding-info.d.ts.map +1 -1
  939. package/dist/solvers/funding-info/get-funding-info.js +4 -2
  940. package/dist/solvers/funding-info/get-funding-info.js.map +1 -1
  941. package/dist/solvers/funding-info/query.d.ts.map +1 -1
  942. package/dist/solvers/funding-info/query.js +1 -0
  943. package/dist/solvers/funding-info/query.js.map +1 -1
  944. package/dist/solvers/get-error-message/get-error-message.d.ts +22 -0
  945. package/dist/solvers/get-error-message/get-error-message.d.ts.map +1 -0
  946. package/dist/solvers/get-error-message/get-error-message.js +24 -0
  947. package/dist/solvers/get-error-message/get-error-message.js.map +1 -0
  948. package/dist/solvers/get-error-message/index.d.ts +3 -0
  949. package/dist/solvers/get-error-message/index.d.ts.map +1 -0
  950. package/dist/solvers/get-error-message/query.d.ts +29 -0
  951. package/dist/solvers/get-error-message/query.d.ts.map +1 -0
  952. package/dist/solvers/get-error-message/query.js +25 -0
  953. package/dist/solvers/get-error-message/query.js.map +1 -0
  954. package/dist/solvers/get-party-a-upnl/get-party-a-upnl.d.ts +21 -0
  955. package/dist/solvers/get-party-a-upnl/get-party-a-upnl.d.ts.map +1 -0
  956. package/dist/solvers/get-party-a-upnl/get-party-a-upnl.js +24 -0
  957. package/dist/solvers/get-party-a-upnl/get-party-a-upnl.js.map +1 -0
  958. package/dist/solvers/get-party-a-upnl/index.d.ts +3 -0
  959. package/dist/solvers/get-party-a-upnl/index.d.ts.map +1 -0
  960. package/dist/solvers/get-party-a-upnl/query.d.ts +29 -0
  961. package/dist/solvers/get-party-a-upnl/query.d.ts.map +1 -0
  962. package/dist/solvers/get-party-a-upnl/query.js +25 -0
  963. package/dist/solvers/get-party-a-upnl/query.js.map +1 -0
  964. package/dist/solvers/get-solver-balance-info/get-solver-balance-info.d.ts +25 -0
  965. package/dist/solvers/get-solver-balance-info/get-solver-balance-info.d.ts.map +1 -0
  966. package/dist/solvers/get-solver-balance-info/get-solver-balance-info.js +25 -0
  967. package/dist/solvers/get-solver-balance-info/get-solver-balance-info.js.map +1 -0
  968. package/dist/solvers/get-solver-balance-info/index.d.ts +3 -0
  969. package/dist/solvers/get-solver-balance-info/index.d.ts.map +1 -0
  970. package/dist/solvers/get-solver-balance-info/query.d.ts +29 -0
  971. package/dist/solvers/get-solver-balance-info/query.d.ts.map +1 -0
  972. package/dist/solvers/get-solver-balance-info/query.js +26 -0
  973. package/dist/solvers/get-solver-balance-info/query.js.map +1 -0
  974. package/dist/solvers/get-solver-open-interest/get-solver-open-interest.d.ts +19 -0
  975. package/dist/solvers/get-solver-open-interest/get-solver-open-interest.d.ts.map +1 -0
  976. package/dist/solvers/get-solver-open-interest/get-solver-open-interest.js +24 -0
  977. package/dist/solvers/get-solver-open-interest/get-solver-open-interest.js.map +1 -0
  978. package/dist/solvers/get-solver-open-interest/index.d.ts +3 -0
  979. package/dist/solvers/get-solver-open-interest/index.d.ts.map +1 -0
  980. package/dist/solvers/get-solver-open-interest/query.d.ts +29 -0
  981. package/dist/solvers/get-solver-open-interest/query.d.ts.map +1 -0
  982. package/dist/solvers/get-solver-open-interest/query.js +24 -0
  983. package/dist/solvers/get-solver-open-interest/query.js.map +1 -0
  984. package/dist/solvers/get-solver-price-range/get-solver-price-range.d.ts +22 -0
  985. package/dist/solvers/get-solver-price-range/get-solver-price-range.d.ts.map +1 -0
  986. package/dist/solvers/get-solver-price-range/get-solver-price-range.js +24 -0
  987. package/dist/solvers/get-solver-price-range/get-solver-price-range.js.map +1 -0
  988. package/dist/solvers/get-solver-price-range/index.d.ts +3 -0
  989. package/dist/solvers/get-solver-price-range/index.d.ts.map +1 -0
  990. package/dist/solvers/get-solver-price-range/query.d.ts +29 -0
  991. package/dist/solvers/get-solver-price-range/query.d.ts.map +1 -0
  992. package/dist/solvers/get-solver-price-range/query.js +25 -0
  993. package/dist/solvers/get-solver-price-range/query.js.map +1 -0
  994. package/dist/solvers/get-solver-readiness/get-solver-readiness.d.ts +18 -0
  995. package/dist/solvers/get-solver-readiness/get-solver-readiness.d.ts.map +1 -0
  996. package/dist/solvers/get-solver-readiness/get-solver-readiness.js +24 -0
  997. package/dist/solvers/get-solver-readiness/get-solver-readiness.js.map +1 -0
  998. package/dist/solvers/get-solver-readiness/index.d.ts +3 -0
  999. package/dist/solvers/get-solver-readiness/index.d.ts.map +1 -0
  1000. package/dist/solvers/get-solver-readiness/query.d.ts +29 -0
  1001. package/dist/solvers/get-solver-readiness/query.d.ts.map +1 -0
  1002. package/dist/solvers/get-solver-readiness/query.js +24 -0
  1003. package/dist/solvers/get-solver-readiness/query.js.map +1 -0
  1004. package/dist/solvers/instant-close/get-instant-closes/get-instant-closes.d.ts +2 -2
  1005. package/dist/solvers/instant-close/get-instant-closes/get-instant-closes.d.ts.map +1 -1
  1006. package/dist/solvers/instant-close/get-instant-closes/get-instant-closes.js +4 -1
  1007. package/dist/solvers/instant-close/get-instant-closes/get-instant-closes.js.map +1 -1
  1008. package/dist/solvers/instant-close/get-instant-closes/query.d.ts.map +1 -1
  1009. package/dist/solvers/instant-close/get-instant-closes/query.js +1 -0
  1010. package/dist/solvers/instant-close/get-instant-closes/query.js.map +1 -1
  1011. package/dist/solvers/instant-close/instant-close/instant-close.d.ts +16 -3
  1012. package/dist/solvers/instant-close/instant-close/instant-close.d.ts.map +1 -1
  1013. package/dist/solvers/instant-close/instant-close/instant-close.js +26 -25
  1014. package/dist/solvers/instant-close/instant-close/instant-close.js.map +1 -1
  1015. package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.d.ts.map +1 -1
  1016. package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.js +1 -0
  1017. package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.js.map +1 -1
  1018. package/dist/solvers/instant-close/instant-close-bulk-auto/instant-close-bulk-auto.d.ts.map +1 -1
  1019. package/dist/solvers/instant-close/instant-close-bulk-auto/instant-close-bulk-auto.js +1 -0
  1020. package/dist/solvers/instant-close/instant-close-bulk-auto/instant-close-bulk-auto.js.map +1 -1
  1021. package/dist/solvers/instant-close/prepare-instant-close-params/prepare-instant-close-params.d.ts.map +1 -1
  1022. package/dist/solvers/instant-close/prepare-instant-close-params/prepare-instant-close-params.js +3 -0
  1023. package/dist/solvers/instant-close/prepare-instant-close-params/prepare-instant-close-params.js.map +1 -1
  1024. package/dist/solvers/instant-close/shared/adapters/enigma-instant-close.d.ts +14 -0
  1025. package/dist/solvers/instant-close/shared/adapters/enigma-instant-close.d.ts.map +1 -0
  1026. package/dist/solvers/instant-close/shared/adapters/enigma-instant-close.js +14 -0
  1027. package/dist/solvers/instant-close/shared/adapters/enigma-instant-close.js.map +1 -0
  1028. package/dist/solvers/instant-close/shared/adapters/hedger-error.d.ts +10 -0
  1029. package/dist/solvers/instant-close/shared/adapters/hedger-error.d.ts.map +1 -0
  1030. package/dist/solvers/instant-close/shared/adapters/hedger-error.js +13 -0
  1031. package/dist/solvers/instant-close/shared/adapters/hedger-error.js.map +1 -0
  1032. package/dist/solvers/instant-close/shared/adapters/index.d.ts +4 -0
  1033. package/dist/solvers/instant-close/shared/adapters/index.d.ts.map +1 -0
  1034. package/dist/solvers/instant-close/shared/adapters/rasa-instant-close.d.ts +20 -0
  1035. package/dist/solvers/instant-close/shared/adapters/rasa-instant-close.d.ts.map +1 -0
  1036. package/dist/solvers/instant-close/shared/adapters/rasa-instant-close.js +25 -0
  1037. package/dist/solvers/instant-close/shared/adapters/rasa-instant-close.js.map +1 -0
  1038. package/dist/solvers/instant-close/shared/hedger-api.d.ts +17 -14
  1039. package/dist/solvers/instant-close/shared/hedger-api.d.ts.map +1 -1
  1040. package/dist/solvers/instant-close/shared/hedger-api.js +16 -13
  1041. package/dist/solvers/instant-close/shared/hedger-api.js.map +1 -1
  1042. package/dist/solvers/instant-close/shared/index.d.ts +1 -0
  1043. package/dist/solvers/instant-close/shared/index.d.ts.map +1 -1
  1044. package/dist/solvers/instant-close/shared/quote-constraints.d.ts +20 -3
  1045. package/dist/solvers/instant-close/shared/quote-constraints.d.ts.map +1 -1
  1046. package/dist/solvers/instant-close/shared/quote-constraints.js +4 -4
  1047. package/dist/solvers/instant-close/shared/quote-constraints.js.map +1 -1
  1048. package/dist/solvers/instant-close/shared/types.d.ts +3 -3
  1049. package/dist/solvers/instant-close/shared/types.d.ts.map +1 -1
  1050. package/dist/solvers/instant-open/get-instant-open-quote-id/get-instant-open-quote-id.d.ts +2 -2
  1051. package/dist/solvers/instant-open/get-instant-open-quote-id/get-instant-open-quote-id.d.ts.map +1 -1
  1052. package/dist/solvers/instant-open/get-instant-open-quote-id/get-instant-open-quote-id.js +4 -1
  1053. package/dist/solvers/instant-open/get-instant-open-quote-id/get-instant-open-quote-id.js.map +1 -1
  1054. package/dist/solvers/instant-open/get-instant-open-quote-id/query.d.ts.map +1 -1
  1055. package/dist/solvers/instant-open/get-instant-open-quote-id/query.js +1 -0
  1056. package/dist/solvers/instant-open/get-instant-open-quote-id/query.js.map +1 -1
  1057. package/dist/solvers/instant-open/get-instant-opens/adapters/enigma-instant-opens.d.ts +18 -0
  1058. package/dist/solvers/instant-open/get-instant-opens/adapters/enigma-instant-opens.d.ts.map +1 -0
  1059. package/dist/solvers/instant-open/get-instant-opens/adapters/enigma-instant-opens.js +28 -0
  1060. package/dist/solvers/instant-open/get-instant-opens/adapters/enigma-instant-opens.js.map +1 -0
  1061. package/dist/solvers/instant-open/get-instant-opens/adapters/index.d.ts +3 -0
  1062. package/dist/solvers/instant-open/get-instant-opens/adapters/index.d.ts.map +1 -0
  1063. package/dist/solvers/instant-open/get-instant-opens/adapters/rasa-instant-opens.d.ts +18 -0
  1064. package/dist/solvers/instant-open/get-instant-opens/adapters/rasa-instant-opens.d.ts.map +1 -0
  1065. package/dist/solvers/instant-open/get-instant-opens/adapters/rasa-instant-opens.js +25 -0
  1066. package/dist/solvers/instant-open/get-instant-opens/adapters/rasa-instant-opens.js.map +1 -0
  1067. package/dist/solvers/instant-open/get-instant-opens/get-instant-opens.d.ts +22 -11
  1068. package/dist/solvers/instant-open/get-instant-opens/get-instant-opens.d.ts.map +1 -1
  1069. package/dist/solvers/instant-open/get-instant-opens/get-instant-opens.js +26 -10
  1070. package/dist/solvers/instant-open/get-instant-opens/get-instant-opens.js.map +1 -1
  1071. package/dist/solvers/instant-open/get-instant-opens/index.d.ts +1 -1
  1072. package/dist/solvers/instant-open/get-instant-opens/index.d.ts.map +1 -1
  1073. package/dist/solvers/instant-open/get-instant-opens/query.d.ts +7 -6
  1074. package/dist/solvers/instant-open/get-instant-opens/query.d.ts.map +1 -1
  1075. package/dist/solvers/instant-open/get-instant-opens/query.js +1 -0
  1076. package/dist/solvers/instant-open/get-instant-opens/query.js.map +1 -1
  1077. package/dist/solvers/instant-open/get-instant-opens/{to-pending-instant-open.d.ts → types.d.ts} +31 -15
  1078. package/dist/solvers/instant-open/get-instant-opens/types.d.ts.map +1 -0
  1079. package/dist/solvers/instant-open/instant-open/adapters/context.d.ts +34 -0
  1080. package/dist/solvers/instant-open/instant-open/adapters/context.d.ts.map +1 -0
  1081. package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.d.ts +22 -0
  1082. package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.d.ts.map +1 -0
  1083. package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.js +73 -0
  1084. package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.js.map +1 -0
  1085. package/dist/solvers/instant-open/instant-open/adapters/index.d.ts +4 -0
  1086. package/dist/solvers/instant-open/instant-open/adapters/index.d.ts.map +1 -0
  1087. package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.d.ts +22 -0
  1088. package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.d.ts.map +1 -0
  1089. package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.js +55 -0
  1090. package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.js.map +1 -0
  1091. package/dist/solvers/instant-open/instant-open/index.d.ts +2 -0
  1092. package/dist/solvers/instant-open/instant-open/index.d.ts.map +1 -1
  1093. package/dist/solvers/instant-open/instant-open/instant-open.d.ts +34 -65
  1094. package/dist/solvers/instant-open/instant-open/instant-open.d.ts.map +1 -1
  1095. package/dist/solvers/instant-open/instant-open/instant-open.js +31 -63
  1096. package/dist/solvers/instant-open/instant-open/instant-open.js.map +1 -1
  1097. package/dist/solvers/instant-open/instant-open/query.d.ts +9 -3
  1098. package/dist/solvers/instant-open/instant-open/query.d.ts.map +1 -1
  1099. package/dist/solvers/instant-open/instant-open/query.js.map +1 -1
  1100. package/dist/solvers/instant-open/instant-open/types.d.ts +91 -0
  1101. package/dist/solvers/instant-open/instant-open/types.d.ts.map +1 -0
  1102. package/dist/solvers/instant-open/instant-open-auto/instant-open-auto.d.ts +1 -1
  1103. package/dist/solvers/instant-open/instant-open-auto/instant-open-auto.d.ts.map +1 -1
  1104. package/dist/solvers/instant-open/instant-open-auto/instant-open-auto.js.map +1 -1
  1105. package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.d.ts +1 -1
  1106. package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.d.ts.map +1 -1
  1107. package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.js +4 -0
  1108. package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.js.map +1 -1
  1109. package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/resolve-locked-params.d.ts +7 -0
  1110. package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/resolve-locked-params.d.ts.map +1 -1
  1111. package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/resolve-locked-params.js +1 -0
  1112. package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/resolve-locked-params.js.map +1 -1
  1113. package/dist/solvers/instant-open/shared/calldata.d.ts +45 -0
  1114. package/dist/solvers/instant-open/shared/calldata.d.ts.map +1 -1
  1115. package/dist/solvers/instant-open/shared/calldata.js +40 -17
  1116. package/dist/solvers/instant-open/shared/calldata.js.map +1 -1
  1117. package/dist/solvers/instant-open/shared/hedger-api.d.ts +33 -2
  1118. package/dist/solvers/instant-open/shared/hedger-api.d.ts.map +1 -1
  1119. package/dist/solvers/instant-open/shared/hedger-api.js +25 -7
  1120. package/dist/solvers/instant-open/shared/hedger-api.js.map +1 -1
  1121. package/dist/solvers/instant-open/shared/operations.d.ts +16 -3
  1122. package/dist/solvers/instant-open/shared/operations.d.ts.map +1 -1
  1123. package/dist/solvers/instant-open/shared/operations.js +2 -2
  1124. package/dist/solvers/instant-open/shared/operations.js.map +1 -1
  1125. package/dist/solvers/instant-open/shared/quote-constraints.d.ts +27 -3
  1126. package/dist/solvers/instant-open/shared/quote-constraints.d.ts.map +1 -1
  1127. package/dist/solvers/instant-open/shared/quote-constraints.js +27 -27
  1128. package/dist/solvers/instant-open/shared/quote-constraints.js.map +1 -1
  1129. package/dist/solvers/instant-open/shared/trade-math.d.ts +11 -0
  1130. package/dist/solvers/instant-open/shared/trade-math.d.ts.map +1 -1
  1131. package/dist/solvers/instant-open/shared/trade-math.js +10 -6
  1132. package/dist/solvers/instant-open/shared/trade-math.js.map +1 -1
  1133. package/dist/solvers/instant-open/shared/types.d.ts +12 -23
  1134. package/dist/solvers/instant-open/shared/types.d.ts.map +1 -1
  1135. package/dist/solvers/instant-open/shared/types.js.map +1 -1
  1136. package/dist/solvers/limit-close/index.d.ts +4 -0
  1137. package/dist/solvers/limit-close/index.d.ts.map +1 -0
  1138. package/dist/solvers/limit-close/limit-close-auto.d.ts +23 -0
  1139. package/dist/solvers/limit-close/limit-close-auto.d.ts.map +1 -0
  1140. package/dist/solvers/limit-close/limit-close-auto.js +10 -0
  1141. package/dist/solvers/limit-close/limit-close-auto.js.map +1 -0
  1142. package/dist/solvers/limit-close/prepare-limit-close-params.d.ts +30 -0
  1143. package/dist/solvers/limit-close/prepare-limit-close-params.d.ts.map +1 -0
  1144. package/dist/solvers/limit-close/prepare-limit-close-params.js +24 -0
  1145. package/dist/solvers/limit-close/prepare-limit-close-params.js.map +1 -0
  1146. package/dist/solvers/limit-close/query.d.ts +15 -0
  1147. package/dist/solvers/limit-close/query.d.ts.map +1 -0
  1148. package/dist/solvers/limit-close/query.js +12 -0
  1149. package/dist/solvers/limit-close/query.js.map +1 -0
  1150. package/dist/solvers/limit-open/index.d.ts +4 -0
  1151. package/dist/solvers/limit-open/index.d.ts.map +1 -0
  1152. package/dist/solvers/limit-open/limit-open-auto.d.ts +23 -0
  1153. package/dist/solvers/limit-open/limit-open-auto.d.ts.map +1 -0
  1154. package/dist/solvers/limit-open/limit-open-auto.js +10 -0
  1155. package/dist/solvers/limit-open/limit-open-auto.js.map +1 -0
  1156. package/dist/solvers/limit-open/prepare-limit-open-params.d.ts +31 -0
  1157. package/dist/solvers/limit-open/prepare-limit-open-params.d.ts.map +1 -0
  1158. package/dist/solvers/limit-open/prepare-limit-open-params.js +24 -0
  1159. package/dist/solvers/limit-open/prepare-limit-open-params.js.map +1 -0
  1160. package/dist/solvers/limit-open/query.d.ts +15 -0
  1161. package/dist/solvers/limit-open/query.d.ts.map +1 -0
  1162. package/dist/solvers/limit-open/query.js +12 -0
  1163. package/dist/solvers/limit-open/query.js.map +1 -0
  1164. package/dist/solvers/locked-params/get-locked-params.d.ts +2 -2
  1165. package/dist/solvers/locked-params/get-locked-params.d.ts.map +1 -1
  1166. package/dist/solvers/locked-params/get-locked-params.js +4 -2
  1167. package/dist/solvers/locked-params/get-locked-params.js.map +1 -1
  1168. package/dist/solvers/locked-params/query.d.ts.map +1 -1
  1169. package/dist/solvers/locked-params/query.js +1 -0
  1170. package/dist/solvers/locked-params/query.js.map +1 -1
  1171. package/dist/solvers/market-info/adapters/enigma-market-info.d.ts +15 -0
  1172. package/dist/solvers/market-info/adapters/enigma-market-info.d.ts.map +1 -0
  1173. package/dist/solvers/market-info/adapters/enigma-market-info.js +33 -0
  1174. package/dist/solvers/market-info/adapters/enigma-market-info.js.map +1 -0
  1175. package/dist/solvers/market-info/adapters/index.d.ts +3 -0
  1176. package/dist/solvers/market-info/adapters/index.d.ts.map +1 -0
  1177. package/dist/solvers/market-info/adapters/rasa-market-info.d.ts +16 -0
  1178. package/dist/solvers/market-info/adapters/rasa-market-info.d.ts.map +1 -0
  1179. package/dist/solvers/market-info/adapters/rasa-market-info.js +22 -0
  1180. package/dist/solvers/market-info/adapters/rasa-market-info.js.map +1 -0
  1181. package/dist/solvers/market-info/get-market-info.d.ts +25 -17
  1182. package/dist/solvers/market-info/get-market-info.d.ts.map +1 -1
  1183. package/dist/solvers/market-info/get-market-info.js +25 -12
  1184. package/dist/solvers/market-info/get-market-info.js.map +1 -1
  1185. package/dist/solvers/market-info/index.d.ts +0 -1
  1186. package/dist/solvers/market-info/index.d.ts.map +1 -1
  1187. package/dist/solvers/market-info/query.d.ts +11 -10
  1188. package/dist/solvers/market-info/query.d.ts.map +1 -1
  1189. package/dist/solvers/market-info/query.js +4 -1
  1190. package/dist/solvers/market-info/query.js.map +1 -1
  1191. package/dist/solvers/market-info/types.d.ts +40 -9
  1192. package/dist/solvers/market-info/types.d.ts.map +1 -1
  1193. package/dist/solvers/markets/adapters/enigma-markets.d.ts +18 -0
  1194. package/dist/solvers/markets/adapters/enigma-markets.d.ts.map +1 -0
  1195. package/dist/solvers/markets/adapters/enigma-markets.js +44 -0
  1196. package/dist/solvers/markets/adapters/enigma-markets.js.map +1 -0
  1197. package/dist/solvers/markets/adapters/index.d.ts +3 -0
  1198. package/dist/solvers/markets/adapters/index.d.ts.map +1 -0
  1199. package/dist/solvers/markets/adapters/rasa-markets.d.ts +18 -0
  1200. package/dist/solvers/markets/adapters/rasa-markets.d.ts.map +1 -0
  1201. package/dist/solvers/markets/adapters/rasa-markets.js +36 -0
  1202. package/dist/solvers/markets/adapters/rasa-markets.js.map +1 -0
  1203. package/dist/solvers/markets/get-markets.d.ts +34 -13
  1204. package/dist/solvers/markets/get-markets.d.ts.map +1 -1
  1205. package/dist/solvers/markets/get-markets.js +28 -14
  1206. package/dist/solvers/markets/get-markets.js.map +1 -1
  1207. package/dist/solvers/markets/index.d.ts +1 -1
  1208. package/dist/solvers/markets/index.d.ts.map +1 -1
  1209. package/dist/solvers/markets/query.d.ts +14 -11
  1210. package/dist/solvers/markets/query.d.ts.map +1 -1
  1211. package/dist/solvers/markets/query.js +4 -1
  1212. package/dist/solvers/markets/query.js.map +1 -1
  1213. package/dist/solvers/markets/types.d.ts +96 -0
  1214. package/dist/solvers/markets/types.d.ts.map +1 -0
  1215. package/dist/solvers/notional-cap/adapters/enigma-notional-cap.d.ts +17 -0
  1216. package/dist/solvers/notional-cap/adapters/enigma-notional-cap.d.ts.map +1 -0
  1217. package/dist/solvers/notional-cap/adapters/enigma-notional-cap.js +27 -0
  1218. package/dist/solvers/notional-cap/adapters/enigma-notional-cap.js.map +1 -0
  1219. package/dist/solvers/notional-cap/adapters/index.d.ts +3 -0
  1220. package/dist/solvers/notional-cap/adapters/index.d.ts.map +1 -0
  1221. package/dist/solvers/notional-cap/adapters/rasa-notional-cap.d.ts +16 -0
  1222. package/dist/solvers/notional-cap/adapters/rasa-notional-cap.d.ts.map +1 -0
  1223. package/dist/solvers/notional-cap/adapters/rasa-notional-cap.js +17 -0
  1224. package/dist/solvers/notional-cap/adapters/rasa-notional-cap.js.map +1 -0
  1225. package/dist/solvers/notional-cap/check-notional-cap.d.ts +4 -2
  1226. package/dist/solvers/notional-cap/check-notional-cap.d.ts.map +1 -1
  1227. package/dist/solvers/notional-cap/check-notional-cap.js +2 -2
  1228. package/dist/solvers/notional-cap/check-notional-cap.js.map +1 -1
  1229. package/dist/solvers/notional-cap/get-notional-cap-all.d.ts +5 -5
  1230. package/dist/solvers/notional-cap/get-notional-cap-all.d.ts.map +1 -1
  1231. package/dist/solvers/notional-cap/get-notional-cap-all.js +5 -2
  1232. package/dist/solvers/notional-cap/get-notional-cap-all.js.map +1 -1
  1233. package/dist/solvers/notional-cap/get-notional-cap-by-symbol-id.d.ts +23 -14
  1234. package/dist/solvers/notional-cap/get-notional-cap-by-symbol-id.d.ts.map +1 -1
  1235. package/dist/solvers/notional-cap/get-notional-cap-by-symbol-id.js +26 -10
  1236. package/dist/solvers/notional-cap/get-notional-cap-by-symbol-id.js.map +1 -1
  1237. package/dist/solvers/notional-cap/get-open-interest-by-symbol-id.d.ts +2 -2
  1238. package/dist/solvers/notional-cap/get-open-interest-by-symbol-id.d.ts.map +1 -1
  1239. package/dist/solvers/notional-cap/get-open-interest-by-symbol-id.js +7 -1
  1240. package/dist/solvers/notional-cap/get-open-interest-by-symbol-id.js.map +1 -1
  1241. package/dist/solvers/notional-cap/index.d.ts +0 -1
  1242. package/dist/solvers/notional-cap/index.d.ts.map +1 -1
  1243. package/dist/solvers/notional-cap/query-all.js +4 -1
  1244. package/dist/solvers/notional-cap/query-all.js.map +1 -1
  1245. package/dist/solvers/notional-cap/query-open-interest.d.ts.map +1 -1
  1246. package/dist/solvers/notional-cap/query-open-interest.js +1 -0
  1247. package/dist/solvers/notional-cap/query-open-interest.js.map +1 -1
  1248. package/dist/solvers/notional-cap/query.d.ts +10 -8
  1249. package/dist/solvers/notional-cap/query.d.ts.map +1 -1
  1250. package/dist/solvers/notional-cap/query.js +1 -0
  1251. package/dist/solvers/notional-cap/query.js.map +1 -1
  1252. package/dist/solvers/notional-cap/types.d.ts +38 -15
  1253. package/dist/solvers/notional-cap/types.d.ts.map +1 -1
  1254. package/dist/solvers/revenue/get-solver-revenue.d.ts +48 -0
  1255. package/dist/solvers/revenue/get-solver-revenue.d.ts.map +1 -0
  1256. package/dist/solvers/revenue/get-solver-revenue.js +28 -0
  1257. package/dist/solvers/revenue/get-solver-revenue.js.map +1 -0
  1258. package/dist/solvers/revenue/index.d.ts +5 -0
  1259. package/dist/solvers/revenue/index.d.ts.map +1 -0
  1260. package/dist/solvers/revenue/query.d.ts +36 -0
  1261. package/dist/solvers/revenue/query.d.ts.map +1 -0
  1262. package/dist/solvers/revenue/query.js +26 -0
  1263. package/dist/solvers/revenue/query.js.map +1 -0
  1264. package/dist/solvers/revenue/to-solver-revenue.d.ts +13 -0
  1265. package/dist/solvers/revenue/to-solver-revenue.d.ts.map +1 -0
  1266. package/dist/solvers/revenue/to-solver-revenue.js +14 -0
  1267. package/dist/solvers/revenue/to-solver-revenue.js.map +1 -0
  1268. package/dist/solvers/revenue/types.d.ts +33 -0
  1269. package/dist/solvers/revenue/types.d.ts.map +1 -0
  1270. package/dist/solvers/revenue-records/get-revenue-records.d.ts +36 -0
  1271. package/dist/solvers/revenue-records/get-revenue-records.d.ts.map +1 -0
  1272. package/dist/solvers/revenue-records/get-revenue-records.js +36 -0
  1273. package/dist/solvers/revenue-records/get-revenue-records.js.map +1 -0
  1274. package/dist/solvers/revenue-records/index.d.ts +5 -0
  1275. package/dist/solvers/revenue-records/index.d.ts.map +1 -0
  1276. package/dist/solvers/revenue-records/query.d.ts +29 -0
  1277. package/dist/solvers/revenue-records/query.d.ts.map +1 -0
  1278. package/dist/solvers/revenue-records/query.js +28 -0
  1279. package/dist/solvers/revenue-records/query.js.map +1 -0
  1280. package/dist/solvers/revenue-records/to-revenue-record.d.ts +11 -0
  1281. package/dist/solvers/revenue-records/to-revenue-record.d.ts.map +1 -0
  1282. package/dist/solvers/revenue-records/to-revenue-record.js +13 -0
  1283. package/dist/solvers/revenue-records/to-revenue-record.js.map +1 -0
  1284. package/dist/solvers/revenue-records/types.d.ts +26 -0
  1285. package/dist/solvers/revenue-records/types.d.ts.map +1 -0
  1286. package/dist/solvers/shared/resolvers/resolve-mark-price.d.ts +17 -5
  1287. package/dist/solvers/shared/resolvers/resolve-mark-price.d.ts.map +1 -1
  1288. package/dist/solvers/shared/resolvers/resolve-mark-price.js +17 -10
  1289. package/dist/solvers/shared/resolvers/resolve-mark-price.js.map +1 -1
  1290. package/dist/solvers/shared/resolvers/resolve-market.d.ts +10 -3
  1291. package/dist/solvers/shared/resolvers/resolve-market.d.ts.map +1 -1
  1292. package/dist/solvers/shared/resolvers/resolve-market.js +7 -6
  1293. package/dist/solvers/shared/resolvers/resolve-market.js.map +1 -1
  1294. package/dist/solvers/symbols/get-symbols.d.ts +53 -0
  1295. package/dist/solvers/symbols/get-symbols.d.ts.map +1 -0
  1296. package/dist/solvers/symbols/get-symbols.js +37 -0
  1297. package/dist/solvers/symbols/get-symbols.js.map +1 -0
  1298. package/dist/solvers/symbols/index.d.ts +5 -0
  1299. package/dist/solvers/symbols/index.d.ts.map +1 -0
  1300. package/dist/solvers/symbols/query.d.ts +28 -0
  1301. package/dist/solvers/symbols/query.d.ts.map +1 -0
  1302. package/dist/solvers/symbols/query.js +33 -0
  1303. package/dist/solvers/symbols/query.js.map +1 -0
  1304. package/dist/solvers/symbols/to-solver-symbol.d.ts +11 -0
  1305. package/dist/solvers/symbols/to-solver-symbol.d.ts.map +1 -0
  1306. package/dist/solvers/symbols/to-solver-symbol.js +40 -0
  1307. package/dist/solvers/symbols/to-solver-symbol.js.map +1 -0
  1308. package/dist/solvers/symbols/types.d.ts +71 -0
  1309. package/dist/solvers/symbols/types.d.ts.map +1 -0
  1310. package/dist/solvers/trade-volume/get-trade-volume.d.ts +37 -0
  1311. package/dist/solvers/trade-volume/get-trade-volume.d.ts.map +1 -0
  1312. package/dist/solvers/trade-volume/get-trade-volume.js +27 -0
  1313. package/dist/solvers/trade-volume/get-trade-volume.js.map +1 -0
  1314. package/dist/solvers/trade-volume/index.d.ts +5 -0
  1315. package/dist/solvers/trade-volume/index.d.ts.map +1 -0
  1316. package/dist/solvers/trade-volume/query.d.ts +29 -0
  1317. package/dist/solvers/trade-volume/query.d.ts.map +1 -0
  1318. package/dist/solvers/trade-volume/query.js +25 -0
  1319. package/dist/solvers/trade-volume/query.js.map +1 -0
  1320. package/dist/solvers/trade-volume/to-daily-volume.d.ts +12 -0
  1321. package/dist/solvers/trade-volume/to-daily-volume.d.ts.map +1 -0
  1322. package/dist/solvers/trade-volume/to-daily-volume.js +11 -0
  1323. package/dist/solvers/trade-volume/to-daily-volume.js.map +1 -0
  1324. package/dist/solvers/trade-volume/types.d.ts +20 -0
  1325. package/dist/solvers/trade-volume/types.d.ts.map +1 -0
  1326. package/dist/solvers/types/generated/enigma-solver.d.ts +168 -13
  1327. package/dist/solvers/types/generated/enigma-solver.d.ts.map +1 -1
  1328. package/dist/solvers/types/generated/enigma-solver.js +26 -2
  1329. package/dist/solvers/types/generated/enigma-solver.js.map +1 -1
  1330. package/dist/solvers/types/generated/rasa-solver.d.ts +471 -0
  1331. package/dist/solvers/types/generated/rasa-solver.d.ts.map +1 -0
  1332. package/dist/solvers/types/generated/rasa-solver.js +7 -0
  1333. package/dist/solvers/types/generated/rasa-solver.js.map +1 -0
  1334. package/dist/symmio-contracts/abi/index.d.ts +9 -2
  1335. package/dist/symmio-contracts/abi/index.d.ts.map +1 -1
  1336. package/dist/symmio-contracts/account-layer/actions/get-virtual-accounts-addresses-of-sub-account.d.ts +1 -1
  1337. package/dist/symmio-contracts/account-layer/actions/get-virtual-accounts-addresses-of-sub-account.js.map +1 -1
  1338. package/dist/symmio-contracts/account-layer/calculate-available-for-order.d.ts +39 -0
  1339. package/dist/symmio-contracts/account-layer/calculate-available-for-order.d.ts.map +1 -0
  1340. package/dist/symmio-contracts/account-layer/calculate-available-for-order.js +14 -0
  1341. package/dist/symmio-contracts/account-layer/calculate-available-for-order.js.map +1 -0
  1342. package/dist/symmio-contracts/account-layer/index.d.ts +1 -0
  1343. package/dist/symmio-contracts/account-layer/index.d.ts.map +1 -1
  1344. package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.d.ts +95 -0
  1345. package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.d.ts.map +1 -0
  1346. package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.js +34 -0
  1347. package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.js.map +1 -0
  1348. package/dist/symmio-contracts/symmio/actions/deallocate.d.ts +10 -5
  1349. package/dist/symmio-contracts/symmio/actions/deallocate.d.ts.map +1 -1
  1350. package/dist/symmio-contracts/symmio/actions/deallocate.js +15 -11
  1351. package/dist/symmio-contracts/symmio/actions/deallocate.js.map +1 -1
  1352. package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.d.ts +41 -0
  1353. package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.d.ts.map +1 -0
  1354. package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.js +22 -0
  1355. package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.js.map +1 -0
  1356. package/dist/symmio-contracts/symmio/actions/force-cancel-quote.d.ts +41 -0
  1357. package/dist/symmio-contracts/symmio/actions/force-cancel-quote.d.ts.map +1 -0
  1358. package/dist/symmio-contracts/symmio/actions/force-cancel-quote.js +22 -0
  1359. package/dist/symmio-contracts/symmio/actions/force-cancel-quote.js.map +1 -0
  1360. package/dist/symmio-contracts/symmio/actions/get-cool-downs-of-ma.d.ts +34 -0
  1361. package/dist/symmio-contracts/symmio/actions/get-cool-downs-of-ma.d.ts.map +1 -0
  1362. package/dist/symmio-contracts/symmio/actions/get-cool-downs-of-ma.js +14 -0
  1363. package/dist/symmio-contracts/symmio/actions/get-cool-downs-of-ma.js.map +1 -0
  1364. package/dist/symmio-contracts/symmio/actions/get-pending-quotes.d.ts +39 -0
  1365. package/dist/symmio-contracts/symmio/actions/get-pending-quotes.d.ts.map +1 -0
  1366. package/dist/symmio-contracts/symmio/actions/get-pending-quotes.js +29 -0
  1367. package/dist/symmio-contracts/symmio/actions/get-pending-quotes.js.map +1 -0
  1368. package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.d.ts +41 -0
  1369. package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.d.ts.map +1 -0
  1370. package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.js +22 -0
  1371. package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.js.map +1 -0
  1372. package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.d.ts +39 -0
  1373. package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.d.ts.map +1 -0
  1374. package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.js +22 -0
  1375. package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.js.map +1 -0
  1376. package/dist/symmio-contracts/symmio/actions/simulate-deallocate-and-initiate-withdraw.d.ts +33 -0
  1377. package/dist/symmio-contracts/symmio/actions/simulate-deallocate-and-initiate-withdraw.d.ts.map +1 -0
  1378. package/dist/symmio-contracts/symmio/actions/simulate-deallocate-and-initiate-withdraw.js +33 -0
  1379. package/dist/symmio-contracts/symmio/actions/simulate-deallocate-and-initiate-withdraw.js.map +1 -0
  1380. package/dist/symmio-contracts/symmio/actions/simulate-deallocate.d.ts +2 -1
  1381. package/dist/symmio-contracts/symmio/actions/simulate-deallocate.d.ts.map +1 -1
  1382. package/dist/symmio-contracts/symmio/actions/simulate-deallocate.js +13 -9
  1383. package/dist/symmio-contracts/symmio/actions/simulate-deallocate.js.map +1 -1
  1384. package/dist/symmio-contracts/symmio/actions/withdraw-auto.d.ts +96 -0
  1385. package/dist/symmio-contracts/symmio/actions/withdraw-auto.d.ts.map +1 -0
  1386. package/dist/symmio-contracts/symmio/actions/withdraw-auto.js +31 -0
  1387. package/dist/symmio-contracts/symmio/actions/withdraw-auto.js.map +1 -0
  1388. package/dist/symmio-contracts/symmio/actions/withdraw.d.ts +109 -0
  1389. package/dist/symmio-contracts/symmio/actions/withdraw.d.ts.map +1 -0
  1390. package/dist/symmio-contracts/symmio/actions/withdraw.js +34 -0
  1391. package/dist/symmio-contracts/symmio/actions/withdraw.js.map +1 -0
  1392. package/dist/symmio-contracts/symmio/index.d.ts +20 -0
  1393. package/dist/symmio-contracts/symmio/index.d.ts.map +1 -1
  1394. package/dist/symmio-contracts/symmio/internal/call-as-sub-account.d.ts +8 -2
  1395. package/dist/symmio-contracts/symmio/internal/call-as-sub-account.d.ts.map +1 -1
  1396. package/dist/symmio-contracts/symmio/internal/call-as-sub-account.js +7 -7
  1397. package/dist/symmio-contracts/symmio/internal/call-as-sub-account.js.map +1 -1
  1398. package/dist/symmio-contracts/symmio/internal/simulate-call-as-sub-account.d.ts +4 -2
  1399. package/dist/symmio-contracts/symmio/internal/simulate-call-as-sub-account.d.ts.map +1 -1
  1400. package/dist/symmio-contracts/symmio/internal/simulate-call-as-sub-account.js +3 -3
  1401. package/dist/symmio-contracts/symmio/internal/simulate-call-as-sub-account.js.map +1 -1
  1402. package/dist/symmio-contracts/symmio/query/deallocate-and-initiate-withdraw.d.ts +24 -0
  1403. package/dist/symmio-contracts/symmio/query/deallocate-and-initiate-withdraw.d.ts.map +1 -0
  1404. package/dist/symmio-contracts/symmio/query/deallocate-and-initiate-withdraw.js +12 -0
  1405. package/dist/symmio-contracts/symmio/query/deallocate-and-initiate-withdraw.js.map +1 -0
  1406. package/dist/symmio-contracts/symmio/query/force-cancel-close-request.d.ts +21 -0
  1407. package/dist/symmio-contracts/symmio/query/force-cancel-close-request.d.ts.map +1 -0
  1408. package/dist/symmio-contracts/symmio/query/force-cancel-close-request.js +12 -0
  1409. package/dist/symmio-contracts/symmio/query/force-cancel-close-request.js.map +1 -0
  1410. package/dist/symmio-contracts/symmio/query/force-cancel-quote.d.ts +21 -0
  1411. package/dist/symmio-contracts/symmio/query/force-cancel-quote.d.ts.map +1 -0
  1412. package/dist/symmio-contracts/symmio/query/force-cancel-quote.js +12 -0
  1413. package/dist/symmio-contracts/symmio/query/force-cancel-quote.js.map +1 -0
  1414. package/dist/symmio-contracts/symmio/query/get-cool-downs-of-ma.d.ts +35 -0
  1415. package/dist/symmio-contracts/symmio/query/get-cool-downs-of-ma.d.ts.map +1 -0
  1416. package/dist/symmio-contracts/symmio/query/get-cool-downs-of-ma.js +21 -0
  1417. package/dist/symmio-contracts/symmio/query/get-cool-downs-of-ma.js.map +1 -0
  1418. package/dist/symmio-contracts/symmio/query/get-pending-quotes.d.ts +38 -0
  1419. package/dist/symmio-contracts/symmio/query/get-pending-quotes.d.ts.map +1 -0
  1420. package/dist/symmio-contracts/symmio/query/get-pending-quotes.js +30 -0
  1421. package/dist/symmio-contracts/symmio/query/get-pending-quotes.js.map +1 -0
  1422. package/dist/symmio-contracts/symmio/query/request-to-cancel-close-request.d.ts +21 -0
  1423. package/dist/symmio-contracts/symmio/query/request-to-cancel-close-request.d.ts.map +1 -0
  1424. package/dist/symmio-contracts/symmio/query/request-to-cancel-close-request.js +12 -0
  1425. package/dist/symmio-contracts/symmio/query/request-to-cancel-close-request.js.map +1 -0
  1426. package/dist/symmio-contracts/symmio/query/request-to-cancel-quote.d.ts +22 -0
  1427. package/dist/symmio-contracts/symmio/query/request-to-cancel-quote.d.ts.map +1 -0
  1428. package/dist/symmio-contracts/symmio/query/request-to-cancel-quote.js +12 -0
  1429. package/dist/symmio-contracts/symmio/query/request-to-cancel-quote.js.map +1 -0
  1430. package/dist/symmio-contracts/symmio/query/simulate-deallocate-and-initiate-withdraw.d.ts +20 -0
  1431. package/dist/symmio-contracts/symmio/query/simulate-deallocate-and-initiate-withdraw.d.ts.map +1 -0
  1432. package/dist/symmio-contracts/symmio/query/simulate-deallocate-and-initiate-withdraw.js +12 -0
  1433. package/dist/symmio-contracts/symmio/query/simulate-deallocate-and-initiate-withdraw.js.map +1 -0
  1434. package/dist/symmio-contracts/symmio/query/withdraw-auto.d.ts +26 -0
  1435. package/dist/symmio-contracts/symmio/query/withdraw-auto.d.ts.map +1 -0
  1436. package/dist/symmio-contracts/symmio/query/withdraw-auto.js +12 -0
  1437. package/dist/symmio-contracts/symmio/query/withdraw-auto.js.map +1 -0
  1438. package/dist/symmio-contracts/symmio/query/withdraw.d.ts +25 -0
  1439. package/dist/symmio-contracts/symmio/query/withdraw.d.ts.map +1 -0
  1440. package/dist/symmio-contracts/symmio/query/withdraw.js +12 -0
  1441. package/dist/symmio-contracts/symmio/query/withdraw.js.map +1 -0
  1442. package/dist/symmio-contracts/symmio/types.d.ts +84 -1
  1443. package/dist/symmio-contracts/symmio/types.d.ts.map +1 -1
  1444. package/dist/symmio-contracts/symmio/types.js.map +1 -1
  1445. package/dist/symmio-subgraph/types/generated/analytics/gql.d.ts +13 -1
  1446. package/dist/symmio-subgraph/types/generated/analytics/gql.d.ts.map +1 -1
  1447. package/dist/symmio-subgraph/types/generated/analytics/gql.js +11 -8
  1448. package/dist/symmio-subgraph/types/generated/analytics/gql.js.map +1 -1
  1449. package/dist/symmio-subgraph/types/generated/analytics/graphql.d.ts +96 -0
  1450. package/dist/symmio-subgraph/types/generated/analytics/graphql.d.ts.map +1 -1
  1451. package/dist/symmio-subgraph/types/generated/analytics/graphql.js +2 -2
  1452. package/dist/symmio-subgraph/types/generated/analytics/graphql.js.map +1 -1
  1453. package/dist/tpsl/get-quote-tpsl/get-quote-tpsl.d.ts +5 -1
  1454. package/dist/tpsl/get-quote-tpsl/get-quote-tpsl.d.ts.map +1 -1
  1455. package/dist/tpsl/get-quote-tpsl/get-quote-tpsl.js +13 -7
  1456. package/dist/tpsl/get-quote-tpsl/get-quote-tpsl.js.map +1 -1
  1457. package/dist/tpsl/grouping/estimate-group-tpsl-return.d.ts +35 -0
  1458. package/dist/tpsl/grouping/estimate-group-tpsl-return.d.ts.map +1 -0
  1459. package/dist/tpsl/grouping/estimate-group-tpsl-return.js +30 -0
  1460. package/dist/tpsl/grouping/estimate-group-tpsl-return.js.map +1 -0
  1461. package/dist/tpsl/grouping/index.d.ts +10 -0
  1462. package/dist/tpsl/grouping/index.d.ts.map +1 -0
  1463. package/dist/tpsl/grouping/notional.d.ts +22 -0
  1464. package/dist/tpsl/grouping/notional.d.ts.map +1 -0
  1465. package/dist/tpsl/grouping/notional.js +13 -0
  1466. package/dist/tpsl/grouping/notional.js.map +1 -0
  1467. package/dist/tpsl/grouping/plan-group-tpsl/index.d.ts +2 -0
  1468. package/dist/tpsl/grouping/plan-group-tpsl/index.d.ts.map +1 -0
  1469. package/dist/tpsl/grouping/plan-group-tpsl/plan-group-tpsl.d.ts +66 -0
  1470. package/dist/tpsl/grouping/plan-group-tpsl/plan-group-tpsl.d.ts.map +1 -0
  1471. package/dist/tpsl/grouping/plan-group-tpsl/plan-group-tpsl.js +142 -0
  1472. package/dist/tpsl/grouping/plan-group-tpsl/plan-group-tpsl.js.map +1 -0
  1473. package/dist/tpsl/grouping/plan-group-tpsl-delete.d.ts +24 -0
  1474. package/dist/tpsl/grouping/plan-group-tpsl-delete.d.ts.map +1 -0
  1475. package/dist/tpsl/grouping/plan-group-tpsl-delete.js +51 -0
  1476. package/dist/tpsl/grouping/plan-group-tpsl-delete.js.map +1 -0
  1477. package/dist/tpsl/grouping/resolve-child-side.d.ts +44 -0
  1478. package/dist/tpsl/grouping/resolve-child-side.d.ts.map +1 -0
  1479. package/dist/tpsl/grouping/resolve-child-side.js +21 -0
  1480. package/dist/tpsl/grouping/resolve-child-side.js.map +1 -0
  1481. package/dist/tpsl/grouping/summarize-group-tpsl.d.ts +39 -0
  1482. package/dist/tpsl/grouping/summarize-group-tpsl.d.ts.map +1 -0
  1483. package/dist/tpsl/grouping/summarize-group-tpsl.js +42 -0
  1484. package/dist/tpsl/grouping/summarize-group-tpsl.js.map +1 -0
  1485. package/dist/tpsl/grouping/to-group-tpsl-children.d.ts +33 -0
  1486. package/dist/tpsl/grouping/to-group-tpsl-children.d.ts.map +1 -0
  1487. package/dist/tpsl/grouping/to-group-tpsl-children.js +30 -0
  1488. package/dist/tpsl/grouping/to-group-tpsl-children.js.map +1 -0
  1489. package/dist/tpsl/grouping/to-group-tpsl-orders.d.ts +21 -0
  1490. package/dist/tpsl/grouping/to-group-tpsl-orders.d.ts.map +1 -0
  1491. package/dist/tpsl/grouping/to-group-tpsl-orders.js +33 -0
  1492. package/dist/tpsl/grouping/to-group-tpsl-orders.js.map +1 -0
  1493. package/dist/tpsl/grouping/types.d.ts +294 -0
  1494. package/dist/tpsl/grouping/types.d.ts.map +1 -0
  1495. package/dist/tpsl/index.d.ts +3 -0
  1496. package/dist/tpsl/index.d.ts.map +1 -1
  1497. package/dist/tpsl/internal/resolve-tpsl-config.d.ts +2 -2
  1498. package/dist/tpsl/internal/resolve-tpsl-config.d.ts.map +1 -1
  1499. package/dist/tpsl/internal/resolve-tpsl-config.js +7 -4
  1500. package/dist/tpsl/internal/resolve-tpsl-config.js.map +1 -1
  1501. package/dist/tpsl/search-tpsl-orders/index.d.ts +3 -0
  1502. package/dist/tpsl/search-tpsl-orders/index.d.ts.map +1 -0
  1503. package/dist/tpsl/search-tpsl-orders/query.d.ts +19 -0
  1504. package/dist/tpsl/search-tpsl-orders/query.d.ts.map +1 -0
  1505. package/dist/tpsl/search-tpsl-orders/query.js +21 -0
  1506. package/dist/tpsl/search-tpsl-orders/query.js.map +1 -0
  1507. package/dist/tpsl/search-tpsl-orders/search-tpsl-orders.d.ts +102 -0
  1508. package/dist/tpsl/search-tpsl-orders/search-tpsl-orders.d.ts.map +1 -0
  1509. package/dist/tpsl/search-tpsl-orders/search-tpsl-orders.js +47 -0
  1510. package/dist/tpsl/search-tpsl-orders/search-tpsl-orders.js.map +1 -0
  1511. package/dist/tpsl/set-quote-tpsl/build-conditional-order-leg.d.ts +1 -1
  1512. package/dist/tpsl/set-quote-tpsl/build-conditional-order-leg.js.map +1 -1
  1513. package/dist/tpsl/slippage.d.ts +3 -3
  1514. package/dist/tpsl/slippage.js.map +1 -1
  1515. package/dist/tpsl/supports-tpsl.d.ts +27 -0
  1516. package/dist/tpsl/supports-tpsl.d.ts.map +1 -0
  1517. package/dist/tpsl/supports-tpsl.js +15 -0
  1518. package/dist/tpsl/supports-tpsl.js.map +1 -0
  1519. package/dist/tpsl/types/generated/tpsl-handler.js +6 -4
  1520. package/dist/tpsl/types/generated/tpsl-handler.js.map +1 -1
  1521. package/dist/tpsl/types.d.ts +14 -0
  1522. package/dist/tpsl/types.d.ts.map +1 -1
  1523. package/dist/tpsl/types.js +8 -0
  1524. package/dist/tpsl/types.js.map +1 -0
  1525. package/dist/tpsl/validate-tpsl.d.ts +1 -1
  1526. package/dist/tpsl/validate-tpsl.js.map +1 -1
  1527. package/dist/websocket/notifications/adapters/enigma-notifications.d.ts +42 -0
  1528. package/dist/websocket/notifications/adapters/enigma-notifications.d.ts.map +1 -0
  1529. package/dist/websocket/notifications/adapters/enigma-notifications.js +63 -0
  1530. package/dist/websocket/notifications/adapters/enigma-notifications.js.map +1 -0
  1531. package/dist/websocket/notifications/adapters/index.d.ts +4 -0
  1532. package/dist/websocket/notifications/adapters/index.d.ts.map +1 -0
  1533. package/dist/websocket/notifications/adapters/rasa-notifications-hub.d.ts +36 -0
  1534. package/dist/websocket/notifications/adapters/rasa-notifications-hub.d.ts.map +1 -0
  1535. package/dist/websocket/notifications/adapters/rasa-notifications-hub.js +50 -0
  1536. package/dist/websocket/notifications/adapters/rasa-notifications-hub.js.map +1 -0
  1537. package/dist/websocket/notifications/adapters/rasa-notifications.d.ts +24 -0
  1538. package/dist/websocket/notifications/adapters/rasa-notifications.d.ts.map +1 -0
  1539. package/dist/websocket/notifications/adapters/rasa-notifications.js +43 -0
  1540. package/dist/websocket/notifications/adapters/rasa-notifications.js.map +1 -0
  1541. package/dist/websocket/notifications/index.d.ts +3 -1
  1542. package/dist/websocket/notifications/index.d.ts.map +1 -1
  1543. package/dist/websocket/notifications/normalize-notification.d.ts +6 -3
  1544. package/dist/websocket/notifications/normalize-notification.d.ts.map +1 -1
  1545. package/dist/websocket/notifications/normalize-notification.js +10 -7
  1546. package/dist/websocket/notifications/normalize-notification.js.map +1 -1
  1547. package/dist/websocket/notifications/parse-frame-payload.d.ts +7 -0
  1548. package/dist/websocket/notifications/parse-frame-payload.d.ts.map +1 -0
  1549. package/dist/websocket/notifications/parse-frame-payload.js +14 -0
  1550. package/dist/websocket/notifications/parse-frame-payload.js.map +1 -0
  1551. package/dist/websocket/notifications/parse-notification-frame.d.ts +13 -6
  1552. package/dist/websocket/notifications/parse-notification-frame.d.ts.map +1 -1
  1553. package/dist/websocket/notifications/parse-notification-frame.js +7 -16
  1554. package/dist/websocket/notifications/parse-notification-frame.js.map +1 -1
  1555. package/dist/websocket/notifications/to-notifications-error.d.ts +8 -0
  1556. package/dist/websocket/notifications/to-notifications-error.d.ts.map +1 -0
  1557. package/dist/websocket/notifications/to-notifications-error.js +11 -0
  1558. package/dist/websocket/notifications/to-notifications-error.js.map +1 -0
  1559. package/dist/websocket/notifications/types.d.ts +90 -19
  1560. package/dist/websocket/notifications/types.d.ts.map +1 -1
  1561. package/dist/websocket/notifications/types.js.map +1 -1
  1562. package/dist/websocket/notifications/watch-notifications.d.ts +11 -27
  1563. package/dist/websocket/notifications/watch-notifications.d.ts.map +1 -1
  1564. package/dist/websocket/notifications/watch-notifications.js +11 -42
  1565. package/dist/websocket/notifications/watch-notifications.js.map +1 -1
  1566. package/dist/websocket/prices/index.d.ts +3 -0
  1567. package/dist/websocket/prices/index.d.ts.map +1 -1
  1568. package/dist/websocket/prices/parse-binance-price-frame.d.ts +25 -0
  1569. package/dist/websocket/prices/parse-binance-price-frame.d.ts.map +1 -0
  1570. package/dist/websocket/prices/parse-binance-price-frame.js +55 -0
  1571. package/dist/websocket/prices/parse-binance-price-frame.js.map +1 -0
  1572. package/dist/websocket/prices/watch-binance-prices.d.ts +89 -0
  1573. package/dist/websocket/prices/watch-binance-prices.d.ts.map +1 -0
  1574. package/dist/websocket/prices/watch-binance-prices.js +53 -0
  1575. package/dist/websocket/prices/watch-binance-prices.js.map +1 -0
  1576. package/dist/websocket/prices/watch-enigma-prices.d.ts +6 -1
  1577. package/dist/websocket/prices/watch-enigma-prices.d.ts.map +1 -1
  1578. package/dist/websocket/prices/watch-enigma-prices.js +24 -15
  1579. package/dist/websocket/prices/watch-enigma-prices.js.map +1 -1
  1580. package/dist/websocket/prices/watch-prices.d.ts +66 -0
  1581. package/dist/websocket/prices/watch-prices.d.ts.map +1 -0
  1582. package/dist/websocket/prices/watch-prices.js +40 -0
  1583. package/dist/websocket/prices/watch-prices.js.map +1 -0
  1584. package/dist/websocket/tpsl/parse-tpsl-frame.d.ts +1 -1
  1585. package/dist/websocket/tpsl/parse-tpsl-frame.js.map +1 -1
  1586. package/dist/websocket/tpsl/types.d.ts +1 -1
  1587. package/dist/websocket/tpsl/watch-tpsl-notifications.d.ts +1 -1
  1588. package/dist/websocket/tpsl/watch-tpsl-notifications.js +6 -6
  1589. package/dist/websocket/tpsl/watch-tpsl-notifications.js.map +1 -1
  1590. package/package.json +1 -1
  1591. package/dist/solvers/instant-open/get-instant-opens/to-pending-instant-open.d.ts.map +0 -1
  1592. package/dist/solvers/instant-open/get-instant-opens/to-pending-instant-open.js +0 -22
  1593. package/dist/solvers/instant-open/get-instant-opens/to-pending-instant-open.js.map +0 -1
  1594. package/dist/solvers/market-info/to-market-info.d.ts +0 -13
  1595. package/dist/solvers/market-info/to-market-info.d.ts.map +0 -1
  1596. package/dist/solvers/market-info/to-market-info.js +0 -28
  1597. package/dist/solvers/market-info/to-market-info.js.map +0 -1
  1598. package/dist/solvers/notional-cap/to-market-notional-cap.d.ts +0 -9
  1599. package/dist/solvers/notional-cap/to-market-notional-cap.d.ts.map +0 -1
  1600. package/dist/solvers/notional-cap/to-market-notional-cap.js +0 -22
  1601. package/dist/solvers/notional-cap/to-market-notional-cap.js.map +0 -1
  1602. package/dist/websocket/notifications/build-subscribe-message.d.ts +0 -24
  1603. package/dist/websocket/notifications/build-subscribe-message.d.ts.map +0 -1
  1604. package/dist/websocket/notifications/build-subscribe-message.js +0 -17
  1605. package/dist/websocket/notifications/build-subscribe-message.js.map +0 -1
@@ -1,19 +1,37 @@
1
1
  import { SymmApiError as e, SymmError as t } from "../../../shared/errors/symm-error.js";
2
- import { postInstantTradeInstantOpen as n } from "../../types/generated/enigma-solver.js";
3
- import { isAxiosError as r } from "axios";
2
+ import { instantRequestForQuoteWithSignatureInstantTradeOpenPost as n } from "../../types/generated/rasa-solver.js";
3
+ import { postInstantTradeInstantOpen as r } from "../../types/generated/enigma-solver.js";
4
+ import { isAxiosError as i } from "axios";
4
5
  //#region src/solvers/instant-open/shared/hedger-api.ts
5
- async function i(i, a) {
6
- let { solver: o } = i.getChainConfig(a.chainId);
6
+ async function a(n, a) {
7
+ let o = n.getSolver({
8
+ chainId: a.chainId,
9
+ solverId: a.solverId
10
+ });
7
11
  try {
8
- return (await n(a.request, { baseURL: o.url })).data;
12
+ return (await r(a.request, { baseURL: o.url })).data;
9
13
  } catch (n) {
10
- throw n instanceof t ? n : r(n) ? e.fromAxios(n, {
14
+ throw n instanceof t ? n : i(n) ? e.fromAxios(n, {
11
15
  code: "SEND_INSTANT_OPEN_FAILED",
12
16
  baseURL: o.url
13
17
  }) : new t("api", "SEND_INSTANT_OPEN_FAILED", `Failed to send instant open: ${n instanceof Error ? n.message : String(n)}`, { cause: n instanceof Error ? n : void 0 });
14
18
  }
15
19
  }
20
+ async function o(r, a) {
21
+ let o = r.getSolver({
22
+ chainId: a.chainId,
23
+ solverId: a.solverId
24
+ });
25
+ try {
26
+ return (await n({ sendQuote: a.sendQuote }, { baseURL: o.url })).data;
27
+ } catch (n) {
28
+ throw n instanceof t ? n : i(n) ? e.fromAxios(n, {
29
+ code: "SEND_RASA_INSTANT_OPEN_FAILED",
30
+ baseURL: o.url
31
+ }) : new t("api", "SEND_RASA_INSTANT_OPEN_FAILED", `Failed to send Rasa instant open: ${n instanceof Error ? n.message : String(n)}`, { cause: n instanceof Error ? n : void 0 });
32
+ }
33
+ }
16
34
  //#endregion
17
- export { i as sendInstantOpen };
35
+ export { a as sendInstantOpen, o as sendRasaInstantOpen };
18
36
 
19
37
  //# sourceMappingURL=hedger-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hedger-api.js","names":[],"sources":["../../../../src/solvers/instant-open/shared/hedger-api.ts"],"sourcesContent":["import { isAxiosError } from \"axios\";\nimport type { Config } from \"../../../core/config\";\nimport { SymmApiError, SymmError } from \"../../../shared/errors/symm-error\";\nimport type { ChainIdParameter, Compute } from \"../../../shared/types/properties\";\nimport {\n postInstantTradeInstantOpen,\n type ApiPostInstantOpenResponse,\n type ApiV2InstantOpenRequest,\n} from \"../../types/generated/enigma-solver\";\n\n/**\n * Response shape from the hedger's `/instant_trade/instant_open` endpoint.\n *\n * Re-exported from the orval-generated client so consumers can read the raw\n * response without importing the generated module directly.\n */\nexport type SendInstantOpenReturnType = ApiPostInstantOpenResponse;\n\n/**\n * Parameters for {@link sendInstantOpen}.\n */\nexport type SendInstantOpenParameters = Compute<\n ChainIdParameter & {\n /** Pre-signed addMargin + sendQuote payloads (the orval `ApiV2InstantOpenRequest` shape). */\n request: ApiV2InstantOpenRequest;\n }\n>;\n\n/**\n * Submit a v2 instant open request to the chain's hedger.\n *\n * Wraps the orval-generated `postInstantTradeInstantOpen` with the chain's\n * solver/hedger base URL and SDK error wrapping.\n *\n * @throws {SymmApiError} when the hedger request fails.\n * @throws {SymmError} when the chain is unsupported.\n */\nexport async function sendInstantOpen(\n config: Config,\n parameters: SendInstantOpenParameters,\n): Promise<SendInstantOpenReturnType> {\n const { solver } = config.getChainConfig(parameters.chainId);\n try {\n const response = await postInstantTradeInstantOpen(parameters.request, { baseURL: solver.url });\n return response.data;\n } catch (err) {\n if (err instanceof SymmError) throw err;\n\n if (isAxiosError(err)) {\n throw SymmApiError.fromAxios(err, {\n code: \"SEND_INSTANT_OPEN_FAILED\",\n baseURL: solver.url,\n });\n }\n\n throw new SymmError(\n \"api\",\n \"SEND_INSTANT_OPEN_FAILED\",\n `Failed to send instant open: ${err instanceof Error ? err.message : String(err)}`,\n { cause: err instanceof Error ? err : undefined },\n );\n }\n}\n"],"mappings":";;;;AAqCA,eAAsB,EACpB,GACA,GACoC;CACpC,IAAM,EAAE,cAAW,EAAO,eAAe,EAAW,OAAO;CAC3D,IAAI;EAEF,QAAO,MADgB,EAA4B,EAAW,SAAS,EAAE,SAAS,EAAO,IAAI,CAAC,GAC9E;CAClB,SAAS,GAAK;EAUZ,MATI,aAAe,IAAiB,IAEhC,EAAa,CAAG,IACZ,EAAa,UAAU,GAAK;GAChC,MAAM;GACN,SAAS,EAAO;EAClB,CAAC,IAGG,IAAI,EACR,OACA,4BACA,gCAAgC,aAAe,QAAQ,EAAI,UAAU,OAAO,CAAG,KAC/E,EAAE,OAAO,aAAe,QAAQ,IAAM,KAAA,EAAU,CAClD;CACF;AACF"}
1
+ {"version":3,"file":"hedger-api.js","names":[],"sources":["../../../../src/solvers/instant-open/shared/hedger-api.ts"],"sourcesContent":["import { isAxiosError } from \"axios\";\nimport type { Config } from \"../../../core/config\";\nimport { SymmApiError, SymmError } from \"../../../shared/errors/symm-error\";\nimport type { Compute, ReadSolverParameter } from \"../../../shared/types/properties\";\nimport {\n postInstantTradeInstantOpen,\n type ApiPostInstantOpenResponse,\n type ApiV2InstantOpenRequest,\n} from \"../../types/generated/enigma-solver\";\nimport {\n instantRequestForQuoteWithSignatureInstantTradeOpenPost,\n type InstantRFQResponse,\n type InstantOperation as RasaInstantOperation,\n} from \"../../types/generated/rasa-solver\";\nimport type { InstantOperationPayload } from \"./types\";\n\n/**\n * Response shape from the hedger's `/instant_trade/instant_open` endpoint.\n *\n * Re-exported from the orval-generated client so consumers can read the raw\n * response without importing the generated module directly.\n */\nexport type SendInstantOpenReturnType = ApiPostInstantOpenResponse;\n\n/**\n * Parameters for {@link sendInstantOpen}.\n */\nexport type SendInstantOpenParameters = Compute<\n ReadSolverParameter & {\n /** Pre-signed addMargin + sendQuote payloads (the orval `ApiV2InstantOpenRequest` shape). */\n request: ApiV2InstantOpenRequest;\n }\n>;\n\n/**\n * Submit a v2 instant open request to the chain's hedger.\n *\n * Wraps the orval-generated `postInstantTradeInstantOpen` with the chain's\n * solver/hedger base URL and SDK error wrapping.\n *\n * @throws {SymmApiError} when the hedger request fails.\n * @throws {SymmError} when the chain is unsupported.\n */\nexport async function sendInstantOpen(\n config: Config,\n parameters: SendInstantOpenParameters,\n): Promise<SendInstantOpenReturnType> {\n const solver = config.getSolver({ chainId: parameters.chainId, solverId: parameters.solverId });\n try {\n const response = await postInstantTradeInstantOpen(parameters.request, { baseURL: solver.url });\n return response.data;\n } catch (err) {\n if (err instanceof SymmError) throw err;\n\n if (isAxiosError(err)) {\n throw SymmApiError.fromAxios(err, {\n code: \"SEND_INSTANT_OPEN_FAILED\",\n baseURL: solver.url,\n });\n }\n\n throw new SymmError(\n \"api\",\n \"SEND_INSTANT_OPEN_FAILED\",\n `Failed to send instant open: ${err instanceof Error ? err.message : String(err)}`,\n { cause: err instanceof Error ? err : undefined },\n );\n }\n}\n\n/**\n * Response shape from Rasa's `/instant_trade/open` endpoint — the accepted\n * request-for-quote, echoed back in full.\n */\nexport type SendRasaInstantOpenReturnType = InstantRFQResponse;\n\n/**\n * Parameters for {@link sendRasaInstantOpen}.\n */\nexport type SendRasaInstantOpenParameters = Compute<\n ReadSolverParameter & {\n /** The pre-signed `sendQuote` payload. Rasa's flow has no `addMargin` leg. */\n sendQuote: InstantOperationPayload;\n }\n>;\n\n/**\n * Submit a v2 instant open request to a Rasa hedger.\n *\n * Rasa is cross-margin, so the request carries only `sendQuote` — its\n * `addMargin` field is optional and deliberately omitted.\n *\n * @remarks\n * Rasa's OpenAPI spec declares `SignedOperation` **without** `flexFields` /\n * `maxUses` and with a required `nonce`, which does not match what the service\n * actually accepts — the reference implementation posts the same full payload to\n * both solvers in production. The cast below bridges that stale spec; regenerate\n * the client and drop it once the vendor publishes a corrected schema.\n *\n * @throws {SymmApiError} when the hedger request fails.\n * @throws {SymmError} when the chain or solver is unsupported.\n */\nexport async function sendRasaInstantOpen(\n config: Config,\n parameters: SendRasaInstantOpenParameters,\n): Promise<SendRasaInstantOpenReturnType> {\n const solver = config.getSolver({ chainId: parameters.chainId, solverId: parameters.solverId });\n try {\n const response = await instantRequestForQuoteWithSignatureInstantTradeOpenPost(\n { sendQuote: parameters.sendQuote as unknown as RasaInstantOperation },\n { baseURL: solver.url },\n );\n return response.data;\n } catch (err) {\n if (err instanceof SymmError) throw err;\n\n if (isAxiosError(err)) {\n throw SymmApiError.fromAxios(err, {\n code: \"SEND_RASA_INSTANT_OPEN_FAILED\",\n baseURL: solver.url,\n });\n }\n\n throw new SymmError(\n \"api\",\n \"SEND_RASA_INSTANT_OPEN_FAILED\",\n `Failed to send Rasa instant open: ${err instanceof Error ? err.message : String(err)}`,\n { cause: err instanceof Error ? err : undefined },\n );\n }\n}\n"],"mappings":";;;;;AA2CA,eAAsB,EACpB,GACA,GACoC;CACpC,IAAM,IAAS,EAAO,UAAU;EAAE,SAAS,EAAW;EAAS,UAAU,EAAW;CAAS,CAAC;CAC9F,IAAI;EAEF,QAAO,MADgB,EAA4B,EAAW,SAAS,EAAE,SAAS,EAAO,IAAI,CAAC,GAC9E;CAClB,SAAS,GAAK;EAUZ,MATI,aAAe,IAAiB,IAEhC,EAAa,CAAG,IACZ,EAAa,UAAU,GAAK;GAChC,MAAM;GACN,SAAS,EAAO;EAClB,CAAC,IAGG,IAAI,EACR,OACA,4BACA,gCAAgC,aAAe,QAAQ,EAAI,UAAU,OAAO,CAAG,KAC/E,EAAE,OAAO,aAAe,QAAQ,IAAM,KAAA,EAAU,CAClD;CACF;AACF;AAkCA,eAAsB,EACpB,GACA,GACwC;CACxC,IAAM,IAAS,EAAO,UAAU;EAAE,SAAS,EAAW;EAAS,UAAU,EAAW;CAAS,CAAC;CAC9F,IAAI;EAKF,QAAO,MAJgB,EACrB,EAAE,WAAW,EAAW,UAA6C,GACrE,EAAE,SAAS,EAAO,IAAI,CACxB,GACgB;CAClB,SAAS,GAAK;EAUZ,MATI,aAAe,IAAiB,IAEhC,EAAa,CAAG,IACZ,EAAa,UAAU,GAAK;GAChC,MAAM;GACN,SAAS,EAAO;EAClB,CAAC,IAGG,IAAI,EACR,OACA,iCACA,qCAAqC,aAAe,QAAQ,EAAI,UAAU,OAAO,CAAG,KACpF,EAAE,OAAO,aAAe,QAAQ,IAAM,KAAA,EAAU,CAClD;CACF;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { Address, Hex } from 'viem';
2
2
  import { Config, SymmioWalletClient } from '../../../core/config/index.js';
3
- import { InstantOperationPayload, SignedOperation, SignedOperationPayload } from './types.js';
3
+ import { FlexField, InstantOperationPayload, SignedOperation, SignedOperationPayload } from './types.js';
4
4
  /**
5
5
  * Generate a random 32-byte hex salt.
6
6
  *
@@ -27,13 +27,26 @@ export interface BuildSignedOperationParameters {
27
27
  nonce?: bigint;
28
28
  /** Override the random salt. Defaults to a fresh `generateSalt()` result. */
29
29
  salt?: Hex;
30
+ /**
31
+ * Calldata regions an authorized filler may overwrite at execution time.
32
+ * Defaults to `[]` — a fully fixed payload that only the signer's bytes can
33
+ * satisfy.
34
+ *
35
+ * Offsets are **args-relative**: byte offsets into `callData` measured *after*
36
+ * the 4-byte function selector. Build one for the `sendQuote` uPnL signature
37
+ * with {@link sendQuoteUpnlSigFlexRange}.
38
+ */
39
+ flexFields?: readonly FlexField[];
40
+ /** Max executions of this signature. Defaults to `1n` (single use); `0n` is unlimited. */
41
+ maxUses?: bigint;
30
42
  }
31
43
  /**
32
44
  * Build an unsigned {@link SignedOperation} struct.
33
45
  *
34
- * `flexFields` is always empty and `maxUses` is always `1n` for lowcap flows.
35
46
  * Pass `salt` to make the result deterministic in tests; otherwise a random
36
- * 32-byte salt is generated.
47
+ * 32-byte salt is generated. `flexFields` defaults to `[]` and `maxUses` to
48
+ * `1n`; pass them to delegate a calldata region to a solver (see
49
+ * {@link sendQuoteUpnlSigFlexRange}).
37
50
  */
38
51
  export declare function buildSignedOperation(parameters: BuildSignedOperationParameters): SignedOperation;
39
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/solvers/instant-open/shared/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEhG;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,GAAG,CAMlC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,kCAAkC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,oFAAoF;IACpF,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,QAAQ,EAAE,GAAG,CAAC;IACd,oFAAoF;IACpF,aAAa,EAAE,OAAO,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,8BAA8B,GAAG,eAAe,CAiBhG;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,eAAe,GAAG,sBAAsB,CAkB/F;AAED;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,6BAA6B;IAC7B,SAAS,EAAE,eAAe,CAAC;IAC3B,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,uCAAuC,GAClD,OAAO,CAAC,uBAAuB,CAAC,CAOlC"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/solvers/instant-open/shared/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE3G;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,GAAG,CAMlC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,kCAAkC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,oFAAoF;IACpF,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,QAAQ,EAAE,GAAG,CAAC;IACd,oFAAoF;IACpF,aAAa,EAAE,OAAO,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,IAAI,CAAC,EAAE,GAAG,CAAC;IACX;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAClC,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,8BAA8B,GAAG,eAAe,CAiBhG;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,eAAe,GAAG,sBAAsB,CAkB/F;AAED;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,6BAA6B;IAC7B,SAAS,EAAE,eAAe,CAAC;IAC3B,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,uCAAuC,GAClD,OAAO,CAAC,uBAAuB,CAAC,CAOlC"}
@@ -16,8 +16,8 @@ function r(e) {
16
16
  addr: e.signerAccount,
17
17
  isPartyB: !1
18
18
  },
19
- flexFields: [],
20
- maxUses: 1n,
19
+ flexFields: e.flexFields ? [...e.flexFields] : [],
20
+ maxUses: e.maxUses ?? 1n,
21
21
  replayAttackHeader: {
22
22
  nonce: e.nonce ?? 0n,
23
23
  deadline: e.deadline,
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","names":[],"sources":["../../../../src/solvers/instant-open/shared/operations.ts"],"sourcesContent":["import type { Address, Hex } from \"viem\";\nimport type { Config, SymmioWalletClient } from \"../../../core/config\";\nimport { getInstantLayerEip712Domain, signSignedOperation } from \"./eip712\";\nimport type { InstantOperationPayload, SignedOperation, SignedOperationPayload } from \"./types\";\n\n/**\n * Generate a random 32-byte hex salt.\n *\n * Uses `globalThis.crypto.getRandomValues`. Available in modern Node (≥19) and\n * every browser. Caller can pass an explicit `salt` to `buildSignedOperation`\n * for deterministic tests.\n */\nexport function generateSalt(): Hex {\n const bytes = new Uint8Array(32);\n globalThis.crypto.getRandomValues(bytes);\n let hex = \"0x\";\n for (const b of bytes) hex += b.toString(16).padStart(2, \"0\");\n return hex as Hex;\n}\n\n/**\n * Parameters for {@link buildSignedOperation}.\n */\nexport interface BuildSignedOperationParameters {\n /** Session-key signer address. */\n signer: Address;\n /** Contract to call (account-layer for addMargin, symmio diamond for sendQuote). */\n target: Address;\n /** ABI-encoded calldata for the `target` call. */\n callData: Hex;\n /** Sub-account / partyA address (the account whose authority the op runs under). */\n signerAccount: Address;\n /** Unix-seconds deadline. */\n deadline: bigint;\n /** Operation nonce. Defaults to `0n` (single-use). */\n nonce?: bigint;\n /** Override the random salt. Defaults to a fresh `generateSalt()` result. */\n salt?: Hex;\n}\n\n/**\n * Build an unsigned {@link SignedOperation} struct.\n *\n * `flexFields` is always empty and `maxUses` is always `1n` for lowcap flows.\n * Pass `salt` to make the result deterministic in tests; otherwise a random\n * 32-byte salt is generated.\n */\nexport function buildSignedOperation(parameters: BuildSignedOperationParameters): SignedOperation {\n return {\n signer: parameters.signer,\n target: parameters.target,\n callData: parameters.callData,\n signerAccount: {\n addr: parameters.signerAccount,\n isPartyB: false,\n },\n flexFields: [],\n maxUses: 1n,\n replayAttackHeader: {\n nonce: parameters.nonce ?? 0n,\n deadline: parameters.deadline,\n salt: parameters.salt ?? generateSalt(),\n },\n };\n}\n\n/**\n * Serialize a {@link SignedOperation} to the wire-format expected by the hedger\n * REST API.\n *\n * `bigint` fields convert to `number` via `Number()` to match the orval-typed\n * `Eip712SignedOperationJSON` schema. All values used in lowcap flows\n * (`maxUses=1`, `nonce=0`, `deadline≈unix seconds`) fit safely in JS `number`.\n */\nexport function formatSignedOperationPayload(operation: SignedOperation): SignedOperationPayload {\n return {\n signer: operation.signer,\n target: operation.target,\n callData: operation.callData,\n signerAccount: { addr: operation.signerAccount.addr, isPartyB: operation.signerAccount.isPartyB },\n flexFields: operation.flexFields.map((f) => ({\n offset: Number(f.offset),\n length: Number(f.length),\n authorizedFlexFiller: f.authorizedFlexFiller,\n })),\n maxUses: Number(operation.maxUses),\n replayAttackHeader: {\n nonce: Number(operation.replayAttackHeader.nonce),\n deadline: Number(operation.replayAttackHeader.deadline),\n salt: operation.replayAttackHeader.salt,\n },\n };\n}\n\n/**\n * Parameters for {@link signAndFormatInstantOperation}.\n */\nexport interface SignAndFormatInstantOperationParameters {\n /** The operation to sign. */\n operation: SignedOperation;\n /** Optional chain id; defaults to the config's `defaultChainId`. */\n chainId?: number;\n /** Resolved wallet client whose hoisted account performs the EIP-712 signing. */\n walletClient: SymmioWalletClient;\n}\n\n/**\n * EIP-712 sign a {@link SignedOperation} and format it as the API payload\n * `{ signedOperation, signature }`.\n *\n * Domain is resolved from the chain config (`instantLayerEip712Domain` + the\n * chain's `instantLayerAddress` as `verifyingContract`).\n */\nexport async function signAndFormatInstantOperation(\n config: Config,\n parameters: SignAndFormatInstantOperationParameters,\n): Promise<InstantOperationPayload> {\n const domain = getInstantLayerEip712Domain(config, { chainId: parameters.chainId });\n const signature = await signSignedOperation(parameters.operation, domain, parameters.walletClient);\n return {\n signedOperation: formatSignedOperationPayload(parameters.operation),\n signature,\n };\n}\n"],"mappings":";;AAYA,SAAgB,IAAoB;CAClC,IAAM,IAAQ,IAAI,WAAW,EAAE;CAC/B,WAAW,OAAO,gBAAgB,CAAK;CACvC,IAAI,IAAM;CACV,KAAK,IAAM,KAAK,GAAO,KAAO,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;CAC5D,OAAO;AACT;AA6BA,SAAgB,EAAqB,GAA6D;CAChG,OAAO;EACL,QAAQ,EAAW;EACnB,QAAQ,EAAW;EACnB,UAAU,EAAW;EACrB,eAAe;GACb,MAAM,EAAW;GACjB,UAAU;EACZ;EACA,YAAY,CAAC;EACb,SAAS;EACT,oBAAoB;GAClB,OAAO,EAAW,SAAS;GAC3B,UAAU,EAAW;GACrB,MAAM,EAAW,QAAQ,EAAa;EACxC;CACF;AACF;AAUA,SAAgB,EAA6B,GAAoD;CAC/F,OAAO;EACL,QAAQ,EAAU;EAClB,QAAQ,EAAU;EAClB,UAAU,EAAU;EACpB,eAAe;GAAE,MAAM,EAAU,cAAc;GAAM,UAAU,EAAU,cAAc;EAAS;EAChG,YAAY,EAAU,WAAW,KAAK,OAAO;GAC3C,QAAQ,OAAO,EAAE,MAAM;GACvB,QAAQ,OAAO,EAAE,MAAM;GACvB,sBAAsB,EAAE;EAC1B,EAAE;EACF,SAAS,OAAO,EAAU,OAAO;EACjC,oBAAoB;GAClB,OAAO,OAAO,EAAU,mBAAmB,KAAK;GAChD,UAAU,OAAO,EAAU,mBAAmB,QAAQ;GACtD,MAAM,EAAU,mBAAmB;EACrC;CACF;AACF;AAqBA,eAAsB,EACpB,GACA,GACkC;CAClC,IAAM,IAAS,EAA4B,GAAQ,EAAE,SAAS,EAAW,QAAQ,CAAC,GAC5E,IAAY,MAAM,EAAoB,EAAW,WAAW,GAAQ,EAAW,YAAY;CACjG,OAAO;EACL,iBAAiB,EAA6B,EAAW,SAAS;EAClE;CACF;AACF"}
1
+ {"version":3,"file":"operations.js","names":[],"sources":["../../../../src/solvers/instant-open/shared/operations.ts"],"sourcesContent":["import type { Address, Hex } from \"viem\";\nimport type { Config, SymmioWalletClient } from \"../../../core/config\";\nimport { getInstantLayerEip712Domain, signSignedOperation } from \"./eip712\";\nimport type { FlexField, InstantOperationPayload, SignedOperation, SignedOperationPayload } from \"./types\";\n\n/**\n * Generate a random 32-byte hex salt.\n *\n * Uses `globalThis.crypto.getRandomValues`. Available in modern Node (≥19) and\n * every browser. Caller can pass an explicit `salt` to `buildSignedOperation`\n * for deterministic tests.\n */\nexport function generateSalt(): Hex {\n const bytes = new Uint8Array(32);\n globalThis.crypto.getRandomValues(bytes);\n let hex = \"0x\";\n for (const b of bytes) hex += b.toString(16).padStart(2, \"0\");\n return hex as Hex;\n}\n\n/**\n * Parameters for {@link buildSignedOperation}.\n */\nexport interface BuildSignedOperationParameters {\n /** Session-key signer address. */\n signer: Address;\n /** Contract to call (account-layer for addMargin, symmio diamond for sendQuote). */\n target: Address;\n /** ABI-encoded calldata for the `target` call. */\n callData: Hex;\n /** Sub-account / partyA address (the account whose authority the op runs under). */\n signerAccount: Address;\n /** Unix-seconds deadline. */\n deadline: bigint;\n /** Operation nonce. Defaults to `0n` (single-use). */\n nonce?: bigint;\n /** Override the random salt. Defaults to a fresh `generateSalt()` result. */\n salt?: Hex;\n /**\n * Calldata regions an authorized filler may overwrite at execution time.\n * Defaults to `[]` — a fully fixed payload that only the signer's bytes can\n * satisfy.\n *\n * Offsets are **args-relative**: byte offsets into `callData` measured *after*\n * the 4-byte function selector. Build one for the `sendQuote` uPnL signature\n * with {@link sendQuoteUpnlSigFlexRange}.\n */\n flexFields?: readonly FlexField[];\n /** Max executions of this signature. Defaults to `1n` (single use); `0n` is unlimited. */\n maxUses?: bigint;\n}\n\n/**\n * Build an unsigned {@link SignedOperation} struct.\n *\n * Pass `salt` to make the result deterministic in tests; otherwise a random\n * 32-byte salt is generated. `flexFields` defaults to `[]` and `maxUses` to\n * `1n`; pass them to delegate a calldata region to a solver (see\n * {@link sendQuoteUpnlSigFlexRange}).\n */\nexport function buildSignedOperation(parameters: BuildSignedOperationParameters): SignedOperation {\n return {\n signer: parameters.signer,\n target: parameters.target,\n callData: parameters.callData,\n signerAccount: {\n addr: parameters.signerAccount,\n isPartyB: false,\n },\n flexFields: parameters.flexFields ? [...parameters.flexFields] : [],\n maxUses: parameters.maxUses ?? 1n,\n replayAttackHeader: {\n nonce: parameters.nonce ?? 0n,\n deadline: parameters.deadline,\n salt: parameters.salt ?? generateSalt(),\n },\n };\n}\n\n/**\n * Serialize a {@link SignedOperation} to the wire-format expected by the hedger\n * REST API.\n *\n * `bigint` fields convert to `number` via `Number()` to match the orval-typed\n * `Eip712SignedOperationJSON` schema. All values used in lowcap flows\n * (`maxUses=1`, `nonce=0`, `deadline≈unix seconds`) fit safely in JS `number`.\n */\nexport function formatSignedOperationPayload(operation: SignedOperation): SignedOperationPayload {\n return {\n signer: operation.signer,\n target: operation.target,\n callData: operation.callData,\n signerAccount: { addr: operation.signerAccount.addr, isPartyB: operation.signerAccount.isPartyB },\n flexFields: operation.flexFields.map((f) => ({\n offset: Number(f.offset),\n length: Number(f.length),\n authorizedFlexFiller: f.authorizedFlexFiller,\n })),\n maxUses: Number(operation.maxUses),\n replayAttackHeader: {\n nonce: Number(operation.replayAttackHeader.nonce),\n deadline: Number(operation.replayAttackHeader.deadline),\n salt: operation.replayAttackHeader.salt,\n },\n };\n}\n\n/**\n * Parameters for {@link signAndFormatInstantOperation}.\n */\nexport interface SignAndFormatInstantOperationParameters {\n /** The operation to sign. */\n operation: SignedOperation;\n /** Optional chain id; defaults to the config's `defaultChainId`. */\n chainId?: number;\n /** Resolved wallet client whose hoisted account performs the EIP-712 signing. */\n walletClient: SymmioWalletClient;\n}\n\n/**\n * EIP-712 sign a {@link SignedOperation} and format it as the API payload\n * `{ signedOperation, signature }`.\n *\n * Domain is resolved from the chain config (`instantLayerEip712Domain` + the\n * chain's `instantLayerAddress` as `verifyingContract`).\n */\nexport async function signAndFormatInstantOperation(\n config: Config,\n parameters: SignAndFormatInstantOperationParameters,\n): Promise<InstantOperationPayload> {\n const domain = getInstantLayerEip712Domain(config, { chainId: parameters.chainId });\n const signature = await signSignedOperation(parameters.operation, domain, parameters.walletClient);\n return {\n signedOperation: formatSignedOperationPayload(parameters.operation),\n signature,\n };\n}\n"],"mappings":";;AAYA,SAAgB,IAAoB;CAClC,IAAM,IAAQ,IAAI,WAAW,EAAE;CAC/B,WAAW,OAAO,gBAAgB,CAAK;CACvC,IAAI,IAAM;CACV,KAAK,IAAM,KAAK,GAAO,KAAO,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;CAC5D,OAAO;AACT;AA0CA,SAAgB,EAAqB,GAA6D;CAChG,OAAO;EACL,QAAQ,EAAW;EACnB,QAAQ,EAAW;EACnB,UAAU,EAAW;EACrB,eAAe;GACb,MAAM,EAAW;GACjB,UAAU;EACZ;EACA,YAAY,EAAW,aAAa,CAAC,GAAG,EAAW,UAAU,IAAI,CAAC;EAClE,SAAS,EAAW,WAAW;EAC/B,oBAAoB;GAClB,OAAO,EAAW,SAAS;GAC3B,UAAU,EAAW;GACrB,MAAM,EAAW,QAAQ,EAAa;EACxC;CACF;AACF;AAUA,SAAgB,EAA6B,GAAoD;CAC/F,OAAO;EACL,QAAQ,EAAU;EAClB,QAAQ,EAAU;EAClB,UAAU,EAAU;EACpB,eAAe;GAAE,MAAM,EAAU,cAAc;GAAM,UAAU,EAAU,cAAc;EAAS;EAChG,YAAY,EAAU,WAAW,KAAK,OAAO;GAC3C,QAAQ,OAAO,EAAE,MAAM;GACvB,QAAQ,OAAO,EAAE,MAAM;GACvB,sBAAsB,EAAE;EAC1B,EAAE;EACF,SAAS,OAAO,EAAU,OAAO;EACjC,oBAAoB;GAClB,OAAO,OAAO,EAAU,mBAAmB,KAAK;GAChD,UAAU,OAAO,EAAU,mBAAmB,QAAQ;GACtD,MAAM,EAAU,mBAAmB;EACrC;CACF;AACF;AAqBA,eAAsB,EACpB,GACA,GACkC;CAClC,IAAM,IAAS,EAA4B,GAAQ,EAAE,SAAS,EAAW,QAAQ,CAAC,GAC5E,IAAY,MAAM,EAAoB,EAAW,WAAW,GAAQ,EAAW,YAAY;CACjG,OAAO;EACL,iBAAiB,EAA6B,EAAW,SAAS;EAClE;CACF;AACF"}
@@ -1,6 +1,30 @@
1
1
  import { PositionType } from '../../../symmio-contracts/symmio/types.js';
2
2
  import { MarketNotionalCap } from '../../notional-cap/types.js';
3
- import { SymbolContractSymbol } from '../../types/generated/enigma-solver.js';
3
+ /**
4
+ * The constraint fields {@link validateInstantOpenAgainstMarket} reads — the
5
+ * SDK's **normalized** market spelling (a `useMarkets` / `getMarkets` row).
6
+ * Raw wire rows (snake_case `/contract-symbols` payloads) are not accepted:
7
+ * run them through the markets adapter first. One canonical shape keeps a
8
+ * spelling mismatch from ever silently skipping the checks again.
9
+ *
10
+ * Fields are optional structurally; the adapters always populate them, using
11
+ * `"0"` / `0` for constraints the vendor does not publish — the validator
12
+ * treats those sentinels as "unpublished" and skips the check.
13
+ */
14
+ export interface InstantOpenConstraintFields {
15
+ /** Minimum `lf / (cva + lf + partyAmm)` portion (decimal fraction). */
16
+ minAcceptablePortionLf?: string;
17
+ /** Minimum locked-margin sum (decimal string). */
18
+ minAcceptableQuoteValue?: string;
19
+ /** Maximum notional position value. `0` ⇒ unpublished. */
20
+ maxNotionalValue?: number;
21
+ /** Minimum notional position value (decimal string). */
22
+ minNotionalValue?: string;
23
+ /** Maximum order quantity (decimal string). `"0"` ⇒ unpublished. */
24
+ maxQuantity?: string;
25
+ /** Minimum tradable increment (decimal string). */
26
+ lotSize?: string;
27
+ }
4
28
  /**
5
29
  * One reason a candidate instant-open quote violates the market's published
6
30
  * quote constraints. Returned in a list by
@@ -71,8 +95,8 @@ export type QuoteConstraintViolation = {
71
95
  * {@link calculateTradeParams}.
72
96
  */
73
97
  export interface ValidateInstantOpenAgainstMarketParameters {
74
- /** Market metadata carrying the constraint fields. */
75
- market: SymbolContractSymbol;
98
+ /** Market metadata carrying the constraint fields — wire or normalized spelling. */
99
+ market: InstantOpenConstraintFields;
76
100
  /** Final leveraged quote quantity (decimal string, e.g. `"1.25"`). */
77
101
  quantity: string;
78
102
  /** Current mark price (decimal string) — used for the notional bounds. */
@@ -1 +1 @@
1
- {"version":3,"file":"quote-constraints.d.ts","sourceRoot":"","sources":["../../../../src/solvers/instant-open/shared/quote-constraints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAC;CACvB,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,2BAA2B,CAAC;IAClC,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,6BAA6B;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEN;;;;;;;;GAQG;AACH,MAAM,WAAW,0CAA0C;IACzD,sDAAsD;IACtD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IACX,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,gFAAgF;IAChF,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,0DAA0D;AAC1D,MAAM,WAAW,0CAA0C;IACzD,uCAAuC;IACvC,EAAE,EAAE,OAAO,CAAC;IACZ,0EAA0E;IAC1E,UAAU,EAAE,wBAAwB,EAAE,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,0CAA0C,GACrD,0CAA0C,CA8G5C"}
1
+ {"version":3,"file":"quote-constraints.d.ts","sourceRoot":"","sources":["../../../../src/solvers/instant-open/shared/quote-constraints.ts"],"names":[],"mappings":"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"}
@@ -2,66 +2,66 @@ import { checkNotionalCap as e } from "../../notional-cap/check-notional-cap.js"
2
2
  import { toDecimal as t } from "@symmio/utils/decimal";
3
3
  //#region src/solvers/instant-open/shared/quote-constraints.ts
4
4
  function n(n) {
5
- let { market: r, quantity: i, markPrice: a, cva: o, lf: s, partyAmm: c, notionalCap: l, positionType: u } = n, d = [], f = t(o), p = t(s), m = t(c), h = f.plus(p).plus(m), g = r.min_acceptable_portion_lf;
6
- if (g && !h.isZero() && !h.isNaN()) {
7
- let e = p.div(h), n = t(g);
5
+ let { market: r, quantity: i, markPrice: a, cva: o, lf: s, partyAmm: c, notionalCap: l, positionType: u } = n, d = [], f = t(o), p = t(s), m = t(c), h = f.plus(p).plus(m), { minAcceptableQuoteValue: g, maxNotionalValue: _, minNotionalValue: v } = r, y = r.maxQuantity, b = r.lotSize, x = r.minAcceptablePortionLf;
6
+ if (x && !h.isZero() && !h.isNaN()) {
7
+ let e = p.div(h), n = t(x);
8
8
  e.lt(n) && d.push({
9
9
  kind: "LF_PORTION_TOO_LOW",
10
10
  minPortion: n.toString(),
11
11
  actualPortion: e.toString()
12
12
  });
13
13
  }
14
- let _ = r.min_acceptable_quote_value;
15
- if (_) {
16
- let e = t(_);
14
+ let S = g;
15
+ if (S) {
16
+ let e = t(S);
17
17
  h.lt(e) && d.push({
18
18
  kind: "QUOTE_VALUE_TOO_LOW",
19
19
  minQuoteValue: e.toString(),
20
20
  actualQuoteValue: h.toString()
21
21
  });
22
22
  }
23
- let v = t(a).times(i);
24
- if (r.max_notional_value !== void 0) {
25
- let e = t(r.max_notional_value);
26
- v.gt(e) && d.push({
23
+ let C = t(a).times(i);
24
+ if (_ !== void 0 && _ > 0) {
25
+ let e = t(_);
26
+ C.gt(e) && d.push({
27
27
  kind: "NOTIONAL_TOO_HIGH",
28
28
  maxNotional: e.toString(),
29
- actualNotional: v.toString()
29
+ actualNotional: C.toString()
30
30
  });
31
31
  }
32
- if (r.min_notional_value) {
33
- let e = t(r.min_notional_value);
34
- v.lt(e) && d.push({
32
+ if (v) {
33
+ let e = t(v);
34
+ C.lt(e) && d.push({
35
35
  kind: "NOTIONAL_TOO_LOW",
36
36
  minNotional: e.toString(),
37
- actualNotional: v.toString()
37
+ actualNotional: C.toString()
38
38
  });
39
39
  }
40
- let y = t(i);
41
- if (r.max_quantity) {
42
- let e = t(r.max_quantity);
43
- y.gt(e) && d.push({
40
+ let w = t(i);
41
+ if (y) {
42
+ let e = t(y);
43
+ e.gt(0) && w.gt(e) && d.push({
44
44
  kind: "QUANTITY_TOO_HIGH",
45
45
  maxQuantity: e.toString(),
46
- actualQuantity: y.toString()
46
+ actualQuantity: w.toString()
47
47
  });
48
48
  }
49
- if (r.lot_size) {
50
- let e = t(r.lot_size);
51
- e.gt(0) && !e.isNaN() && (y.lt(e) ? d.push({
49
+ if (b) {
50
+ let e = t(b);
51
+ e.gt(0) && !e.isNaN() && (w.lt(e) ? d.push({
52
52
  kind: "QUANTITY_BELOW_LOT_SIZE",
53
53
  lotSize: e.toString(),
54
- actualQuantity: y.toString()
55
- }) : y.mod(e).isZero() || d.push({
54
+ actualQuantity: w.toString()
55
+ }) : w.mod(e).isZero() || d.push({
56
56
  kind: "QUANTITY_NOT_LOT_MULTIPLE",
57
57
  lotSize: e.toString(),
58
- actualQuantity: y.toString()
58
+ actualQuantity: w.toString()
59
59
  }));
60
60
  }
61
61
  if (l && u !== void 0) {
62
62
  let t = e({
63
63
  positionType: u,
64
- notional: v.toString(),
64
+ notional: C.toString(),
65
65
  cap: l
66
66
  });
67
67
  t.ok || d.push({
@@ -1 +1 @@
1
- {"version":3,"file":"quote-constraints.js","names":[],"sources":["../../../../src/solvers/instant-open/shared/quote-constraints.ts"],"sourcesContent":["import { toDecimal } from \"@symmio/utils/decimal\";\nimport type { PositionType } from \"../../../symmio-contracts/symmio/types\";\nimport { checkNotionalCap } from \"../../notional-cap/check-notional-cap\";\nimport type { MarketNotionalCap } from \"../../notional-cap/types\";\nimport type { SymbolContractSymbol } from \"../../types/generated/enigma-solver\";\n\n/**\n * One reason a candidate instant-open quote violates the market's published\n * quote constraints. Returned in a list by\n * {@link validateInstantOpenAgainstMarket} so UIs can render the full set of\n * problems in one pass instead of fixing-and-resubmitting.\n *\n * All numeric fields are decimal strings (no rounding hop) so callers can\n * format them however they like.\n */\nexport type QuoteConstraintViolation =\n | {\n kind: \"LF_PORTION_TOO_LOW\";\n /** Market's `min_acceptable_portion_lf` (decimal fraction, e.g. `\"0.1\"`). */\n minPortion: string;\n /** Actual `lf / (cva + lf + partyAmm)` for the supplied locked margins. */\n actualPortion: string;\n }\n | {\n kind: \"QUOTE_VALUE_TOO_LOW\";\n /** Market's `min_acceptable_quote_value`. */\n minQuoteValue: string;\n /** Total locked margin `cva + lf + partyAmm` from {@link calculateTradeParams}. */\n actualQuoteValue: string;\n }\n | {\n kind: \"NOTIONAL_TOO_HIGH\";\n /** Market's `max_notional_value`. */\n maxNotional: string;\n /** `markPrice × quantity`. */\n actualNotional: string;\n }\n | {\n kind: \"NOTIONAL_TOO_LOW\";\n /** Market's `min_notional_value`. */\n minNotional: string;\n /** `markPrice × quantity`. */\n actualNotional: string;\n }\n | {\n kind: \"QUANTITY_TOO_HIGH\";\n /** Market's `max_quantity`. */\n maxQuantity: string;\n /** Final leveraged quantity. */\n actualQuantity: string;\n }\n | {\n kind: \"QUANTITY_BELOW_LOT_SIZE\";\n /** Market's `lot_size` — the smallest tradable quantity. */\n lotSize: string;\n /** Final leveraged quantity. */\n actualQuantity: string;\n }\n | {\n kind: \"QUANTITY_NOT_LOT_MULTIPLE\";\n /** Market's `lot_size` — quantity must be an integer multiple of this step. */\n lotSize: string;\n /** Final leveraged quantity. */\n actualQuantity: string;\n }\n | {\n kind: \"CAP_REACHED\";\n /** Side the trade was on. */\n side: PositionType;\n /** Available liquidity on that side, dollars (decimal string). */\n available: string;\n /** Requested notional, dollars (decimal string). */\n actualNotional: string;\n };\n\n/**\n * Inputs to {@link validateInstantOpenAgainstMarket}.\n *\n * All numeric fields are decimal strings (matching the shape that\n * `calculateTradeParams` returns) so callers don't need to convert to wei\n * before validating. `market` comes from `getMarkets` (`/contract-symbols`);\n * `cva` / `lf` / `partyAmm` / `quantity` come straight off\n * {@link calculateTradeParams}.\n */\nexport interface ValidateInstantOpenAgainstMarketParameters {\n /** Market metadata carrying the constraint fields. */\n market: SymbolContractSymbol;\n /** Final leveraged quote quantity (decimal string, e.g. `\"1.25\"`). */\n quantity: string;\n /** Current mark price (decimal string) — used for the notional bounds. */\n markPrice: string;\n /** CVA locked margin from {@link calculateTradeParams} (decimal string). */\n cva: string;\n /** LF locked margin from {@link calculateTradeParams} (decimal string). */\n lf: string;\n /** PartyA maintenance margin from {@link calculateTradeParams} (decimal string). */\n partyAmm: string;\n /**\n * Optional solver-side liquidity cap for the market. When provided alongside\n * {@link positionType}, the validator rejects trades whose notional exceeds\n * the chosen side's available liquidity (`CAP_REACHED`). When the cap carries\n * a non-null `error`, the check is skipped.\n */\n notionalCap?: MarketNotionalCap;\n /** Side of the candidate trade — required for the {@link notionalCap} check. */\n positionType?: PositionType;\n}\n\n/** Result of {@link validateInstantOpenAgainstMarket}. */\nexport interface ValidateInstantOpenAgainstMarketReturnType {\n /** `true` when no violations fired. */\n ok: boolean;\n /** Every violation the candidate quote hit; empty when `ok` is `true`. */\n violations: QuoteConstraintViolation[];\n}\n\n/**\n * Check a candidate instant-open quote against the market's published quote\n * constraints. Each constraint is independent and skipped when the market\n * doesn't publish that field, so a partial constraint set (e.g. a market\n * without `max_quantity`) still validates the rest.\n *\n * Constraints (each maps to a {@link QuoteConstraintViolation}):\n * - **`min_acceptable_portion_lf`** — `lf / (cva + lf + partyAmm)` must be at\n * least the published minimum.\n * - **`min_acceptable_quote_value`** — the locked-margin sum\n * `cva + lf + partyAmm` must clear the floor.\n * - **`max_notional_value`** — `markPrice × quantity` must be at most the cap.\n * - **`min_notional_value`** — `markPrice × quantity` must clear the floor.\n * - **`max_quantity`** — `quantity` must be at most the cap.\n * - **`lot_size`** — `quantity` must be at least `lot_size` and an integer\n * multiple of it (e.g. lot_size `0.2` allows 0.2, 0.4, 0.6, … but not 0.3).\n *\n * @example\n * ```ts\n * const trade = calculateTradeParams({ ... });\n * if (!trade) return;\n * const { ok, violations } = validateInstantOpenAgainstMarket({\n * market,\n * quantity: trade.quantity,\n * markPrice,\n * cva: trade.cva,\n * lf: trade.lf,\n * partyAmm: trade.partyAmm,\n * });\n * if (!ok) {\n * // render `violations` to the user; don't call `instantOpen`.\n * }\n * ```\n */\nexport function validateInstantOpenAgainstMarket(\n parameters: ValidateInstantOpenAgainstMarketParameters,\n): ValidateInstantOpenAgainstMarketReturnType {\n const { market, quantity, markPrice, cva, lf, partyAmm, notionalCap, positionType } = parameters;\n const violations: QuoteConstraintViolation[] = [];\n\n const cvaDec = toDecimal(cva);\n const lfDec = toDecimal(lf);\n const partyAmmDec = toDecimal(partyAmm);\n const lockedSum = cvaDec.plus(lfDec).plus(partyAmmDec);\n\n // 1. LF portion = lf / (cva + lf + partyAmm).\n const minPortionStr = market.min_acceptable_portion_lf;\n if (minPortionStr && !lockedSum.isZero() && !lockedSum.isNaN()) {\n const actualPortion = lfDec.div(lockedSum);\n const minPortion = toDecimal(minPortionStr);\n if (actualPortion.lt(minPortion)) {\n violations.push({\n kind: \"LF_PORTION_TOO_LOW\",\n minPortion: minPortion.toString(),\n actualPortion: actualPortion.toString(),\n });\n }\n }\n\n // 2. min_acceptable_quote_value — compare against locked-margin sum.\n const minQuoteValueStr = market.min_acceptable_quote_value;\n if (minQuoteValueStr) {\n const minQuoteValue = toDecimal(minQuoteValueStr);\n if (lockedSum.lt(minQuoteValue)) {\n violations.push({\n kind: \"QUOTE_VALUE_TOO_LOW\",\n minQuoteValue: minQuoteValue.toString(),\n actualQuoteValue: lockedSum.toString(),\n });\n }\n }\n\n // 3 & 4. Notional bounds use markPrice × quantity.\n const notional = toDecimal(markPrice).times(quantity);\n if (market.max_notional_value !== undefined) {\n const maxNotional = toDecimal(market.max_notional_value);\n if (notional.gt(maxNotional)) {\n violations.push({\n kind: \"NOTIONAL_TOO_HIGH\",\n maxNotional: maxNotional.toString(),\n actualNotional: notional.toString(),\n });\n }\n }\n if (market.min_notional_value) {\n const minNotional = toDecimal(market.min_notional_value);\n if (notional.lt(minNotional)) {\n violations.push({\n kind: \"NOTIONAL_TOO_LOW\",\n minNotional: minNotional.toString(),\n actualNotional: notional.toString(),\n });\n }\n }\n\n // 5. max_quantity.\n const actualQuantity = toDecimal(quantity);\n if (market.max_quantity) {\n const maxQuantity = toDecimal(market.max_quantity);\n if (actualQuantity.gt(maxQuantity)) {\n violations.push({\n kind: \"QUANTITY_TOO_HIGH\",\n maxQuantity: maxQuantity.toString(),\n actualQuantity: actualQuantity.toString(),\n });\n }\n }\n\n // 6. lot_size — quantity must be ≥ lot_size AND an exact integer multiple.\n // Skip the multiple-of check when below the minimum so the user sees one\n // clear error at a time.\n if (market.lot_size) {\n const lotSize = toDecimal(market.lot_size);\n if (lotSize.gt(0) && !lotSize.isNaN()) {\n if (actualQuantity.lt(lotSize)) {\n violations.push({\n kind: \"QUANTITY_BELOW_LOT_SIZE\",\n lotSize: lotSize.toString(),\n actualQuantity: actualQuantity.toString(),\n });\n } else if (!actualQuantity.mod(lotSize).isZero()) {\n violations.push({\n kind: \"QUANTITY_NOT_LOT_MULTIPLE\",\n lotSize: lotSize.toString(),\n actualQuantity: actualQuantity.toString(),\n });\n }\n }\n }\n\n // 7. Solver-side available liquidity for the chosen side. Delegates to\n // {@link checkNotionalCap} so the rule stays consistent with the standalone\n // pre-trade check.\n if (notionalCap && positionType !== undefined) {\n const result = checkNotionalCap({ positionType, notional: notional.toString(), cap: notionalCap });\n if (!result.ok) {\n violations.push({\n kind: \"CAP_REACHED\",\n side: result.side,\n available: String(result.available),\n actualNotional: result.requestedNotional,\n });\n }\n }\n\n return { ok: violations.length === 0, violations };\n}\n"],"mappings":";;;AAsJA,SAAgB,EACd,GAC4C;CAC5C,IAAM,EAAE,WAAQ,aAAU,cAAW,QAAK,OAAI,aAAU,gBAAa,oBAAiB,GAChF,IAAyC,CAAC,GAE1C,IAAS,EAAU,CAAG,GACtB,IAAQ,EAAU,CAAE,GACpB,IAAc,EAAU,CAAQ,GAChC,IAAY,EAAO,KAAK,CAAK,EAAE,KAAK,CAAW,GAG/C,IAAgB,EAAO;CAC7B,IAAI,KAAiB,CAAC,EAAU,OAAO,KAAK,CAAC,EAAU,MAAM,GAAG;EAC9D,IAAM,IAAgB,EAAM,IAAI,CAAS,GACnC,IAAa,EAAU,CAAa;EAC1C,AAAI,EAAc,GAAG,CAAU,KAC7B,EAAW,KAAK;GACd,MAAM;GACN,YAAY,EAAW,SAAS;GAChC,eAAe,EAAc,SAAS;EACxC,CAAC;CAEL;CAGA,IAAM,IAAmB,EAAO;CAChC,IAAI,GAAkB;EACpB,IAAM,IAAgB,EAAU,CAAgB;EAChD,AAAI,EAAU,GAAG,CAAa,KAC5B,EAAW,KAAK;GACd,MAAM;GACN,eAAe,EAAc,SAAS;GACtC,kBAAkB,EAAU,SAAS;EACvC,CAAC;CAEL;CAGA,IAAM,IAAW,EAAU,CAAS,EAAE,MAAM,CAAQ;CACpD,IAAI,EAAO,uBAAuB,KAAA,GAAW;EAC3C,IAAM,IAAc,EAAU,EAAO,kBAAkB;EACvD,AAAI,EAAS,GAAG,CAAW,KACzB,EAAW,KAAK;GACd,MAAM;GACN,aAAa,EAAY,SAAS;GAClC,gBAAgB,EAAS,SAAS;EACpC,CAAC;CAEL;CACA,IAAI,EAAO,oBAAoB;EAC7B,IAAM,IAAc,EAAU,EAAO,kBAAkB;EACvD,AAAI,EAAS,GAAG,CAAW,KACzB,EAAW,KAAK;GACd,MAAM;GACN,aAAa,EAAY,SAAS;GAClC,gBAAgB,EAAS,SAAS;EACpC,CAAC;CAEL;CAGA,IAAM,IAAiB,EAAU,CAAQ;CACzC,IAAI,EAAO,cAAc;EACvB,IAAM,IAAc,EAAU,EAAO,YAAY;EACjD,AAAI,EAAe,GAAG,CAAW,KAC/B,EAAW,KAAK;GACd,MAAM;GACN,aAAa,EAAY,SAAS;GAClC,gBAAgB,EAAe,SAAS;EAC1C,CAAC;CAEL;CAKA,IAAI,EAAO,UAAU;EACnB,IAAM,IAAU,EAAU,EAAO,QAAQ;EACzC,AAAI,EAAQ,GAAG,CAAC,KAAK,CAAC,EAAQ,MAAM,MAC9B,EAAe,GAAG,CAAO,IAC3B,EAAW,KAAK;GACd,MAAM;GACN,SAAS,EAAQ,SAAS;GAC1B,gBAAgB,EAAe,SAAS;EAC1C,CAAC,IACS,EAAe,IAAI,CAAO,EAAE,OAAO,KAC7C,EAAW,KAAK;GACd,MAAM;GACN,SAAS,EAAQ,SAAS;GAC1B,gBAAgB,EAAe,SAAS;EAC1C,CAAC;CAGP;CAKA,IAAI,KAAe,MAAiB,KAAA,GAAW;EAC7C,IAAM,IAAS,EAAiB;GAAE;GAAc,UAAU,EAAS,SAAS;GAAG,KAAK;EAAY,CAAC;EACjG,AAAK,EAAO,MACV,EAAW,KAAK;GACd,MAAM;GACN,MAAM,EAAO;GACb,WAAW,OAAO,EAAO,SAAS;GAClC,gBAAgB,EAAO;EACzB,CAAC;CAEL;CAEA,OAAO;EAAE,IAAI,EAAW,WAAW;EAAG;CAAW;AACnD"}
1
+ {"version":3,"file":"quote-constraints.js","names":[],"sources":["../../../../src/solvers/instant-open/shared/quote-constraints.ts"],"sourcesContent":["import { toDecimal } from \"@symmio/utils/decimal\";\nimport type { PositionType } from \"../../../symmio-contracts/symmio/types\";\nimport { checkNotionalCap } from \"../../notional-cap/check-notional-cap\";\nimport type { MarketNotionalCap } from \"../../notional-cap/types\";\n\n/**\n * The constraint fields {@link validateInstantOpenAgainstMarket} reads — the\n * SDK's **normalized** market spelling (a `useMarkets` / `getMarkets` row).\n * Raw wire rows (snake_case `/contract-symbols` payloads) are not accepted:\n * run them through the markets adapter first. One canonical shape keeps a\n * spelling mismatch from ever silently skipping the checks again.\n *\n * Fields are optional structurally; the adapters always populate them, using\n * `\"0\"` / `0` for constraints the vendor does not publish — the validator\n * treats those sentinels as \"unpublished\" and skips the check.\n */\nexport interface InstantOpenConstraintFields {\n /** Minimum `lf / (cva + lf + partyAmm)` portion (decimal fraction). */\n minAcceptablePortionLf?: string;\n /** Minimum locked-margin sum (decimal string). */\n minAcceptableQuoteValue?: string;\n /** Maximum notional position value. `0` ⇒ unpublished. */\n maxNotionalValue?: number;\n /** Minimum notional position value (decimal string). */\n minNotionalValue?: string;\n /** Maximum order quantity (decimal string). `\"0\"` ⇒ unpublished. */\n maxQuantity?: string;\n /** Minimum tradable increment (decimal string). */\n lotSize?: string;\n}\n\n/**\n * One reason a candidate instant-open quote violates the market's published\n * quote constraints. Returned in a list by\n * {@link validateInstantOpenAgainstMarket} so UIs can render the full set of\n * problems in one pass instead of fixing-and-resubmitting.\n *\n * All numeric fields are decimal strings (no rounding hop) so callers can\n * format them however they like.\n */\nexport type QuoteConstraintViolation =\n | {\n kind: \"LF_PORTION_TOO_LOW\";\n /** Market's `min_acceptable_portion_lf` (decimal fraction, e.g. `\"0.1\"`). */\n minPortion: string;\n /** Actual `lf / (cva + lf + partyAmm)` for the supplied locked margins. */\n actualPortion: string;\n }\n | {\n kind: \"QUOTE_VALUE_TOO_LOW\";\n /** Market's `min_acceptable_quote_value`. */\n minQuoteValue: string;\n /** Total locked margin `cva + lf + partyAmm` from {@link calculateTradeParams}. */\n actualQuoteValue: string;\n }\n | {\n kind: \"NOTIONAL_TOO_HIGH\";\n /** Market's `max_notional_value`. */\n maxNotional: string;\n /** `markPrice × quantity`. */\n actualNotional: string;\n }\n | {\n kind: \"NOTIONAL_TOO_LOW\";\n /** Market's `min_notional_value`. */\n minNotional: string;\n /** `markPrice × quantity`. */\n actualNotional: string;\n }\n | {\n kind: \"QUANTITY_TOO_HIGH\";\n /** Market's `max_quantity`. */\n maxQuantity: string;\n /** Final leveraged quantity. */\n actualQuantity: string;\n }\n | {\n kind: \"QUANTITY_BELOW_LOT_SIZE\";\n /** Market's `lot_size` — the smallest tradable quantity. */\n lotSize: string;\n /** Final leveraged quantity. */\n actualQuantity: string;\n }\n | {\n kind: \"QUANTITY_NOT_LOT_MULTIPLE\";\n /** Market's `lot_size` — quantity must be an integer multiple of this step. */\n lotSize: string;\n /** Final leveraged quantity. */\n actualQuantity: string;\n }\n | {\n kind: \"CAP_REACHED\";\n /** Side the trade was on. */\n side: PositionType;\n /** Available liquidity on that side, dollars (decimal string). */\n available: string;\n /** Requested notional, dollars (decimal string). */\n actualNotional: string;\n };\n\n/**\n * Inputs to {@link validateInstantOpenAgainstMarket}.\n *\n * All numeric fields are decimal strings (matching the shape that\n * `calculateTradeParams` returns) so callers don't need to convert to wei\n * before validating. `market` comes from `getMarkets` (`/contract-symbols`);\n * `cva` / `lf` / `partyAmm` / `quantity` come straight off\n * {@link calculateTradeParams}.\n */\nexport interface ValidateInstantOpenAgainstMarketParameters {\n /** Market metadata carrying the constraint fields — wire or normalized spelling. */\n market: InstantOpenConstraintFields;\n /** Final leveraged quote quantity (decimal string, e.g. `\"1.25\"`). */\n quantity: string;\n /** Current mark price (decimal string) — used for the notional bounds. */\n markPrice: string;\n /** CVA locked margin from {@link calculateTradeParams} (decimal string). */\n cva: string;\n /** LF locked margin from {@link calculateTradeParams} (decimal string). */\n lf: string;\n /** PartyA maintenance margin from {@link calculateTradeParams} (decimal string). */\n partyAmm: string;\n /**\n * Optional solver-side liquidity cap for the market. When provided alongside\n * {@link positionType}, the validator rejects trades whose notional exceeds\n * the chosen side's available liquidity (`CAP_REACHED`). When the cap carries\n * a non-null `error`, the check is skipped.\n */\n notionalCap?: MarketNotionalCap;\n /** Side of the candidate trade — required for the {@link notionalCap} check. */\n positionType?: PositionType;\n}\n\n/** Result of {@link validateInstantOpenAgainstMarket}. */\nexport interface ValidateInstantOpenAgainstMarketReturnType {\n /** `true` when no violations fired. */\n ok: boolean;\n /** Every violation the candidate quote hit; empty when `ok` is `true`. */\n violations: QuoteConstraintViolation[];\n}\n\n/**\n * Check a candidate instant-open quote against the market's published quote\n * constraints. Each constraint is independent and skipped when the market\n * doesn't publish that field, so a partial constraint set (e.g. a market\n * without `max_quantity`) still validates the rest.\n *\n * Constraints (each maps to a {@link QuoteConstraintViolation}):\n * - **`min_acceptable_portion_lf`** — `lf / (cva + lf + partyAmm)` must be at\n * least the published minimum.\n * - **`min_acceptable_quote_value`** — the locked-margin sum\n * `cva + lf + partyAmm` must clear the floor.\n * - **`max_notional_value`** — `markPrice × quantity` must be at most the cap.\n * - **`min_notional_value`** — `markPrice × quantity` must clear the floor.\n * - **`max_quantity`** — `quantity` must be at most the cap.\n * - **`lot_size`** — `quantity` must be at least `lot_size` and an integer\n * multiple of it (e.g. lot_size `0.2` allows 0.2, 0.4, 0.6, … but not 0.3).\n *\n * @example\n * ```ts\n * const trade = calculateTradeParams({ ... });\n * if (!trade) return;\n * const { ok, violations } = validateInstantOpenAgainstMarket({\n * market,\n * quantity: trade.quantity,\n * markPrice,\n * cva: trade.cva,\n * lf: trade.lf,\n * partyAmm: trade.partyAmm,\n * });\n * if (!ok) {\n * // render `violations` to the user; don't call `instantOpen`.\n * }\n * ```\n */\nexport function validateInstantOpenAgainstMarket(\n parameters: ValidateInstantOpenAgainstMarketParameters,\n): ValidateInstantOpenAgainstMarketReturnType {\n const { market, quantity, markPrice, cva, lf, partyAmm, notionalCap, positionType } = parameters;\n const violations: QuoteConstraintViolation[] = [];\n\n const cvaDec = toDecimal(cva);\n const lfDec = toDecimal(lf);\n const partyAmmDec = toDecimal(partyAmm);\n const lockedSum = cvaDec.plus(lfDec).plus(partyAmmDec);\n\n const { minAcceptableQuoteValue, maxNotionalValue, minNotionalValue } = market;\n const maxQuantityValue = market.maxQuantity;\n const lotSizeValue = market.lotSize;\n\n // 1. LF portion = lf / (cva + lf + partyAmm).\n const minPortionStr = market.minAcceptablePortionLf;\n if (minPortionStr && !lockedSum.isZero() && !lockedSum.isNaN()) {\n const actualPortion = lfDec.div(lockedSum);\n const minPortion = toDecimal(minPortionStr);\n if (actualPortion.lt(minPortion)) {\n violations.push({\n kind: \"LF_PORTION_TOO_LOW\",\n minPortion: minPortion.toString(),\n actualPortion: actualPortion.toString(),\n });\n }\n }\n\n // 2. min_acceptable_quote_value — compare against locked-margin sum.\n const minQuoteValueStr = minAcceptableQuoteValue;\n if (minQuoteValueStr) {\n const minQuoteValue = toDecimal(minQuoteValueStr);\n if (lockedSum.lt(minQuoteValue)) {\n violations.push({\n kind: \"QUOTE_VALUE_TOO_LOW\",\n minQuoteValue: minQuoteValue.toString(),\n actualQuoteValue: lockedSum.toString(),\n });\n }\n }\n\n // 3 & 4. Notional bounds use markPrice × quantity.\n const notional = toDecimal(markPrice).times(quantity);\n // The adapters emit `0` for a cap the vendor does not publish — skip it.\n if (maxNotionalValue !== undefined && maxNotionalValue > 0) {\n const maxNotional = toDecimal(maxNotionalValue);\n if (notional.gt(maxNotional)) {\n violations.push({\n kind: \"NOTIONAL_TOO_HIGH\",\n maxNotional: maxNotional.toString(),\n actualNotional: notional.toString(),\n });\n }\n }\n if (minNotionalValue) {\n const minNotional = toDecimal(minNotionalValue);\n if (notional.lt(minNotional)) {\n violations.push({\n kind: \"NOTIONAL_TOO_LOW\",\n minNotional: minNotional.toString(),\n actualNotional: notional.toString(),\n });\n }\n }\n\n // 5. max_quantity.\n const actualQuantity = toDecimal(quantity);\n // `\"0\"` ⇒ the vendor publishes no quantity cap — skip it.\n if (maxQuantityValue) {\n const maxQuantity = toDecimal(maxQuantityValue);\n if (maxQuantity.gt(0) && actualQuantity.gt(maxQuantity)) {\n violations.push({\n kind: \"QUANTITY_TOO_HIGH\",\n maxQuantity: maxQuantity.toString(),\n actualQuantity: actualQuantity.toString(),\n });\n }\n }\n\n // 6. lot_size — quantity must be ≥ lot_size AND an exact integer multiple.\n // Skip the multiple-of check when below the minimum so the user sees one\n // clear error at a time.\n if (lotSizeValue) {\n const lotSize = toDecimal(lotSizeValue);\n if (lotSize.gt(0) && !lotSize.isNaN()) {\n if (actualQuantity.lt(lotSize)) {\n violations.push({\n kind: \"QUANTITY_BELOW_LOT_SIZE\",\n lotSize: lotSize.toString(),\n actualQuantity: actualQuantity.toString(),\n });\n } else if (!actualQuantity.mod(lotSize).isZero()) {\n violations.push({\n kind: \"QUANTITY_NOT_LOT_MULTIPLE\",\n lotSize: lotSize.toString(),\n actualQuantity: actualQuantity.toString(),\n });\n }\n }\n }\n\n // 7. Solver-side available liquidity for the chosen side. Delegates to\n // {@link checkNotionalCap} so the rule stays consistent with the standalone\n // pre-trade check.\n if (notionalCap && positionType !== undefined) {\n const result = checkNotionalCap({ positionType, notional: notional.toString(), cap: notionalCap });\n if (!result.ok) {\n violations.push({\n kind: \"CAP_REACHED\",\n side: result.side,\n available: String(result.available),\n actualNotional: result.requestedNotional,\n });\n }\n }\n\n return { ok: violations.length === 0, violations };\n}\n"],"mappings":";;;AA+KA,SAAgB,EACd,GAC4C;CAC5C,IAAM,EAAE,WAAQ,aAAU,cAAW,QAAK,OAAI,aAAU,gBAAa,oBAAiB,GAChF,IAAyC,CAAC,GAE1C,IAAS,EAAU,CAAG,GACtB,IAAQ,EAAU,CAAE,GACpB,IAAc,EAAU,CAAQ,GAChC,IAAY,EAAO,KAAK,CAAK,EAAE,KAAK,CAAW,GAE/C,EAAE,4BAAyB,qBAAkB,wBAAqB,GAClE,IAAmB,EAAO,aAC1B,IAAe,EAAO,SAGtB,IAAgB,EAAO;CAC7B,IAAI,KAAiB,CAAC,EAAU,OAAO,KAAK,CAAC,EAAU,MAAM,GAAG;EAC9D,IAAM,IAAgB,EAAM,IAAI,CAAS,GACnC,IAAa,EAAU,CAAa;EAC1C,AAAI,EAAc,GAAG,CAAU,KAC7B,EAAW,KAAK;GACd,MAAM;GACN,YAAY,EAAW,SAAS;GAChC,eAAe,EAAc,SAAS;EACxC,CAAC;CAEL;CAGA,IAAM,IAAmB;CACzB,IAAI,GAAkB;EACpB,IAAM,IAAgB,EAAU,CAAgB;EAChD,AAAI,EAAU,GAAG,CAAa,KAC5B,EAAW,KAAK;GACd,MAAM;GACN,eAAe,EAAc,SAAS;GACtC,kBAAkB,EAAU,SAAS;EACvC,CAAC;CAEL;CAGA,IAAM,IAAW,EAAU,CAAS,EAAE,MAAM,CAAQ;CAEpD,IAAI,MAAqB,KAAA,KAAa,IAAmB,GAAG;EAC1D,IAAM,IAAc,EAAU,CAAgB;EAC9C,AAAI,EAAS,GAAG,CAAW,KACzB,EAAW,KAAK;GACd,MAAM;GACN,aAAa,EAAY,SAAS;GAClC,gBAAgB,EAAS,SAAS;EACpC,CAAC;CAEL;CACA,IAAI,GAAkB;EACpB,IAAM,IAAc,EAAU,CAAgB;EAC9C,AAAI,EAAS,GAAG,CAAW,KACzB,EAAW,KAAK;GACd,MAAM;GACN,aAAa,EAAY,SAAS;GAClC,gBAAgB,EAAS,SAAS;EACpC,CAAC;CAEL;CAGA,IAAM,IAAiB,EAAU,CAAQ;CAEzC,IAAI,GAAkB;EACpB,IAAM,IAAc,EAAU,CAAgB;EAC9C,AAAI,EAAY,GAAG,CAAC,KAAK,EAAe,GAAG,CAAW,KACpD,EAAW,KAAK;GACd,MAAM;GACN,aAAa,EAAY,SAAS;GAClC,gBAAgB,EAAe,SAAS;EAC1C,CAAC;CAEL;CAKA,IAAI,GAAc;EAChB,IAAM,IAAU,EAAU,CAAY;EACtC,AAAI,EAAQ,GAAG,CAAC,KAAK,CAAC,EAAQ,MAAM,MAC9B,EAAe,GAAG,CAAO,IAC3B,EAAW,KAAK;GACd,MAAM;GACN,SAAS,EAAQ,SAAS;GAC1B,gBAAgB,EAAe,SAAS;EAC1C,CAAC,IACS,EAAe,IAAI,CAAO,EAAE,OAAO,KAC7C,EAAW,KAAK;GACd,MAAM;GACN,SAAS,EAAQ,SAAS;GAC1B,gBAAgB,EAAe,SAAS;EAC1C,CAAC;CAGP;CAKA,IAAI,KAAe,MAAiB,KAAA,GAAW;EAC7C,IAAM,IAAS,EAAiB;GAAE;GAAc,UAAU,EAAS,SAAS;GAAG,KAAK;EAAY,CAAC;EACjG,AAAK,EAAO,MACV,EAAW,KAAK;GACd,MAAM;GACN,MAAM,EAAO;GACb,WAAW,OAAO,EAAO,SAAS;GAClC,gBAAgB,EAAO;EACzB,CAAC;CAEL;CAEA,OAAO;EAAE,IAAI,EAAW,WAAW;EAAG;CAAW;AACnD"}
@@ -9,6 +9,17 @@ export declare const MARKET_ORDER_DEADLINE_SECONDS = 300n;
9
9
  * @param now - Optional override for `Math.floor(Date.now() / 1000)`. Useful for tests.
10
10
  */
11
11
  export declare function getMarketOrderDeadline(now?: bigint): bigint;
12
+ /**
13
+ * Unix-seconds remaining for a LIMIT-order deadline (15 minutes). A resting
14
+ * limit order lives longer than a market fill, so it gets a wider window.
15
+ */
16
+ export declare const LIMIT_ORDER_DEADLINE_SECONDS = 900n;
17
+ /**
18
+ * Compute a unix-seconds `deadline` for a LIMIT order (default 15 minutes).
19
+ *
20
+ * @param now - Optional override for `Math.floor(Date.now() / 1000)`. Useful for tests.
21
+ */
22
+ export declare function getLimitOrderDeadline(now?: bigint): bigint;
12
23
  /**
13
24
  * Parameters for {@link calculateTradeParams}.
14
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"trade-math.d.ts","sourceRoot":"","sources":["../../../../src/solvers/instant-open/shared/trade-math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trade-math.d.ts","sourceRoot":"","sources":["../../../../src/solvers/instant-open/shared/trade-math.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,11 @@ var i = 300n;
5
5
  function a(e) {
6
6
  return (e ?? BigInt(Math.floor(Date.now() / 1e3))) + i;
7
7
  }
8
- function o(n) {
8
+ var o = 900n;
9
+ function s(e) {
10
+ return (e ?? BigInt(Math.floor(Date.now() / 1e3))) + o;
11
+ }
12
+ function c(n) {
9
13
  let { markPrice: i, slippage: a, positionType: o, userInput: s, inputField: c, leverage: l, pricePrecision: u, quantityPrecision: d, cvaPercent: f, lfPercent: p, partyAmmPercent: m, partyBmmPercent: h } = n, g = r(i);
10
14
  if (g.isZero() || g.isNaN()) return null;
11
15
  let _ = r(s);
@@ -23,24 +27,24 @@ function o(n) {
23
27
  partyBmm: T
24
28
  };
25
29
  }
26
- function s(t) {
30
+ function l(t) {
27
31
  let { positionType: n, markPrice: i, quantityBasic: a, cva: o, lf: s, partyAmm: c, cvaPercent: l, lfPercent: u, partyAmmPercent: d, platformFee: f } = t;
28
32
  if (n === e.LONG) return r(o).plus(s).plus(c).plus(f).toString();
29
33
  let p = r(i), m = r(a).times(p).toString(), h = r(m).times(r(l)).div(100).toString(), g = r(m).times(r(u)).div(100).toString(), _ = r(m).times(r(d)).div(100).toString();
30
34
  return r(h).plus(g).plus(_).plus(f).toString();
31
35
  }
32
- function c(e, t, n) {
36
+ function u(e, t, n) {
33
37
  let i = r(e.openFee.toString()).times(t), a = r(e.closeFee.toString()).times(n);
34
38
  return i.plus(a).div(r("1e18")).toString();
35
39
  }
36
- function l(e) {
40
+ function d(e) {
37
41
  return BigInt(n(e).toFixed(0, t.ROUND_DOWN));
38
42
  }
39
- function u(t) {
43
+ function f(t) {
40
44
  let { balance: n, openFee: r, closeFee: i, slippageFractionWei: a, leverage: o, positionType: s } = t, c = 10n ** 18n, l = s === e.SHORT ? a >= c ? 0n : c - a : c, u = BigInt(o) * (r + i), d = u >= c ? 0n : c - u;
41
45
  return n * l / c * d / c;
42
46
  }
43
47
  //#endregion
44
- export { i as MARKET_ORDER_DEADLINE_SECONDS, u as calculateAvailableInstantOpenMargin, s as calculateMargin, o as calculateTradeParams, c as computePlatformFee, a as getMarketOrderDeadline, l as toWeiBigInt };
48
+ export { i as MARKET_ORDER_DEADLINE_SECONDS, f as calculateAvailableInstantOpenMargin, l as calculateMargin, c as calculateTradeParams, u as computePlatformFee, s as getLimitOrderDeadline, a as getMarketOrderDeadline, d as toWeiBigInt };
45
49
 
46
50
  //# sourceMappingURL=trade-math.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trade-math.js","names":[],"sources":["../../../../src/solvers/instant-open/shared/trade-math.ts"],"sourcesContent":["import { parseEther, RoundingMode, toDecimal } from \"@symmio/utils/decimal\";\nimport { PositionType } from \"./types\";\n\n/**\n * Unix-seconds remaining for a MARKET-order deadline (5 minutes).\n */\nexport const MARKET_ORDER_DEADLINE_SECONDS = 300n;\n\n/**\n * Compute a unix-seconds `deadline` for a MARKET order.\n *\n * @param now - Optional override for `Math.floor(Date.now() / 1000)`. Useful for tests.\n */\nexport function getMarketOrderDeadline(now?: bigint): bigint {\n const base = now ?? BigInt(Math.floor(Date.now() / 1000));\n return base + MARKET_ORDER_DEADLINE_SECONDS;\n}\n\n/**\n * Parameters for {@link calculateTradeParams}.\n */\nexport interface CalculateTradeParamsParameters {\n /** Mark price as decimal string (e.g. `\"50123.45\"`). */\n markPrice: string;\n /** Slippage percent (e.g. `5` for 5%). */\n slippage: number;\n /** Position side: `\"LONG\"` or `\"SHORT\"`. */\n positionType: PositionType;\n /** User input as decimal string. Interpreted as collateral when `inputField === \"PRICE\"`. */\n userInput: string;\n /** Input mode. `\"PRICE\"` = userInput is USD collateral; `\"TOKEN\"` = userInput is base token amount. */\n inputField: \"PRICE\" | \"TOKEN\";\n /** Position leverage (integer ≥ 1). */\n leverage: number;\n /** Price precision (decimals). */\n pricePrecision: number;\n /** Quantity precision (decimals). */\n quantityPrecision: number;\n /** Solver locked-param percentages (e.g. `\"0.02\"` for 2%). */\n cvaPercent?: string;\n /** Solver locked-param percentages (e.g. `\"0.01\"` for 1%). */\n lfPercent?: string;\n /** Solver locked-param percentages. */\n partyAmmPercent?: string;\n /** Solver locked-param percentages. */\n partyBmmPercent?: string;\n}\n\n/**\n * Return type of {@link calculateTradeParams}.\n *\n * All values are decimal strings. Convert to 18-decimal `bigint` with\n * `parseEther(...).toFixed(0)` (or {@link toWeiBigInt}) before passing to a\n * contract call.\n */\nexport interface CalculateTradeParamsReturnType {\n /** Open price with slippage applied, trimmed to `pricePrecision`. */\n requestedOpenPrice: string;\n /** Base quantity (no leverage), trimmed to `quantityPrecision`. */\n quantityBasic: string;\n /** Leveraged quantity (`quantityBasic × leverage`), trimmed to `quantityPrecision`. */\n quantity: string;\n /** Base notional (`quantityBasic × requestedOpenPrice`). */\n notionalBasic: string;\n /** Leveraged notional (`notionalBasic × leverage`). */\n notional: string;\n /** CVA locked margin (`notionalBasic × cvaPercent / 100`). */\n cva: string;\n /** LF locked margin (`notionalBasic × lfPercent / 100`). */\n lf: string;\n /** PartyA maintenance margin. */\n partyAmm: string;\n /** PartyB maintenance margin. */\n partyBmm: string;\n}\n\n/**\n * Pure trade-parameters calculator for lowcap MARKET orders.\n *\n * Steps:\n * 1. `requestedOpenPrice = markPrice × (1 ± slippage/100)` trimmed to `pricePrecision`.\n * 2. `quantityBasic = userInput / requestedOpenPrice` (when `inputField === \"PRICE\"`) or\n * `userInput` (when `inputField === \"TOKEN\"`) trimmed to `quantityPrecision`.\n * 3. `notionalBasic = quantityBasic × requestedOpenPrice`.\n * 4. `cva / lf / partyAmm / partyBmm = notionalBasic × percent / 100`.\n * 5. `quantity = quantityBasic × leverage` trimmed to `quantityPrecision`.\n * 6. `notional = notionalBasic × leverage`.\n *\n * @returns `null` when `markPrice` is zero/NaN or `userInput` is invalid.\n */\nexport function calculateTradeParams(\n parameters: CalculateTradeParamsParameters,\n): CalculateTradeParamsReturnType | null {\n const {\n markPrice,\n slippage,\n positionType,\n userInput,\n inputField,\n leverage,\n pricePrecision,\n quantityPrecision,\n cvaPercent,\n lfPercent,\n partyAmmPercent,\n partyBmmPercent,\n } = parameters;\n\n const markPriceDec = toDecimal(markPrice);\n if (markPriceDec.isZero() || markPriceDec.isNaN()) return null;\n const userInputDec = toDecimal(userInput);\n if (userInputDec.isZero() || userInputDec.isNaN()) return null;\n\n const signedSlippage = positionType === PositionType.SHORT ? slippage : -slippage;\n const slippageFactor = toDecimal(100 - signedSlippage).div(100);\n const requestedOpenPrice = markPriceDec.times(slippageFactor).toFixed(pricePrecision, RoundingMode.ROUND_DOWN);\n\n const quantityBasic =\n inputField === \"PRICE\"\n ? userInputDec.div(requestedOpenPrice).toFixed(quantityPrecision, RoundingMode.ROUND_DOWN)\n : userInputDec.toFixed(quantityPrecision, RoundingMode.ROUND_DOWN);\n\n const notionalBasic = toDecimal(quantityBasic).times(requestedOpenPrice).toString();\n const cva = toDecimal(notionalBasic).times(toDecimal(cvaPercent)).div(100).toString();\n const lf = toDecimal(notionalBasic).times(toDecimal(lfPercent)).div(100).toString();\n const partyAmm = toDecimal(notionalBasic).times(toDecimal(partyAmmPercent)).div(100).toString();\n const partyBmm = toDecimal(notionalBasic).times(toDecimal(partyBmmPercent)).div(100).toString();\n\n const quantity = toDecimal(quantityBasic).times(leverage).toFixed(quantityPrecision, RoundingMode.ROUND_DOWN);\n const notional = toDecimal(notionalBasic).times(leverage).toString();\n\n return {\n requestedOpenPrice,\n quantityBasic,\n quantity,\n notionalBasic,\n notional,\n cva,\n lf,\n partyAmm,\n partyBmm,\n };\n}\n\n/**\n * Parameters for {@link calculateMargin}.\n */\nexport interface CalculateMarginParameters {\n /** Position side. */\n positionType: PositionType;\n /** Mark price (decimal string). */\n markPrice: string;\n /** Base quantity from {@link calculateTradeParams}. */\n quantityBasic: string;\n /** CVA from {@link calculateTradeParams}. */\n cva: string;\n /** LF from {@link calculateTradeParams}. */\n lf: string;\n /** PartyA maintenance margin from {@link calculateTradeParams}. */\n partyAmm: string;\n /** Solver locked-param percents (passed when recomputing for SHORT). */\n cvaPercent?: string;\n /** Solver locked-param percents. */\n lfPercent?: string;\n /** Solver locked-param percents. */\n partyAmmPercent?: string;\n /** On-chain platform fee as decimal string (from {@link computePlatformFee}). */\n platformFee: string;\n}\n\n/**\n * Compute the `addMargin` amount for lowcap isolation.\n *\n * - **LONG**: `margin = cva + lf + partyAmm + platformFee`.\n * - **SHORT**: recompute the locked values at `markPrice`,\n * then sum + `platformFee`.\n *\n * @returns Margin as decimal string.\n */\nexport function calculateMargin(parameters: CalculateMarginParameters): string {\n const {\n positionType,\n markPrice,\n quantityBasic,\n cva,\n lf,\n partyAmm,\n cvaPercent,\n lfPercent,\n partyAmmPercent,\n platformFee,\n } = parameters;\n\n if (positionType === PositionType.LONG) {\n return toDecimal(cva).plus(lf).plus(partyAmm).plus(platformFee).toString();\n }\n\n const marginPrice = toDecimal(markPrice);\n const notionalBasicMargin = toDecimal(quantityBasic).times(marginPrice).toString();\n const cvaMargin = toDecimal(notionalBasicMargin).times(toDecimal(cvaPercent)).div(100).toString();\n const lfMargin = toDecimal(notionalBasicMargin).times(toDecimal(lfPercent)).div(100).toString();\n const partyAmmMargin = toDecimal(notionalBasicMargin).times(toDecimal(partyAmmPercent)).div(100).toString();\n\n return toDecimal(cvaMargin).plus(lfMargin).plus(partyAmmMargin).plus(platformFee).toString();\n}\n\n/**\n * On-chain `getFeeForUser` result, in 18-decimal fixed-point.\n */\nexport interface ComputePlatformFeeRates {\n /** Open fee rate as 18-decimal `bigint`. */\n openFee: bigint;\n /** Close fee rate as 18-decimal `bigint`. */\n closeFee: bigint;\n}\n\n/**\n * Compute the total platform fee for an open + close round trip.\n *\n * `(openFee × initialNotional + closeFee × closeNotional) / 1e18`.\n *\n * @param rates - Fee rates from `getFeeForUser`.\n * @param initialNotional - Notional at open, decimal string.\n * @param closeNotional - Notional at close, decimal string.\n * @returns Total fee as decimal string.\n */\nexport function computePlatformFee(\n rates: ComputePlatformFeeRates,\n initialNotional: string,\n closeNotional: string,\n): string {\n const open = toDecimal(rates.openFee.toString()).times(initialNotional);\n const close = toDecimal(rates.closeFee.toString()).times(closeNotional);\n return open.plus(close).div(toDecimal(\"1e18\")).toString();\n}\n\n/**\n * Convert a decimal string to an 18-decimal-fixed-point `bigint`.\n *\n * Wrapper over `parseEther` from `@symmio/utils/decimal` that returns\n * the wei value as `bigint` (truncated, no rounding) suitable for contract calls.\n */\nexport function toWeiBigInt(value: string): bigint {\n return BigInt(parseEther(value).toFixed(0, RoundingMode.ROUND_DOWN));\n}\n\n/**\n * Inputs for {@link calculateAvailableInstantOpenMargin}. All amounts are\n * 18-decimal wei / fixed-point.\n */\nexport interface CalculateAvailableInstantOpenMarginParameters {\n /** SubAccount available (deallocated) balance from `getAccountBalanceOf`; 1e18-scaled. */\n balance: bigint;\n /** Open fee rate (18-decimal fixed-point) from `getFeeForUser`. */\n openFee: bigint;\n /** Close fee rate (18-decimal fixed-point) from `getFeeForUser`. */\n closeFee: bigint;\n /** Slippage as an 18-decimal fraction (5% → `5n * 10n ** 16n`). */\n slippageFractionWei: bigint;\n /** Requested leverage (integer ≥ 1). */\n leverage: number;\n /** LONG skips the slippage cap; SHORT applies it. */\n positionType: PositionType;\n}\n\n/**\n * Maximum initial margin an instant open can spend. Shaves the raw available\n * balance for fees (both sides, charged on the leveraged notional) and — for\n * SHORT only — a worst-case slippage-fill buffer. Pure `bigint`; clamps to `0n`.\n *\n * ```text\n * available = balance\n * × max(0, 1 − slippageFactor) // SHORT: slippage, LONG: 0\n * × max(0, 1 − leverage × (openFee + closeFee))\n * ```\n *\n * A SHORT sizes quantity off `requestOpenPrice = markPrice × (1 − s)` (below\n * mark), so a worse fill inflates notional by up to `1 / (1 − s)`; capping usable\n * balance at `balance × (1 − s)` covers it. A LONG sets the request above mark,\n * so fills deflate notional and need no cap.\n *\n * @returns spendable margin in 18-decimal wei.\n * @example\n * ```ts\n * const max = calculateAvailableInstantOpenMargin({\n * balance,\n * openFee,\n * closeFee,\n * slippageFractionWei: 5n * 10n ** 16n, // 5%\n * leverage: 10,\n * positionType: PositionType.SHORT,\n * });\n * ```\n */\nexport function calculateAvailableInstantOpenMargin(parameters: CalculateAvailableInstantOpenMarginParameters): bigint {\n const { balance, openFee, closeFee, slippageFractionWei, leverage, positionType } = parameters;\n const ONE_E18 = 10n ** 18n;\n\n const slippageMultiplier =\n positionType === PositionType.SHORT\n ? slippageFractionWei >= ONE_E18\n ? 0n\n : ONE_E18 - slippageFractionWei\n : ONE_E18;\n\n const leverageScaled = BigInt(leverage) * (openFee + closeFee);\n const feeMultiplier = leverageScaled >= ONE_E18 ? 0n : ONE_E18 - leverageScaled;\n\n const afterSlippage = (balance * slippageMultiplier) / ONE_E18;\n return (afterSlippage * feeMultiplier) / ONE_E18;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"trade-math.js","names":[],"sources":["../../../../src/solvers/instant-open/shared/trade-math.ts"],"sourcesContent":["import { parseEther, RoundingMode, toDecimal } from \"@symmio/utils/decimal\";\nimport { PositionType } from \"./types\";\n\n/**\n * Unix-seconds remaining for a MARKET-order deadline (5 minutes).\n */\nexport const MARKET_ORDER_DEADLINE_SECONDS = 300n;\n\n/**\n * Compute a unix-seconds `deadline` for a MARKET order.\n *\n * @param now - Optional override for `Math.floor(Date.now() / 1000)`. Useful for tests.\n */\nexport function getMarketOrderDeadline(now?: bigint): bigint {\n const base = now ?? BigInt(Math.floor(Date.now() / 1000));\n return base + MARKET_ORDER_DEADLINE_SECONDS;\n}\n\n/**\n * Unix-seconds remaining for a LIMIT-order deadline (15 minutes). A resting\n * limit order lives longer than a market fill, so it gets a wider window.\n */\nexport const LIMIT_ORDER_DEADLINE_SECONDS = 900n;\n\n/**\n * Compute a unix-seconds `deadline` for a LIMIT order (default 15 minutes).\n *\n * @param now - Optional override for `Math.floor(Date.now() / 1000)`. Useful for tests.\n */\nexport function getLimitOrderDeadline(now?: bigint): bigint {\n const base = now ?? BigInt(Math.floor(Date.now() / 1000));\n return base + LIMIT_ORDER_DEADLINE_SECONDS;\n}\n\n/**\n * Parameters for {@link calculateTradeParams}.\n */\nexport interface CalculateTradeParamsParameters {\n /** Mark price as decimal string (e.g. `\"50123.45\"`). */\n markPrice: string;\n /** Slippage percent (e.g. `5` for 5%). */\n slippage: number;\n /** Position side: `\"LONG\"` or `\"SHORT\"`. */\n positionType: PositionType;\n /** User input as decimal string. Interpreted as collateral when `inputField === \"PRICE\"`. */\n userInput: string;\n /** Input mode. `\"PRICE\"` = userInput is USD collateral; `\"TOKEN\"` = userInput is base token amount. */\n inputField: \"PRICE\" | \"TOKEN\";\n /** Position leverage (integer ≥ 1). */\n leverage: number;\n /** Price precision (decimals). */\n pricePrecision: number;\n /** Quantity precision (decimals). */\n quantityPrecision: number;\n /** Solver locked-param percentages (e.g. `\"0.02\"` for 2%). */\n cvaPercent?: string;\n /** Solver locked-param percentages (e.g. `\"0.01\"` for 1%). */\n lfPercent?: string;\n /** Solver locked-param percentages. */\n partyAmmPercent?: string;\n /** Solver locked-param percentages. */\n partyBmmPercent?: string;\n}\n\n/**\n * Return type of {@link calculateTradeParams}.\n *\n * All values are decimal strings. Convert to 18-decimal `bigint` with\n * `parseEther(...).toFixed(0)` (or {@link toWeiBigInt}) before passing to a\n * contract call.\n */\nexport interface CalculateTradeParamsReturnType {\n /** Open price with slippage applied, trimmed to `pricePrecision`. */\n requestedOpenPrice: string;\n /** Base quantity (no leverage), trimmed to `quantityPrecision`. */\n quantityBasic: string;\n /** Leveraged quantity (`quantityBasic × leverage`), trimmed to `quantityPrecision`. */\n quantity: string;\n /** Base notional (`quantityBasic × requestedOpenPrice`). */\n notionalBasic: string;\n /** Leveraged notional (`notionalBasic × leverage`). */\n notional: string;\n /** CVA locked margin (`notionalBasic × cvaPercent / 100`). */\n cva: string;\n /** LF locked margin (`notionalBasic × lfPercent / 100`). */\n lf: string;\n /** PartyA maintenance margin. */\n partyAmm: string;\n /** PartyB maintenance margin. */\n partyBmm: string;\n}\n\n/**\n * Pure trade-parameters calculator for lowcap MARKET orders.\n *\n * Steps:\n * 1. `requestedOpenPrice = markPrice × (1 ± slippage/100)` trimmed to `pricePrecision`.\n * 2. `quantityBasic = userInput / requestedOpenPrice` (when `inputField === \"PRICE\"`) or\n * `userInput` (when `inputField === \"TOKEN\"`) trimmed to `quantityPrecision`.\n * 3. `notionalBasic = quantityBasic × requestedOpenPrice`.\n * 4. `cva / lf / partyAmm / partyBmm = notionalBasic × percent / 100`.\n * 5. `quantity = quantityBasic × leverage` trimmed to `quantityPrecision`.\n * 6. `notional = notionalBasic × leverage`.\n *\n * @returns `null` when `markPrice` is zero/NaN or `userInput` is invalid.\n */\nexport function calculateTradeParams(\n parameters: CalculateTradeParamsParameters,\n): CalculateTradeParamsReturnType | null {\n const {\n markPrice,\n slippage,\n positionType,\n userInput,\n inputField,\n leverage,\n pricePrecision,\n quantityPrecision,\n cvaPercent,\n lfPercent,\n partyAmmPercent,\n partyBmmPercent,\n } = parameters;\n\n const markPriceDec = toDecimal(markPrice);\n if (markPriceDec.isZero() || markPriceDec.isNaN()) return null;\n const userInputDec = toDecimal(userInput);\n if (userInputDec.isZero() || userInputDec.isNaN()) return null;\n\n const signedSlippage = positionType === PositionType.SHORT ? slippage : -slippage;\n const slippageFactor = toDecimal(100 - signedSlippage).div(100);\n const requestedOpenPrice = markPriceDec.times(slippageFactor).toFixed(pricePrecision, RoundingMode.ROUND_DOWN);\n\n const quantityBasic =\n inputField === \"PRICE\"\n ? userInputDec.div(requestedOpenPrice).toFixed(quantityPrecision, RoundingMode.ROUND_DOWN)\n : userInputDec.toFixed(quantityPrecision, RoundingMode.ROUND_DOWN);\n\n const notionalBasic = toDecimal(quantityBasic).times(requestedOpenPrice).toString();\n const cva = toDecimal(notionalBasic).times(toDecimal(cvaPercent)).div(100).toString();\n const lf = toDecimal(notionalBasic).times(toDecimal(lfPercent)).div(100).toString();\n const partyAmm = toDecimal(notionalBasic).times(toDecimal(partyAmmPercent)).div(100).toString();\n const partyBmm = toDecimal(notionalBasic).times(toDecimal(partyBmmPercent)).div(100).toString();\n\n const quantity = toDecimal(quantityBasic).times(leverage).toFixed(quantityPrecision, RoundingMode.ROUND_DOWN);\n const notional = toDecimal(notionalBasic).times(leverage).toString();\n\n return {\n requestedOpenPrice,\n quantityBasic,\n quantity,\n notionalBasic,\n notional,\n cva,\n lf,\n partyAmm,\n partyBmm,\n };\n}\n\n/**\n * Parameters for {@link calculateMargin}.\n */\nexport interface CalculateMarginParameters {\n /** Position side. */\n positionType: PositionType;\n /** Mark price (decimal string). */\n markPrice: string;\n /** Base quantity from {@link calculateTradeParams}. */\n quantityBasic: string;\n /** CVA from {@link calculateTradeParams}. */\n cva: string;\n /** LF from {@link calculateTradeParams}. */\n lf: string;\n /** PartyA maintenance margin from {@link calculateTradeParams}. */\n partyAmm: string;\n /** Solver locked-param percents (passed when recomputing for SHORT). */\n cvaPercent?: string;\n /** Solver locked-param percents. */\n lfPercent?: string;\n /** Solver locked-param percents. */\n partyAmmPercent?: string;\n /** On-chain platform fee as decimal string (from {@link computePlatformFee}). */\n platformFee: string;\n}\n\n/**\n * Compute the `addMargin` amount for lowcap isolation.\n *\n * - **LONG**: `margin = cva + lf + partyAmm + platformFee`.\n * - **SHORT**: recompute the locked values at `markPrice`,\n * then sum + `platformFee`.\n *\n * @returns Margin as decimal string.\n */\nexport function calculateMargin(parameters: CalculateMarginParameters): string {\n const {\n positionType,\n markPrice,\n quantityBasic,\n cva,\n lf,\n partyAmm,\n cvaPercent,\n lfPercent,\n partyAmmPercent,\n platformFee,\n } = parameters;\n\n if (positionType === PositionType.LONG) {\n return toDecimal(cva).plus(lf).plus(partyAmm).plus(platformFee).toString();\n }\n\n const marginPrice = toDecimal(markPrice);\n const notionalBasicMargin = toDecimal(quantityBasic).times(marginPrice).toString();\n const cvaMargin = toDecimal(notionalBasicMargin).times(toDecimal(cvaPercent)).div(100).toString();\n const lfMargin = toDecimal(notionalBasicMargin).times(toDecimal(lfPercent)).div(100).toString();\n const partyAmmMargin = toDecimal(notionalBasicMargin).times(toDecimal(partyAmmPercent)).div(100).toString();\n\n return toDecimal(cvaMargin).plus(lfMargin).plus(partyAmmMargin).plus(platformFee).toString();\n}\n\n/**\n * On-chain `getFeeForUser` result, in 18-decimal fixed-point.\n */\nexport interface ComputePlatformFeeRates {\n /** Open fee rate as 18-decimal `bigint`. */\n openFee: bigint;\n /** Close fee rate as 18-decimal `bigint`. */\n closeFee: bigint;\n}\n\n/**\n * Compute the total platform fee for an open + close round trip.\n *\n * `(openFee × initialNotional + closeFee × closeNotional) / 1e18`.\n *\n * @param rates - Fee rates from `getFeeForUser`.\n * @param initialNotional - Notional at open, decimal string.\n * @param closeNotional - Notional at close, decimal string.\n * @returns Total fee as decimal string.\n */\nexport function computePlatformFee(\n rates: ComputePlatformFeeRates,\n initialNotional: string,\n closeNotional: string,\n): string {\n const open = toDecimal(rates.openFee.toString()).times(initialNotional);\n const close = toDecimal(rates.closeFee.toString()).times(closeNotional);\n return open.plus(close).div(toDecimal(\"1e18\")).toString();\n}\n\n/**\n * Convert a decimal string to an 18-decimal-fixed-point `bigint`.\n *\n * Wrapper over `parseEther` from `@symmio/utils/decimal` that returns\n * the wei value as `bigint` (truncated, no rounding) suitable for contract calls.\n */\nexport function toWeiBigInt(value: string): bigint {\n return BigInt(parseEther(value).toFixed(0, RoundingMode.ROUND_DOWN));\n}\n\n/**\n * Inputs for {@link calculateAvailableInstantOpenMargin}. All amounts are\n * 18-decimal wei / fixed-point.\n */\nexport interface CalculateAvailableInstantOpenMarginParameters {\n /** SubAccount available (deallocated) balance from `getAccountBalanceOf`; 1e18-scaled. */\n balance: bigint;\n /** Open fee rate (18-decimal fixed-point) from `getFeeForUser`. */\n openFee: bigint;\n /** Close fee rate (18-decimal fixed-point) from `getFeeForUser`. */\n closeFee: bigint;\n /** Slippage as an 18-decimal fraction (5% → `5n * 10n ** 16n`). */\n slippageFractionWei: bigint;\n /** Requested leverage (integer ≥ 1). */\n leverage: number;\n /** LONG skips the slippage cap; SHORT applies it. */\n positionType: PositionType;\n}\n\n/**\n * Maximum initial margin an instant open can spend. Shaves the raw available\n * balance for fees (both sides, charged on the leveraged notional) and — for\n * SHORT only — a worst-case slippage-fill buffer. Pure `bigint`; clamps to `0n`.\n *\n * ```text\n * available = balance\n * × max(0, 1 − slippageFactor) // SHORT: slippage, LONG: 0\n * × max(0, 1 − leverage × (openFee + closeFee))\n * ```\n *\n * A SHORT sizes quantity off `requestOpenPrice = markPrice × (1 − s)` (below\n * mark), so a worse fill inflates notional by up to `1 / (1 − s)`; capping usable\n * balance at `balance × (1 − s)` covers it. A LONG sets the request above mark,\n * so fills deflate notional and need no cap.\n *\n * @returns spendable margin in 18-decimal wei.\n * @example\n * ```ts\n * const max = calculateAvailableInstantOpenMargin({\n * balance,\n * openFee,\n * closeFee,\n * slippageFractionWei: 5n * 10n ** 16n, // 5%\n * leverage: 10,\n * positionType: PositionType.SHORT,\n * });\n * ```\n */\nexport function calculateAvailableInstantOpenMargin(parameters: CalculateAvailableInstantOpenMarginParameters): bigint {\n const { balance, openFee, closeFee, slippageFractionWei, leverage, positionType } = parameters;\n const ONE_E18 = 10n ** 18n;\n\n const slippageMultiplier =\n positionType === PositionType.SHORT\n ? slippageFractionWei >= ONE_E18\n ? 0n\n : ONE_E18 - slippageFractionWei\n : ONE_E18;\n\n const leverageScaled = BigInt(leverage) * (openFee + closeFee);\n const feeMultiplier = leverageScaled >= ONE_E18 ? 0n : ONE_E18 - leverageScaled;\n\n const afterSlippage = (balance * slippageMultiplier) / ONE_E18;\n return (afterSlippage * feeMultiplier) / ONE_E18;\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Address, Hex } from 'viem';
2
2
  import { InstantLayerAccount } from '../../../symmio-contracts/instant-layer/types.js';
3
- import { PositionType } from '../../../symmio-contracts/symmio/types.js';
3
+ import { PositionType, SingleUpnlAndPriceSig } from '../../../symmio-contracts/symmio/types.js';
4
4
  /**
5
5
  * Re-export the canonical trade-side enum (defined in
6
6
  * `symmio-contracts/symmio/types.ts`) so the instant-open slice has one place
@@ -10,6 +10,10 @@ import { PositionType } from '../../../symmio-contracts/symmio/types.js';
10
10
  export { PositionType };
11
11
  /** Contract enum value for MARKET orders. */
12
12
  export declare const ORDER_TYPE_MARKET: 1;
13
+ /** Contract enum value for LIMIT orders (majors / rasa only). */
14
+ export declare const ORDER_TYPE_LIMIT: 0;
15
+ /** Order type sent to the hedger: `ORDER_TYPE_MARKET` (instant) or `ORDER_TYPE_LIMIT`. */
16
+ export type SolverOrderType = typeof ORDER_TYPE_MARKET | typeof ORDER_TYPE_LIMIT;
13
17
  /**
14
18
  * Virtual-account isolation type values used by `addMarginToNextVA`.
15
19
  *
@@ -51,29 +55,14 @@ export declare function isolationTypeForSide(positionType: PositionType): Virtua
51
55
  * Muon oracle signature accepted by `sendQuoteWithAffiliateAndData`.
52
56
  *
53
57
  * For lowcap flows, pass `ZERO_UPNL_SIG` or build a placeholder with
54
- * `getFakeSendQuoteMuonSignature`.
58
+ * `getFakeSendQuoteMuonSignature`. Solvers that enforce Muon verification
59
+ * (Rasa / majors) need a live attestation from `getSendQuoteUpnlSig`.
60
+ *
61
+ * @deprecated Renamed to {@link SingleUpnlAndPriceSig} to match the on-chain
62
+ * struct name. This alias is kept for one release and will be removed in the
63
+ * next major.
55
64
  */
56
- export interface UpnlSig {
57
- /** Request id (typically `0x` for lowcap). */
58
- reqId: Hex;
59
- /** Unix-seconds timestamp. */
60
- timestamp: bigint;
61
- /** Signed unrealized PnL. */
62
- upnl: bigint;
63
- /** Mark price encoded as 18-decimal fixed point. */
64
- price: bigint;
65
- /** Gateway signature bytes. */
66
- gatewaySignature: Hex;
67
- /** Inner Muon signature tuple. */
68
- sigs: {
69
- /** Aggregated signature scalar. */
70
- signature: bigint;
71
- /** Owner address. */
72
- owner: Address;
73
- /** Nonce address. */
74
- nonce: Address;
75
- };
76
- }
65
+ export type UpnlSig = SingleUpnlAndPriceSig;
77
66
  /**
78
67
  * InstantLayer EIP-712 `ReplayAttackHeader` struct.
79
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/solvers/instant-open/shared/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/solvers/instant-open/shared/types.ts"],"names":[],"mappings":"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"}