@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
@@ -0,0 +1,38 @@
1
+ import { PositionType as e } from "../../symmio-contracts/symmio/types.js";
2
+ import { mulWei as t } from "../../shared/utils/wei.js";
3
+ import { sharePercent as n } from "../../shared/utils/percent.js";
4
+ import { settledOpenPriceOf as r } from "../open-price.js";
5
+ import { isActivePosition as i } from "./partition-quotes.js";
6
+ //#region src/quotes/grouping/aggregate-group-upnl.ts
7
+ function a(e) {
8
+ if (e.quantity <= 0n) return 0n;
9
+ let t = e.initialLockedValues ?? e.lockedValues;
10
+ return (t.cva + t.lf + t.partyAmm + t.partyBmm) * e.openQuantity / e.quantity;
11
+ }
12
+ function o(o, s) {
13
+ let c = 0n, l = 0n, u = 0n, d = 0, f = 0;
14
+ for (let n of o) {
15
+ if (!i(n) || n.openQuantity <= 0n) continue;
16
+ let o = r(n);
17
+ if (o === void 0 || s === void 0) {
18
+ f += 1;
19
+ continue;
20
+ }
21
+ let p = s - o, m = n.positionType === e.SHORT ? -p : p;
22
+ c += t(n.openQuantity, m), l += t(n.openQuantity, o), u += a(n), d += 1;
23
+ }
24
+ return {
25
+ upnl: c,
26
+ openNotional: l,
27
+ openMargin: u,
28
+ returnPercent: n(c, l),
29
+ upnlPercent: n(c, u),
30
+ valuedCount: d,
31
+ unvaluedCount: f,
32
+ isComplete: d > 0 && f === 0
33
+ };
34
+ }
35
+ //#endregion
36
+ export { o as aggregateGroupUpnl };
37
+
38
+ //# sourceMappingURL=aggregate-group-upnl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-group-upnl.js","names":[],"sources":["../../../src/quotes/grouping/aggregate-group-upnl.ts"],"sourcesContent":["import { sharePercent } from \"../../shared/utils/percent\";\nimport { mulWei } from \"../../shared/utils/wei\";\nimport { PositionType } from \"../../symmio-contracts/symmio/types\";\nimport { settledOpenPriceOf } from \"../open-price\";\nimport type { UnifiedQuote } from \"../unified-quote\";\nimport { isActivePosition } from \"./partition-quotes\";\n\n/**\n * The locked margin backing a child's **still-open** size (wei).\n *\n * Every leg of the frozen `initialLockedValues` when known (else the current\n * `lockedValues`) prorated by `openQuantity / quantity` — mirroring\n * `leverageMarginOf` in `aggregate-metrics.ts`, which pairs the same frozen legs\n * with the full `quantity`. The contract releases margin as a position closes,\n * so the current legs alone would overstate leverage on a partially closed\n * child. Prorating is what keeps this basis aligned with `openNotional`: a\n * half-closed child has half its capital still at risk.\n */\nfunction openMarginOf(quote: UnifiedQuote): bigint {\n if (quote.quantity <= 0n) return 0n;\n const margin = quote.initialLockedValues ?? quote.lockedValues;\n const legs = margin.cva + margin.lf + margin.partyAmm + margin.partyBmm;\n return (legs * quote.openQuantity) / quote.quantity;\n}\n\n/**\n * Aggregated unrealized PnL for one group of quotes, valued at a single mark\n * price. Every amount is 18-decimal wei `bigint`.\n *\n * **Sign convention** — plain trader convention: a **positive** `upnl` means the\n * group is in profit. This is the same polarity as\n * {@link QuoteGroupFunding.netReceived}, so the two folds — which sit beside each\n * other — can be read, coloured, and added together without either being negated.\n *\n * **Completeness** — `upnl` is always the sum over the children that *could* be\n * valued, i.e. a lower bound in magnitude while some could not; it is never\n * suppressed to `0n`. Read {@link isComplete} to decide whether to trust it, and\n * treat `isComplete: false` as \"PnL unknown\", not as \"no PnL\". The same holds\n * for both percentages: they describe the valued subset only.\n *\n * **One market, one mark price.** Every built-in `QuoteGroupingStrategy` keys on\n * `symbolId`, so a group is single-market by construction. A custom `keyOf` that\n * mixes markets makes this fold meaningless — that is the caller's to avoid.\n */\nexport interface QuoteGroupUpnl {\n /**\n * Σ signed unrealized PnL across the group's valued children (wei).\n * **Positive = the group is in profit.** A lower bound while\n * {@link isComplete} is `false`.\n */\n upnl: bigint;\n /**\n * Σ `openQuantity × openedPrice` across the valued children (wei) — the\n * at-entry position value {@link returnPercent} divides by. `0n` when nothing\n * was valued.\n */\n openNotional: bigint;\n /**\n * Σ locked margin backing the still-open size of the valued children (wei) —\n * the capital at risk {@link upnlPercent} divides by. Each child contributes\n * every leg of its frozen `initialLockedValues` (else `lockedValues`) prorated\n * by `openQuantity / quantity`. `0n` when nothing was valued, or when no valued\n * child has locked collateral on record.\n */\n openMargin: bigint;\n /**\n * Unleveraged return — `upnl / openNotional × 100` as an 18-decimal\n * fixed-point percent (`12.5% → 12_500000000000000000n`), signed with `upnl`.\n * The return on the *position's* value, i.e. how far the market moved in the\n * group's favour. Same convention as `GroupTpSlReturnEstimate.returnPercent`.\n *\n * `undefined` — never `0n` — when nothing was valued: `0n` is a real 0% return.\n */\n returnPercent?: bigint;\n /**\n * Leveraged return on capital — `upnl / openMargin × 100`, same fixed-point\n * convention and sign. The group counterpart of `calculateQuoteUpnl`'s\n * `upnlPercent`, and the figure to show beside the uPnL amount.\n *\n * Equals `returnPercent × leverage` whenever the group's children share one\n * leverage; where they differ it stays the group's true return on deployed\n * margin rather than a mean of per-child ratios.\n *\n * `undefined` when {@link openMargin} is `0n` — a group whose valued children\n * carry no locked collateral has no capital base to return *on*.\n */\n upnlPercent?: bigint;\n /** Number of children with open size that were valued against the mark price. */\n valuedCount: number;\n /**\n * Number of children with open size whose open price is not settled yet, so\n * their PnL is unknown. Resting orders and fully-closed children are not\n * counted here — they have no unrealized PnL to be missing.\n */\n unvaluedCount: number;\n /**\n * `true` only when a mark price was given, at least one child was valued, and\n * none was left unvalued — i.e. `upnl` is the group's complete unrealized PnL.\n *\n * A group with nothing to value (all-pending, all-closed, or empty) reports\n * `false` with `upnl: 0n`, so a consumer can tell \"PnL unknown\" apart from\n * \"no PnL\".\n */\n isComplete: boolean;\n}\n\n/**\n * Fold a group's child quotes into a single unrealized-PnL total at the current\n * mark price.\n *\n * Per child that is an active position with open size, using its **settled**\n * `openedPrice`:\n *\n * ```\n * delta = markPrice − openedPrice\n * signed = positionType === SHORT ? −delta : delta\n * upnl += openQuantity × signed / 1e18\n * ```\n *\n * and, over the same valued children, the two denominators a percentage needs:\n *\n * ```\n * openNotional += openQuantity × openedPrice / 1e18\n * openMargin += lockedLegs × openQuantity / quantity\n * returnPercent = upnl / openNotional × 100 // unleveraged\n * upnlPercent = upnl / openMargin × 100 // return on capital\n * ```\n *\n * Behaviour:\n *\n * - **Resting orders contribute nothing and are not counted as unvalued.** A\n * pending order has no unrealized PnL by definition; counting it would pin\n * `isComplete` to `false` for any group holding one. Same for terminal rows.\n * - **Fully-closed children** (`openQuantity ≤ 0`) are skipped and not counted —\n * their PnL is realized, not unrealized.\n * - **A position with no settled `openedPrice`** (an optimistic or just-anchored\n * open) lands in `unvaluedCount` and contributes nothing.\n * - **No mark price** (`undefined`) yields zero amounts with `isComplete: false`.\n * `markPrice: 0n` is a *real* price (a total loss on a long) — that is why the\n * parameter is `bigint | undefined` and never a string parsed in here. Use\n * {@link decimalPriceToWei}, which returns `undefined` rather than a fabricated\n * `0n`, to convert a price feed's decimal string.\n * - **Both percentages are folded, not averaged.** `upnlPercent` divides the\n * group's total uPnL by its total open margin, which is the group's actual\n * return on deployed capital — deliberately not a notional-weighted mean of the\n * children's individual percentages. The two coincide at a shared leverage; where\n * leverages differ, a mean of ratios is not a return anyone earned. This also\n * keeps the fold consistent with `aggregateGroupMetrics`, whose `leverage` is\n * likewise `Σ notional / Σ margin`, so `upnlPercent ≈ returnPercent × leverage`.\n * - Exact `bigint`, order-independent, no IO. This deliberately differs from the\n * per-quote `calculateQuoteUpnl`, which is decimal-string/float based. Each\n * child's term is floored independently (max 1 wei of error per child), matching\n * `estimateGroupTpSlReturn` and `calculateLiquidationPrice`.\n *\n * @param quotes - The group's child quotes (pass `group.quotes`).\n * @param markPrice - Current mark price in 18-decimal wei, or `undefined` before the first tick.\n * @returns The aggregated unrealized PnL for the group.\n *\n * @example\n * ```ts\n * const upnl = aggregateGroupUpnl(group.quotes, decimalPriceToWei(markPrice));\n * if (!upnl.isComplete) showSkeleton();\n * // positive = in profit; the percent is 18-decimal fixed point, so format it as wei\n * else render(upnl.upnl, upnl.upnlPercent);\n * ```\n */\nexport function aggregateGroupUpnl(quotes: readonly UnifiedQuote[], markPrice?: bigint): QuoteGroupUpnl {\n let upnl = 0n;\n let openNotional = 0n;\n let openMargin = 0n;\n let valuedCount = 0;\n let unvaluedCount = 0;\n\n for (const quote of quotes) {\n /** Resting orders and terminal rows carry no unrealized PnL at all. */\n if (!isActivePosition(quote)) continue;\n /** Nothing open left: whatever this quote earned is realized, not unrealized. */\n if (quote.openQuantity <= 0n) continue;\n\n const openedPrice = settledOpenPriceOf(quote);\n if (openedPrice === undefined || markPrice === undefined) {\n unvaluedCount += 1;\n continue;\n }\n\n const delta = markPrice - openedPrice;\n const signed = quote.positionType === PositionType.SHORT ? -delta : delta;\n upnl += mulWei(quote.openQuantity, signed);\n openNotional += mulWei(quote.openQuantity, openedPrice);\n openMargin += openMarginOf(quote);\n valuedCount += 1;\n }\n\n return {\n upnl,\n openNotional,\n openMargin,\n returnPercent: sharePercent(upnl, openNotional),\n upnlPercent: sharePercent(upnl, openMargin),\n valuedCount,\n unvaluedCount,\n isComplete: valuedCount > 0 && unvaluedCount === 0,\n };\n}\n"],"mappings":";;;;;;AAkBA,SAAS,EAAa,GAA6B;CACjD,IAAI,EAAM,YAAY,IAAI,OAAO;CACjC,IAAM,IAAS,EAAM,uBAAuB,EAAM;CAElD,QADa,EAAO,MAAM,EAAO,KAAK,EAAO,WAAW,EAAO,YAChD,EAAM,eAAgB,EAAM;AAC7C;AA+IA,SAAgB,EAAmB,GAAiC,GAAoC;CACtG,IAAI,IAAO,IACP,IAAe,IACf,IAAa,IACb,IAAc,GACd,IAAgB;CAEpB,KAAK,IAAM,KAAS,GAAQ;EAI1B,IAFI,CAAC,EAAiB,CAAK,KAEvB,EAAM,gBAAgB,IAAI;EAE9B,IAAM,IAAc,EAAmB,CAAK;EAC5C,IAAI,MAAgB,KAAA,KAAa,MAAc,KAAA,GAAW;GACxD,KAAiB;GACjB;EACF;EAEA,IAAM,IAAQ,IAAY,GACpB,IAAS,EAAM,iBAAiB,EAAa,QAAQ,CAAC,IAAQ;EAIpE,AAHA,KAAQ,EAAO,EAAM,cAAc,CAAM,GACzC,KAAgB,EAAO,EAAM,cAAc,CAAW,GACtD,KAAc,EAAa,CAAK,GAChC,KAAe;CACjB;CAEA,OAAO;EACL;EACA;EACA;EACA,eAAe,EAAa,GAAM,CAAY;EAC9C,aAAa,EAAa,GAAM,CAAU;EAC1C;EACA;EACA,YAAY,IAAc,KAAK,MAAkB;CACnD;AACF"}
@@ -5,12 +5,15 @@ import { QuoteGroupMetrics } from './quote-group.js';
5
5
  * child quotes.
6
6
  *
7
7
  * - `openQuantity` / `quantity` are plain sums (wei).
8
- * - `notional = Σ(openQuantity × openPrice)`, rescaled to wei.
9
- * - `weightedOpenPrice = notionalₙᵤₘ / Σ openQuantity`, suppressed (`undefined`)
10
- * when there is no open size or any child has an unsettled open price.
8
+ * - `initialNotional = Σ(quantity × (initialOpenedPrice ?? requestedOpenPrice))`,
9
+ * rescaled to wei — the frozen at-open notional; partial closes do not shrink it.
10
+ * - `weightedOpenPrice = Σ(openQuantity × openPrice) / Σ openQuantity`, suppressed
11
+ * (`undefined`) when there is no open size or any child has an unsettled open price.
11
12
  * - `lockedValues` sums each margin leg.
12
- * - `leverage = notional / (Σ cva + lf + partyAmm)`, as an 18-decimal fixed-point
13
- * `bigint`, `undefined` when that margin is `0`.
13
+ * - `leverage = Σ(quantity × (requestedOpenPrice ?? openedPrice)) / Σ(cva + lf +
14
+ * partyAmm + partyBmm)`, each child using its frozen `initialLockedValues` (else
15
+ * `lockedValues`), as an 18-decimal fixed-point `bigint`; `undefined` when that
16
+ * margin is `0`.
14
17
  *
15
18
  * Pure and order-independent. Empty input yields all-zero amounts with the
16
19
  * optional fields `undefined`.
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-metrics.d.ts","sourceRoot":"","sources":["../../../src/quotes/grouping/aggregate-metrics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAYvD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,iBAAiB,CA4CxF"}
1
+ {"version":3,"file":"aggregate-metrics.d.ts","sourceRoot":"","sources":["../../../src/quotes/grouping/aggregate-metrics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAiBvD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,iBAAiB,CA6DxF"}
@@ -1,34 +1,36 @@
1
1
  import { WEI as e } from "../../shared/utils/wei.js";
2
- import { isActivePosition as t, isPendingOrder as n } from "./partition-quotes.js";
2
+ import { hasUnsettledOpenPrice as t, leveragePriceOf as n, openPriceOf as r } from "../open-price.js";
3
+ import { isActivePosition as i, isPendingOrder as a } from "./partition-quotes.js";
3
4
  //#region src/quotes/grouping/aggregate-metrics.ts
4
- function r(e) {
5
- return e.openedPrice !== void 0 && e.openedPrice !== 0n ? e.openedPrice : e.requestedOpenPrice;
5
+ function o(e) {
6
+ return e.initialOpenedPrice ?? e.requestedOpenPrice;
6
7
  }
7
- function i(e) {
8
- return e.openedPrice === void 0 || e.openedPrice === 0n;
8
+ function s(e) {
9
+ let t = e.initialLockedValues ?? e.lockedValues;
10
+ return t.cva + t.lf + t.partyAmm + t.partyBmm;
9
11
  }
10
- function a(a) {
11
- let o = 0n, s = 0n, c = 0n, l = 0n, u = 0n, d = 0n, f = 0n, p = 0, m = 0, h = !1;
12
- for (let e of a) o += e.quantity, s += e.openQuantity, c += e.openQuantity * r(e), l += e.lockedValues.cva, u += e.lockedValues.lf, d += e.lockedValues.partyAmm, f += e.lockedValues.partyBmm, i(e) && (h = !0), n(e) ? m += 1 : t(e) && (p += 1);
13
- let g = {
14
- cva: l,
15
- lf: u,
16
- partyAmm: d,
17
- partyBmm: f
18
- }, _ = c / e, v = l + u + d, y = s > 0n && !h ? c / s : void 0, b = v > 0n ? _ * e / v : void 0;
12
+ function c(c) {
13
+ let l = 0n, u = 0n, d = 0n, f = 0n, p = 0n, m = 0n, h = 0n, g = 0n, _ = 0n, v = 0n, y = 0, b = 0, x = !1;
14
+ for (let e of c) l += e.quantity, u += e.openQuantity, d += e.openQuantity * r(e), f += e.quantity * o(e), p += e.quantity * n(e), m += s(e), h += e.lockedValues.cva, g += e.lockedValues.lf, _ += e.lockedValues.partyAmm, v += e.lockedValues.partyBmm, t(e) && (x = !0), a(e) ? b += 1 : i(e) && (y += 1);
15
+ let S = {
16
+ cva: h,
17
+ lf: g,
18
+ partyAmm: _,
19
+ partyBmm: v
20
+ }, C = f / e, w = u > 0n && !x ? d / u : void 0, T = m > 0n ? p / m : void 0;
19
21
  return {
20
- quoteCount: a.length,
21
- openCount: p,
22
- pendingCount: m,
23
- quantity: o,
24
- openQuantity: s,
25
- weightedOpenPrice: y,
26
- notional: _,
27
- lockedValues: g,
28
- leverage: b
22
+ quoteCount: c.length,
23
+ openCount: y,
24
+ pendingCount: b,
25
+ quantity: l,
26
+ openQuantity: u,
27
+ weightedOpenPrice: w,
28
+ initialNotional: C,
29
+ lockedValues: S,
30
+ leverage: T
29
31
  };
30
32
  }
31
33
  //#endregion
32
- export { a as aggregateGroupMetrics };
34
+ export { c as aggregateGroupMetrics };
33
35
 
34
36
  //# sourceMappingURL=aggregate-metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-metrics.js","names":[],"sources":["../../../src/quotes/grouping/aggregate-metrics.ts"],"sourcesContent":["import { WEI } from \"../../shared/utils/wei\";\nimport type { LockedValues } from \"../../symmio-contracts/symmio/types\";\nimport type { UnifiedQuote } from \"../unified-quote\";\nimport { isActivePosition, isPendingOrder } from \"./partition-quotes\";\nimport type { QuoteGroupMetrics } from \"./quote-group\";\n\n/** A quote's open price for valuation: the settled `openedPrice`, else the requested one. */\nfunction openPriceOf(quote: UnifiedQuote): bigint {\n return quote.openedPrice !== undefined && quote.openedPrice !== 0n ? quote.openedPrice : quote.requestedOpenPrice;\n}\n\n/** Whether a quote still lacks a settled open price (a pending or optimistic open). */\nfunction hasUnsettledOpenPrice(quote: UnifiedQuote): boolean {\n return quote.openedPrice === undefined || quote.openedPrice === 0n;\n}\n\n/**\n * Compute the pure, price-independent {@link QuoteGroupMetrics} for a set of\n * child quotes.\n *\n * - `openQuantity` / `quantity` are plain sums (wei).\n * - `notional = Σ(openQuantity × openPrice)`, rescaled to wei.\n * - `weightedOpenPrice = notionalₙᵤₘ / Σ openQuantity`, suppressed (`undefined`)\n * when there is no open size or any child has an unsettled open price.\n * - `lockedValues` sums each margin leg.\n * - `leverage = notional / (Σ cva + lf + partyAmm)`, as an 18-decimal fixed-point\n * `bigint`, `undefined` when that margin is `0`.\n *\n * Pure and order-independent. Empty input yields all-zero amounts with the\n * optional fields `undefined`.\n *\n * @param quotes - The group's child quotes.\n * @returns The aggregated metrics.\n */\nexport function aggregateGroupMetrics(quotes: readonly UnifiedQuote[]): QuoteGroupMetrics {\n let quantity = 0n;\n let openQuantity = 0n;\n /** Σ(openQuantity × openPrice), scaled by `WEI²` until the final rescale. */\n let notionalNumerator = 0n;\n let cva = 0n;\n let lf = 0n;\n let partyAmm = 0n;\n let partyBmm = 0n;\n let openCount = 0;\n let pendingCount = 0;\n let anyUnsettledOpenPrice = false;\n\n for (const quote of quotes) {\n quantity += quote.quantity;\n openQuantity += quote.openQuantity;\n notionalNumerator += quote.openQuantity * openPriceOf(quote);\n cva += quote.lockedValues.cva;\n lf += quote.lockedValues.lf;\n partyAmm += quote.lockedValues.partyAmm;\n partyBmm += quote.lockedValues.partyBmm;\n if (hasUnsettledOpenPrice(quote)) anyUnsettledOpenPrice = true;\n if (isPendingOrder(quote)) pendingCount += 1;\n else if (isActivePosition(quote)) openCount += 1;\n }\n\n const lockedValues: LockedValues = { cva, lf, partyAmm, partyBmm };\n const notional = notionalNumerator / WEI;\n const partyAMargin = cva + lf + partyAmm;\n\n const weightedOpenPrice = openQuantity > 0n && !anyUnsettledOpenPrice ? notionalNumerator / openQuantity : undefined;\n const leverage = partyAMargin > 0n ? (notional * WEI) / partyAMargin : undefined;\n\n return {\n quoteCount: quotes.length,\n openCount,\n pendingCount,\n quantity,\n openQuantity,\n weightedOpenPrice,\n notional,\n lockedValues,\n leverage,\n };\n}\n"],"mappings":";;;AAOA,SAAS,EAAY,GAA6B;CAChD,OAAO,EAAM,gBAAgB,KAAA,KAAa,EAAM,gBAAgB,KAAK,EAAM,cAAc,EAAM;AACjG;AAGA,SAAS,EAAsB,GAA8B;CAC3D,OAAO,EAAM,gBAAgB,KAAA,KAAa,EAAM,gBAAgB;AAClE;AAoBA,SAAgB,EAAsB,GAAoD;CACxF,IAAI,IAAW,IACX,IAAe,IAEf,IAAoB,IACpB,IAAM,IACN,IAAK,IACL,IAAW,IACX,IAAW,IACX,IAAY,GACZ,IAAe,GACf,IAAwB;CAE5B,KAAK,IAAM,KAAS,GASlB,AARA,KAAY,EAAM,UAClB,KAAgB,EAAM,cACtB,KAAqB,EAAM,eAAe,EAAY,CAAK,GAC3D,KAAO,EAAM,aAAa,KAC1B,KAAM,EAAM,aAAa,IACzB,KAAY,EAAM,aAAa,UAC/B,KAAY,EAAM,aAAa,UAC3B,EAAsB,CAAK,MAAG,IAAwB,KACtD,EAAe,CAAK,IAAG,KAAgB,IAClC,EAAiB,CAAK,MAAG,KAAa;CAGjD,IAAM,IAA6B;EAAE;EAAK;EAAI;EAAU;CAAS,GAC3D,IAAW,IAAoB,GAC/B,IAAe,IAAM,IAAK,GAE1B,IAAoB,IAAe,MAAM,CAAC,IAAwB,IAAoB,IAAe,KAAA,GACrG,IAAW,IAAe,KAAM,IAAW,IAAO,IAAe,KAAA;CAEvE,OAAO;EACL,YAAY,EAAO;EACnB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"aggregate-metrics.js","names":[],"sources":["../../../src/quotes/grouping/aggregate-metrics.ts"],"sourcesContent":["import { WEI } from \"../../shared/utils/wei\";\nimport type { LockedValues } from \"../../symmio-contracts/symmio/types\";\nimport { hasUnsettledOpenPrice, leveragePriceOf, openPriceOf } from \"../open-price\";\nimport type { UnifiedQuote } from \"../unified-quote\";\nimport { isActivePosition, isPendingOrder } from \"./partition-quotes\";\nimport type { QuoteGroupMetrics } from \"./quote-group\";\n\n/** A quote's price for the frozen at-open notional: `initialOpenedPrice`, else the requested one. */\nfunction initialNotionalPriceOf(quote: UnifiedQuote): bigint {\n return quote.initialOpenedPrice ?? quote.requestedOpenPrice;\n}\n\n/**\n * A quote's locked-margin basis for leverage: every leg (`cva + lf + partyAmm +\n * partyBmm`) of the frozen `initialLockedValues` when known, else of the current\n * `lockedValues`.\n */\nfunction leverageMarginOf(quote: UnifiedQuote): bigint {\n const margin = quote.initialLockedValues ?? quote.lockedValues;\n return margin.cva + margin.lf + margin.partyAmm + margin.partyBmm;\n}\n\n/**\n * Compute the pure, price-independent {@link QuoteGroupMetrics} for a set of\n * child quotes.\n *\n * - `openQuantity` / `quantity` are plain sums (wei).\n * - `initialNotional = Σ(quantity × (initialOpenedPrice ?? requestedOpenPrice))`,\n * rescaled to wei — the frozen at-open notional; partial closes do not shrink it.\n * - `weightedOpenPrice = Σ(openQuantity × openPrice) / Σ openQuantity`, suppressed\n * (`undefined`) when there is no open size or any child has an unsettled open price.\n * - `lockedValues` sums each margin leg.\n * - `leverage = Σ(quantity × (requestedOpenPrice ?? openedPrice)) / Σ(cva + lf +\n * partyAmm + partyBmm)`, each child using its frozen `initialLockedValues` (else\n * `lockedValues`), as an 18-decimal fixed-point `bigint`; `undefined` when that\n * margin is `0`.\n *\n * Pure and order-independent. Empty input yields all-zero amounts with the\n * optional fields `undefined`.\n *\n * @param quotes - The group's child quotes.\n * @returns The aggregated metrics.\n */\nexport function aggregateGroupMetrics(quotes: readonly UnifiedQuote[]): QuoteGroupMetrics {\n let quantity = 0n;\n let openQuantity = 0n;\n /**\n * Σ(openQuantity × openPrice), scaled by `WEI²`; feeds `weightedOpenPrice` only.\n *\n * **Deliberately not `mulWei`.** Every other `quantity × price` fold in the SDK\n * rescales to wei per item, but this one must stay at `WEI²`: the divide at the\n * bottom is by `openQuantity` (wei), not by `WEI`, and it is that surviving\n * factor which lands `weightedOpenPrice` back on wei scale. Truncating here\n * would return a price 1e18 too small.\n */\n let notionalNumerator = 0n;\n /** Σ(quantity × (initialOpenedPrice ?? requestedOpenPrice)), scaled by `WEI²` until the final rescale. */\n let initialNotionalNumerator = 0n;\n /** Σ(quantity × (requestedOpenPrice ?? openedPrice)), scaled by `WEI²` until the final divide. */\n let leverageNumerator = 0n;\n /** Σ of each child's frozen (initial-preferred) locked-margin legs, wei. */\n let leverageMargin = 0n;\n let cva = 0n;\n let lf = 0n;\n let partyAmm = 0n;\n let partyBmm = 0n;\n let openCount = 0;\n let pendingCount = 0;\n let anyUnsettledOpenPrice = false;\n\n for (const quote of quotes) {\n quantity += quote.quantity;\n openQuantity += quote.openQuantity;\n notionalNumerator += quote.openQuantity * openPriceOf(quote);\n initialNotionalNumerator += quote.quantity * initialNotionalPriceOf(quote);\n leverageNumerator += quote.quantity * leveragePriceOf(quote);\n leverageMargin += leverageMarginOf(quote);\n cva += quote.lockedValues.cva;\n lf += quote.lockedValues.lf;\n partyAmm += quote.lockedValues.partyAmm;\n partyBmm += quote.lockedValues.partyBmm;\n if (hasUnsettledOpenPrice(quote)) anyUnsettledOpenPrice = true;\n if (isPendingOrder(quote)) pendingCount += 1;\n else if (isActivePosition(quote)) openCount += 1;\n }\n\n const lockedValues: LockedValues = { cva, lf, partyAmm, partyBmm };\n const initialNotional = initialNotionalNumerator / WEI;\n\n const weightedOpenPrice = openQuantity > 0n && !anyUnsettledOpenPrice ? notionalNumerator / openQuantity : undefined;\n /** `leverageNumerator` is scaled by WEI²; dividing by the WEI-scaled margin yields an 18-decimal ratio. */\n const leverage = leverageMargin > 0n ? leverageNumerator / leverageMargin : undefined;\n\n return {\n quoteCount: quotes.length,\n openCount,\n pendingCount,\n quantity,\n openQuantity,\n weightedOpenPrice,\n initialNotional,\n lockedValues,\n leverage,\n };\n}\n"],"mappings":";;;;AAQA,SAAS,EAAuB,GAA6B;CAC3D,OAAO,EAAM,sBAAsB,EAAM;AAC3C;AAOA,SAAS,EAAiB,GAA6B;CACrD,IAAM,IAAS,EAAM,uBAAuB,EAAM;CAClD,OAAO,EAAO,MAAM,EAAO,KAAK,EAAO,WAAW,EAAO;AAC3D;AAuBA,SAAgB,EAAsB,GAAoD;CACxF,IAAI,IAAW,IACX,IAAe,IAUf,IAAoB,IAEpB,IAA2B,IAE3B,IAAoB,IAEpB,IAAiB,IACjB,IAAM,IACN,IAAK,IACL,IAAW,IACX,IAAW,IACX,IAAY,GACZ,IAAe,GACf,IAAwB;CAE5B,KAAK,IAAM,KAAS,GAYlB,AAXA,KAAY,EAAM,UAClB,KAAgB,EAAM,cACtB,KAAqB,EAAM,eAAe,EAAY,CAAK,GAC3D,KAA4B,EAAM,WAAW,EAAuB,CAAK,GACzE,KAAqB,EAAM,WAAW,EAAgB,CAAK,GAC3D,KAAkB,EAAiB,CAAK,GACxC,KAAO,EAAM,aAAa,KAC1B,KAAM,EAAM,aAAa,IACzB,KAAY,EAAM,aAAa,UAC/B,KAAY,EAAM,aAAa,UAC3B,EAAsB,CAAK,MAAG,IAAwB,KACtD,EAAe,CAAK,IAAG,KAAgB,IAClC,EAAiB,CAAK,MAAG,KAAa;CAGjD,IAAM,IAA6B;EAAE;EAAK;EAAI;EAAU;CAAS,GAC3D,IAAkB,IAA2B,GAE7C,IAAoB,IAAe,MAAM,CAAC,IAAwB,IAAoB,IAAe,KAAA,GAErG,IAAW,IAAiB,KAAK,IAAoB,IAAiB,KAAA;CAE5E,OAAO;EACL,YAAY,EAAO;EACnB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -18,10 +18,19 @@ export interface GroupQuotesOptions {
18
18
  * resolved Virtual Account, an `isAggregate` flag, and pure
19
19
  * {@link QuoteGroupMetrics}. Groups are returned newest-first by default.
20
20
  *
21
+ * Grouped positions are a `MARKET_DIRECTION`-only feature: it is the one
22
+ * isolation where a market + side cohort is a real on-chain unit (one Virtual
23
+ * Account per market + direction), so it is the only
24
+ * {@link SubAccountIsolationType} this accepts. To fold on another dimension,
25
+ * pass an explicit `{ keyOf }` — `keyQuoteByMarket` and `keyQuotePerQuote` cover
26
+ * the common cases.
27
+ *
21
28
  * @param quotes - The quotes to group.
22
- * @param strategy - A {@link SubAccountIsolationType} or a custom `{ keyOf }`.
29
+ * @param strategy - `SubAccountIsolationType.MARKET_DIRECTION` or a custom `{ keyOf }`.
23
30
  * @param options - Optional group ordering override.
24
31
  * @returns The groups.
32
+ * @throws {SymmError} `UNSUPPORTED_GROUPING_ISOLATION` when `strategy` is an
33
+ * isolation type other than `MARKET_DIRECTION`.
25
34
  *
26
35
  * @example
27
36
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"group-quotes.d.ts","sourceRoot":"","sources":["../../../src/quotes/grouping/group-quotes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,UAAU,EAAgB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AA+BrF,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,KAAK,MAAM,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,EAAE,CA0Bd"}
1
+ {"version":3,"file":"group-quotes.d.ts","sourceRoot":"","sources":["../../../src/quotes/grouping/group-quotes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,UAAU,EAAgB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AA+BrF,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,KAAK,MAAM,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,EAAE,CA0Bd"}
@@ -1 +1 @@
1
- {"version":3,"file":"group-quotes.js","names":[],"sources":["../../../src/quotes/grouping/group-quotes.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { UnifiedQuote } from \"../unified-quote\";\nimport { aggregateGroupMetrics } from \"./aggregate-metrics\";\nimport { resolveQuoteGroupingStrategy } from \"./group-strategy\";\nimport type { QuoteGroup, QuoteGroupBy, QuoteGroupingStrategy } from \"./quote-group\";\n\n/** Best-known ordering timestamp for a quote — last status change, else creation. */\nfunction orderingTimestamp(quote: UnifiedQuote): bigint {\n return quote.statusModifyTimestamp ?? quote.createTimestamp ?? 0n;\n}\n\n/** Newest-first by ordering timestamp, breaking ties by `key` for a stable sort. */\nfunction byNewestQuote(a: UnifiedQuote, b: UnifiedQuote): number {\n const ta = orderingTimestamp(a);\n const tb = orderingTimestamp(b);\n if (ta !== tb) return tb > ta ? 1 : -1;\n return a.key < b.key ? -1 : a.key > b.key ? 1 : 0;\n}\n\n/** Default group order: newest group first (by its newest child), ties broken by `key`. */\nfunction byNewestGroup(a: QuoteGroup, b: QuoteGroup): number {\n const ta = a.quotes[0] ? orderingTimestamp(a.quotes[0]) : 0n;\n const tb = b.quotes[0] ? orderingTimestamp(b.quotes[0]) : 0n;\n if (ta !== tb) return tb > ta ? 1 : -1;\n return a.key < b.key ? -1 : a.key > b.key ? 1 : 0;\n}\n\n/** The VA a group resolves to: from its first on-chain child, else any child that carries one. */\nfunction resolveGroupVaAddress(quotes: readonly UnifiedQuote[]): Address | undefined {\n return (\n quotes.find((quote) => quote.origin === \"onchain\" && quote.vaAddress)?.vaAddress ??\n quotes.find((quote) => quote.vaAddress)?.vaAddress\n );\n}\n\n/** Options for {@link groupQuotes}. */\nexport interface GroupQuotesOptions {\n /**\n * Comparator for the returned groups. Defaults to newest-group-first (by each\n * group's newest child). Child quotes within a group are always sorted\n * newest-first regardless.\n */\n sort?: (a: QuoteGroup, b: QuoteGroup) => number;\n}\n\n/**\n * Fold quotes into {@link QuoteGroup}s under a {@link QuoteGroupingStrategy}.\n *\n * Pure and deterministic: it groups exactly the array it is given (partition into\n * positions vs pending orders first with `partitionQuotes` if you only want to\n * group open positions). Each group carries its child quotes (newest first), its\n * resolved Virtual Account, an `isAggregate` flag, and pure\n * {@link QuoteGroupMetrics}. Groups are returned newest-first by default.\n *\n * @param quotes - The quotes to group.\n * @param strategy - A {@link SubAccountIsolationType} or a custom `{ keyOf }`.\n * @param options - Optional group ordering override.\n * @returns The groups.\n *\n * @example\n * ```ts\n * const { positions } = partitionQuotes(quotes);\n * const groups = groupQuotes(positions, SubAccountIsolationType.MARKET_DIRECTION);\n * // groups[0].metrics.openQuantity, groups[0].metrics.weightedOpenPrice, …\n * ```\n */\nexport function groupQuotes(\n quotes: readonly UnifiedQuote[],\n strategy: QuoteGroupingStrategy,\n options?: GroupQuotesOptions,\n): QuoteGroup[] {\n const keyOf = resolveQuoteGroupingStrategy(strategy);\n\n /** Insertion-ordered buckets so groups are built deterministically before sorting. */\n const buckets = new Map<string, { by: QuoteGroupBy; quotes: UnifiedQuote[] }>();\n for (const quote of quotes) {\n const { key, by } = keyOf(quote);\n const bucket = buckets.get(key);\n if (bucket) bucket.quotes.push(quote);\n else buckets.set(key, { by, quotes: [quote] });\n }\n\n const groups: QuoteGroup[] = [];\n for (const [key, bucket] of buckets) {\n const children = bucket.quotes.sort(byNewestQuote);\n groups.push({\n key,\n by: bucket.by,\n vaAddress: resolveGroupVaAddress(children),\n quotes: children,\n isAggregate: children.length > 1,\n metrics: aggregateGroupMetrics(children),\n });\n }\n\n return groups.sort(options?.sort ?? byNewestGroup);\n}\n"],"mappings":";;;AAOA,SAAS,EAAkB,GAA6B;CACtD,OAAO,EAAM,yBAAyB,EAAM,mBAAmB;AACjE;AAGA,SAAS,EAAc,GAAiB,GAAyB;CAC/D,IAAM,IAAK,EAAkB,CAAC,GACxB,IAAK,EAAkB,CAAC;CAE9B,OADI,MAAO,IACJ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAE,MAAM,EAAE,OADhB,IAAK,IAAK,IAAI;AAEtC;AAGA,SAAS,EAAc,GAAe,GAAuB;CAC3D,IAAM,IAAK,EAAE,OAAO,KAAK,EAAkB,EAAE,OAAO,EAAE,IAAI,IACpD,IAAK,EAAE,OAAO,KAAK,EAAkB,EAAE,OAAO,EAAE,IAAI;CAE1D,OADI,MAAO,IACJ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAE,MAAM,EAAE,OADhB,IAAK,IAAK,IAAI;AAEtC;AAGA,SAAS,EAAsB,GAAsD;CACnF,OACE,EAAO,MAAM,MAAU,EAAM,WAAW,aAAa,EAAM,SAAS,GAAG,aACvE,EAAO,MAAM,MAAU,EAAM,SAAS,GAAG;AAE7C;AAiCA,SAAgB,EACd,GACA,GACA,GACc;CACd,IAAM,IAAQ,EAA6B,CAAQ,GAG7C,oBAAU,IAAI,IAA0D;CAC9E,KAAK,IAAM,KAAS,GAAQ;EAC1B,IAAM,EAAE,QAAK,UAAO,EAAM,CAAK,GACzB,IAAS,EAAQ,IAAI,CAAG;EAC9B,AAAI,IAAQ,EAAO,OAAO,KAAK,CAAK,IAC/B,EAAQ,IAAI,GAAK;GAAE;GAAI,QAAQ,CAAC,CAAK;EAAE,CAAC;CAC/C;CAEA,IAAM,IAAuB,CAAC;CAC9B,KAAK,IAAM,CAAC,GAAK,MAAW,GAAS;EACnC,IAAM,IAAW,EAAO,OAAO,KAAK,CAAa;EACjD,EAAO,KAAK;GACV;GACA,IAAI,EAAO;GACX,WAAW,EAAsB,CAAQ;GACzC,QAAQ;GACR,aAAa,EAAS,SAAS;GAC/B,SAAS,EAAsB,CAAQ;EACzC,CAAC;CACH;CAEA,OAAO,EAAO,KAAK,GAAS,QAAQ,CAAa;AACnD"}
1
+ {"version":3,"file":"group-quotes.js","names":[],"sources":["../../../src/quotes/grouping/group-quotes.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { UnifiedQuote } from \"../unified-quote\";\nimport { aggregateGroupMetrics } from \"./aggregate-metrics\";\nimport { resolveQuoteGroupingStrategy } from \"./group-strategy\";\nimport type { QuoteGroup, QuoteGroupBy, QuoteGroupingStrategy } from \"./quote-group\";\n\n/** Best-known ordering timestamp for a quote — last status change, else creation. */\nfunction orderingTimestamp(quote: UnifiedQuote): bigint {\n return quote.statusModifyTimestamp ?? quote.createTimestamp ?? 0n;\n}\n\n/** Newest-first by ordering timestamp, breaking ties by `key` for a stable sort. */\nfunction byNewestQuote(a: UnifiedQuote, b: UnifiedQuote): number {\n const ta = orderingTimestamp(a);\n const tb = orderingTimestamp(b);\n if (ta !== tb) return tb > ta ? 1 : -1;\n return a.key < b.key ? -1 : a.key > b.key ? 1 : 0;\n}\n\n/** Default group order: newest group first (by its newest child), ties broken by `key`. */\nfunction byNewestGroup(a: QuoteGroup, b: QuoteGroup): number {\n const ta = a.quotes[0] ? orderingTimestamp(a.quotes[0]) : 0n;\n const tb = b.quotes[0] ? orderingTimestamp(b.quotes[0]) : 0n;\n if (ta !== tb) return tb > ta ? 1 : -1;\n return a.key < b.key ? -1 : a.key > b.key ? 1 : 0;\n}\n\n/** The VA a group resolves to: from its first on-chain child, else any child that carries one. */\nfunction resolveGroupVaAddress(quotes: readonly UnifiedQuote[]): Address | undefined {\n return (\n quotes.find((quote) => quote.origin === \"onchain\" && quote.vaAddress)?.vaAddress ??\n quotes.find((quote) => quote.vaAddress)?.vaAddress\n );\n}\n\n/** Options for {@link groupQuotes}. */\nexport interface GroupQuotesOptions {\n /**\n * Comparator for the returned groups. Defaults to newest-group-first (by each\n * group's newest child). Child quotes within a group are always sorted\n * newest-first regardless.\n */\n sort?: (a: QuoteGroup, b: QuoteGroup) => number;\n}\n\n/**\n * Fold quotes into {@link QuoteGroup}s under a {@link QuoteGroupingStrategy}.\n *\n * Pure and deterministic: it groups exactly the array it is given (partition into\n * positions vs pending orders first with `partitionQuotes` if you only want to\n * group open positions). Each group carries its child quotes (newest first), its\n * resolved Virtual Account, an `isAggregate` flag, and pure\n * {@link QuoteGroupMetrics}. Groups are returned newest-first by default.\n *\n * Grouped positions are a `MARKET_DIRECTION`-only feature: it is the one\n * isolation where a market + side cohort is a real on-chain unit (one Virtual\n * Account per market + direction), so it is the only\n * {@link SubAccountIsolationType} this accepts. To fold on another dimension,\n * pass an explicit `{ keyOf }` — `keyQuoteByMarket` and `keyQuotePerQuote` cover\n * the common cases.\n *\n * @param quotes - The quotes to group.\n * @param strategy - `SubAccountIsolationType.MARKET_DIRECTION` or a custom `{ keyOf }`.\n * @param options - Optional group ordering override.\n * @returns The groups.\n * @throws {SymmError} `UNSUPPORTED_GROUPING_ISOLATION` when `strategy` is an\n * isolation type other than `MARKET_DIRECTION`.\n *\n * @example\n * ```ts\n * const { positions } = partitionQuotes(quotes);\n * const groups = groupQuotes(positions, SubAccountIsolationType.MARKET_DIRECTION);\n * // groups[0].metrics.openQuantity, groups[0].metrics.weightedOpenPrice, …\n * ```\n */\nexport function groupQuotes(\n quotes: readonly UnifiedQuote[],\n strategy: QuoteGroupingStrategy,\n options?: GroupQuotesOptions,\n): QuoteGroup[] {\n const keyOf = resolveQuoteGroupingStrategy(strategy);\n\n /** Insertion-ordered buckets so groups are built deterministically before sorting. */\n const buckets = new Map<string, { by: QuoteGroupBy; quotes: UnifiedQuote[] }>();\n for (const quote of quotes) {\n const { key, by } = keyOf(quote);\n const bucket = buckets.get(key);\n if (bucket) bucket.quotes.push(quote);\n else buckets.set(key, { by, quotes: [quote] });\n }\n\n const groups: QuoteGroup[] = [];\n for (const [key, bucket] of buckets) {\n const children = bucket.quotes.sort(byNewestQuote);\n groups.push({\n key,\n by: bucket.by,\n vaAddress: resolveGroupVaAddress(children),\n quotes: children,\n isAggregate: children.length > 1,\n metrics: aggregateGroupMetrics(children),\n });\n }\n\n return groups.sort(options?.sort ?? byNewestGroup);\n}\n"],"mappings":";;;AAOA,SAAS,EAAkB,GAA6B;CACtD,OAAO,EAAM,yBAAyB,EAAM,mBAAmB;AACjE;AAGA,SAAS,EAAc,GAAiB,GAAyB;CAC/D,IAAM,IAAK,EAAkB,CAAC,GACxB,IAAK,EAAkB,CAAC;CAE9B,OADI,MAAO,IACJ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAE,MAAM,EAAE,OADhB,IAAK,IAAK,IAAI;AAEtC;AAGA,SAAS,EAAc,GAAe,GAAuB;CAC3D,IAAM,IAAK,EAAE,OAAO,KAAK,EAAkB,EAAE,OAAO,EAAE,IAAI,IACpD,IAAK,EAAE,OAAO,KAAK,EAAkB,EAAE,OAAO,EAAE,IAAI;CAE1D,OADI,MAAO,IACJ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAE,MAAM,EAAE,OADhB,IAAK,IAAK,IAAI;AAEtC;AAGA,SAAS,EAAsB,GAAsD;CACnF,OACE,EAAO,MAAM,MAAU,EAAM,WAAW,aAAa,EAAM,SAAS,GAAG,aACvE,EAAO,MAAM,MAAU,EAAM,SAAS,GAAG;AAE7C;AA0CA,SAAgB,EACd,GACA,GACA,GACc;CACd,IAAM,IAAQ,EAA6B,CAAQ,GAG7C,oBAAU,IAAI,IAA0D;CAC9E,KAAK,IAAM,KAAS,GAAQ;EAC1B,IAAM,EAAE,QAAK,UAAO,EAAM,CAAK,GACzB,IAAS,EAAQ,IAAI,CAAG;EAC9B,AAAI,IAAQ,EAAO,OAAO,KAAK,CAAK,IAC/B,EAAQ,IAAI,GAAK;GAAE;GAAI,QAAQ,CAAC,CAAK;EAAE,CAAC;CAC/C;CAEA,IAAM,IAAuB,CAAC;CAC9B,KAAK,IAAM,CAAC,GAAK,MAAW,GAAS;EACnC,IAAM,IAAW,EAAO,OAAO,KAAK,CAAa;EACjD,EAAO,KAAK;GACV;GACA,IAAI,EAAO;GACX,WAAW,EAAsB,CAAQ;GACzC,QAAQ;GACR,aAAa,EAAS,SAAS;GAC/B,SAAS,EAAsB,CAAQ;EACzC,CAAC;CACH;CAEA,OAAO,EAAO,KAAK,GAAS,QAAQ,CAAa;AACnD"}
@@ -1,17 +1,96 @@
1
- import { QuoteGroupingStrategy, QuoteGroupKeyFn } from './quote-group.js';
1
+ import { SubAccountIsolationType } from '../../symmio-contracts/account-layer/types.js';
2
+ import { UnifiedQuote } from '../unified-quote.js';
3
+ import { QuoteGroupingStrategy, QuoteGroupKey, QuoteGroupKeyFn } from './quote-group.js';
4
+ /**
5
+ * Key a quote by market only, collapsing both sides of a market into one group.
6
+ *
7
+ * Not reachable through a {@link SubAccountIsolationType} — grouped positions are
8
+ * defined for `MARKET_DIRECTION` only (see {@link supportsQuoteGrouping}). Pass it
9
+ * as an explicit `{ keyOf }` when you deliberately want market-wide folding and
10
+ * accept that the aggregated metrics mix longs and shorts.
11
+ *
12
+ * @param quote - The quote to place into a group.
13
+ * @returns The group key `m:<symbolId>` and its `{ symbolId }` dimension.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const groups = groupQuotes(positions, { keyOf: keyQuoteByMarket });
18
+ * ```
19
+ */
20
+ export declare function keyQuoteByMarket(quote: UnifiedQuote): QuoteGroupKey;
21
+ /**
22
+ * Key a quote by its own identity, producing one single-child group per quote —
23
+ * grouping with no aggregation.
24
+ *
25
+ * Not reachable through a {@link SubAccountIsolationType} (see
26
+ * {@link supportsQuoteGrouping}). Pass it as an explicit `{ keyOf }` to render
27
+ * ungrouped positions through the same `QuoteGroup` shape the grouped UI uses.
28
+ *
29
+ * @param quote - The quote to place into a group.
30
+ * @returns The quote's own `key` and its full `{ symbolId, positionType, vaAddress }` identity.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const groups = groupQuotes(positions, { keyOf: keyQuotePerQuote });
35
+ * // every group has isAggregate === false
36
+ * ```
37
+ */
38
+ export declare function keyQuotePerQuote(quote: UnifiedQuote): QuoteGroupKey;
39
+ /**
40
+ * Whether grouped positions are defined for an isolation type.
41
+ *
42
+ * Only `MARKET_DIRECTION` groups. It is the one isolation where a market + side
43
+ * cohort is a real on-chain unit — the AccountLayer allocates one Virtual Account
44
+ * per market + direction — so folding that cohort's quotes into a single row
45
+ * aggregates values that genuinely belong to the same position. Under `MARKET`,
46
+ * `POSITION`, or `CUSTOM` isolation the same fold would merge quotes the protocol
47
+ * keeps apart (or that never shared a VA at all), producing totals, leverage, and
48
+ * group-level actions that do not correspond to anything on-chain.
49
+ *
50
+ * @param isolationType - The subaccount's on-chain isolation type.
51
+ * @returns `true` only for `MARKET_DIRECTION`.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * if (supportsQuoteGrouping(subAccount.isolationType)) {
56
+ * const groups = groupQuotes(positions, subAccount.isolationType);
57
+ * }
58
+ * ```
59
+ */
60
+ export declare function supportsQuoteGrouping(isolationType: SubAccountIsolationType): boolean;
61
+ /**
62
+ * Throw unless grouped positions are defined for `isolationType`.
63
+ *
64
+ * The throwing counterpart of {@link supportsQuoteGrouping}, for call sites that
65
+ * want to fail loudly rather than branch.
66
+ *
67
+ * @param isolationType - The subaccount's on-chain isolation type.
68
+ * @throws {SymmError} `validation` / `UNSUPPORTED_GROUPING_ISOLATION` for any type
69
+ * other than `MARKET_DIRECTION`.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * assertQuoteGroupingSupported(subAccount.isolationType);
74
+ * const groups = groupQuotes(positions, subAccount.isolationType);
75
+ * ```
76
+ */
77
+ export declare function assertQuoteGroupingSupported(isolationType: SubAccountIsolationType): void;
2
78
  /**
3
79
  * Resolve a {@link QuoteGroupingStrategy} to the {@link QuoteGroupKeyFn} that
4
80
  * places each quote into its group.
5
81
  *
6
- * A `{ keyOf }` object is returned as-is. A {@link SubAccountIsolationType} maps
7
- * to its built-in strategy: `MARKET` groups by market, `MARKET_DIRECTION` by
8
- * market + side, and `POSITION` / `CUSTOM` produce one group per quote (custom
9
- * isolation places trades in manually-managed VAs, so consumers that want
10
- * VA-based grouping pass their own `keyOf`).
82
+ * A `{ keyOf }` object is returned as-is. The only {@link SubAccountIsolationType}
83
+ * accepted is `MARKET_DIRECTION` (keys by market + side) — every other isolation
84
+ * type is rejected, because grouped positions are not defined for it (see
85
+ * {@link supportsQuoteGrouping}). To fold on another dimension, pass an explicit
86
+ * `{ keyOf }`; {@link keyQuoteByMarket} and {@link keyQuotePerQuote} ship as
87
+ * ready-made key functions.
11
88
  *
12
89
  * @param strategy - The grouping strategy.
13
90
  * @returns The key function for {@link groupQuotes}.
14
- * @throws {SymmError} when given an unknown isolation type.
91
+ * @throws {SymmError} `UNSUPPORTED_GROUPING_ISOLATION` for `MARKET` / `POSITION` /
92
+ * `CUSTOM`, or `UNKNOWN_GROUPING_STRATEGY` for a value that is not an isolation
93
+ * type at all.
15
94
  */
16
95
  export declare function resolveQuoteGroupingStrategy(strategy: QuoteGroupingStrategy): QuoteGroupKeyFn;
17
96
  //# sourceMappingURL=group-strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"group-strategy.d.ts","sourceRoot":"","sources":["../../../src/quotes/grouping/group-strategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAiB,eAAe,EAAE,MAAM,eAAe,CAAC;AA0B3F;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,qBAAqB,GAAG,eAAe,CAiB7F"}
1
+ {"version":3,"file":"group-strategy.d.ts","sourceRoot":"","sources":["../../../src/quotes/grouping/group-strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAU3F;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAEnE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAKnE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,uBAAuB,GAAG,OAAO,CAErF;AAYD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,uBAAuB,GAAG,IAAI,CAGzF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,qBAAqB,GAAG,eAAe,CAW7F"}
@@ -2,12 +2,6 @@ import { SymmError as e } from "../../shared/errors/symm-error.js";
2
2
  import { SubAccountIsolationType as t } from "../../symmio-contracts/account-layer/types.js";
3
3
  //#region src/quotes/grouping/group-strategy.ts
4
4
  function n(e) {
5
- return {
6
- key: `m:${e.symbolId}`,
7
- by: { symbolId: e.symbolId }
8
- };
9
- }
10
- function r(e) {
11
5
  return {
12
6
  key: `md:${e.symbolId}:${e.positionType}`,
13
7
  by: {
@@ -16,6 +10,12 @@ function r(e) {
16
10
  }
17
11
  };
18
12
  }
13
+ function r(e) {
14
+ return {
15
+ key: `m:${e.symbolId}`,
16
+ by: { symbolId: e.symbolId }
17
+ };
18
+ }
19
19
  function i(e) {
20
20
  return {
21
21
  key: e.key,
@@ -26,17 +26,22 @@ function i(e) {
26
26
  }
27
27
  };
28
28
  }
29
- function a(a) {
30
- if (typeof a == "object") return a.keyOf;
31
- switch (a) {
32
- case t.MARKET: return n;
33
- case t.MARKET_DIRECTION: return r;
34
- case t.POSITION:
35
- case t.CUSTOM: return i;
36
- default: throw new e("validation", "UNKNOWN_GROUPING_STRATEGY", `groupQuotes: unknown grouping strategy \`${a}\`.`);
37
- }
29
+ function a(e) {
30
+ return e === t.MARKET_DIRECTION;
31
+ }
32
+ function o(n) {
33
+ let r = t[n] ?? n;
34
+ return new e("validation", "UNSUPPORTED_GROUPING_ISOLATION", `Grouped positions are only defined for ${t[t.MARKET_DIRECTION]} isolation (got ${r}). Pass a custom \`{ keyOf }\` — e.g. \`keyQuoteByMarket\` or \`keyQuotePerQuote\` — to group on another dimension.`);
35
+ }
36
+ function s(e) {
37
+ if (!a(e)) throw o(e);
38
+ }
39
+ function c(r) {
40
+ if (typeof r == "object") return r.keyOf;
41
+ if (r === t.MARKET_DIRECTION) return n;
42
+ throw t[r] === void 0 ? new e("validation", "UNKNOWN_GROUPING_STRATEGY", `groupQuotes: unknown grouping strategy \`${r}\`.`) : o(r);
38
43
  }
39
44
  //#endregion
40
- export { a as resolveQuoteGroupingStrategy };
45
+ export { s as assertQuoteGroupingSupported, r as keyQuoteByMarket, i as keyQuotePerQuote, c as resolveQuoteGroupingStrategy, a as supportsQuoteGrouping };
41
46
 
42
47
  //# sourceMappingURL=group-strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"group-strategy.js","names":[],"sources":["../../../src/quotes/grouping/group-strategy.ts"],"sourcesContent":["import { SymmError } from \"../../shared/errors/symm-error\";\nimport { SubAccountIsolationType } from \"../../symmio-contracts/account-layer/types\";\nimport type { UnifiedQuote } from \"../unified-quote\";\nimport type { QuoteGroupingStrategy, QuoteGroupKey, QuoteGroupKeyFn } from \"./quote-group\";\n\n/** Group by market only — both sides of a market collapse together (`MARKET` isolation). */\nfunction keyByMarket(quote: UnifiedQuote): QuoteGroupKey {\n return { key: `m:${quote.symbolId}`, by: { symbolId: quote.symbolId } };\n}\n\n/** Group by market + side (`MARKET_DIRECTION` isolation — what the lowcap UI used). */\nfunction keyByMarketDirection(quote: UnifiedQuote): QuoteGroupKey {\n return {\n key: `md:${quote.symbolId}:${quote.positionType}`,\n by: { symbolId: quote.symbolId, positionType: quote.positionType },\n };\n}\n\n/**\n * Group per single quote — no aggregation (`POSITION` and `CUSTOM` isolation).\n * The group carries the quote's full identity so consumers can label it.\n */\nfunction keyPerQuote(quote: UnifiedQuote): QuoteGroupKey {\n return {\n key: quote.key,\n by: { symbolId: quote.symbolId, positionType: quote.positionType, vaAddress: quote.vaAddress },\n };\n}\n\n/**\n * Resolve a {@link QuoteGroupingStrategy} to the {@link QuoteGroupKeyFn} that\n * places each quote into its group.\n *\n * A `{ keyOf }` object is returned as-is. A {@link SubAccountIsolationType} maps\n * to its built-in strategy: `MARKET` groups by market, `MARKET_DIRECTION` by\n * market + side, and `POSITION` / `CUSTOM` produce one group per quote (custom\n * isolation places trades in manually-managed VAs, so consumers that want\n * VA-based grouping pass their own `keyOf`).\n *\n * @param strategy - The grouping strategy.\n * @returns The key function for {@link groupQuotes}.\n * @throws {SymmError} when given an unknown isolation type.\n */\nexport function resolveQuoteGroupingStrategy(strategy: QuoteGroupingStrategy): QuoteGroupKeyFn {\n if (typeof strategy === \"object\") return strategy.keyOf;\n switch (strategy) {\n case SubAccountIsolationType.MARKET:\n return keyByMarket;\n case SubAccountIsolationType.MARKET_DIRECTION:\n return keyByMarketDirection;\n case SubAccountIsolationType.POSITION:\n case SubAccountIsolationType.CUSTOM:\n return keyPerQuote;\n default:\n throw new SymmError(\n \"validation\",\n \"UNKNOWN_GROUPING_STRATEGY\",\n `groupQuotes: unknown grouping strategy \\`${strategy}\\`.`,\n );\n }\n}\n"],"mappings":";;;AAMA,SAAS,EAAY,GAAoC;CACvD,OAAO;EAAE,KAAK,KAAK,EAAM;EAAY,IAAI,EAAE,UAAU,EAAM,SAAS;CAAE;AACxE;AAGA,SAAS,EAAqB,GAAoC;CAChE,OAAO;EACL,KAAK,MAAM,EAAM,SAAS,GAAG,EAAM;EACnC,IAAI;GAAE,UAAU,EAAM;GAAU,cAAc,EAAM;EAAa;CACnE;AACF;AAMA,SAAS,EAAY,GAAoC;CACvD,OAAO;EACL,KAAK,EAAM;EACX,IAAI;GAAE,UAAU,EAAM;GAAU,cAAc,EAAM;GAAc,WAAW,EAAM;EAAU;CAC/F;AACF;AAgBA,SAAgB,EAA6B,GAAkD;CAC7F,IAAI,OAAO,KAAa,UAAU,OAAO,EAAS;CAClD,QAAQ,GAAR;EACE,KAAK,EAAwB,QAC3B,OAAO;EACT,KAAK,EAAwB,kBAC3B,OAAO;EACT,KAAK,EAAwB;EAC7B,KAAK,EAAwB,QAC3B,OAAO;EACT,SACE,MAAM,IAAI,EACR,cACA,6BACA,4CAA4C,EAAS,IACvD;CACJ;AACF"}
1
+ {"version":3,"file":"group-strategy.js","names":[],"sources":["../../../src/quotes/grouping/group-strategy.ts"],"sourcesContent":["import { SymmError } from \"../../shared/errors/symm-error\";\nimport { SubAccountIsolationType } from \"../../symmio-contracts/account-layer/types\";\nimport type { UnifiedQuote } from \"../unified-quote\";\nimport type { QuoteGroupingStrategy, QuoteGroupKey, QuoteGroupKeyFn } from \"./quote-group\";\n\n/** Group by market + side — the `MARKET_DIRECTION` strategy, the only isolation-backed one. */\nfunction keyByMarketDirection(quote: UnifiedQuote): QuoteGroupKey {\n return {\n key: `md:${quote.symbolId}:${quote.positionType}`,\n by: { symbolId: quote.symbolId, positionType: quote.positionType },\n };\n}\n\n/**\n * Key a quote by market only, collapsing both sides of a market into one group.\n *\n * Not reachable through a {@link SubAccountIsolationType} — grouped positions are\n * defined for `MARKET_DIRECTION` only (see {@link supportsQuoteGrouping}). Pass it\n * as an explicit `{ keyOf }` when you deliberately want market-wide folding and\n * accept that the aggregated metrics mix longs and shorts.\n *\n * @param quote - The quote to place into a group.\n * @returns The group key `m:<symbolId>` and its `{ symbolId }` dimension.\n *\n * @example\n * ```ts\n * const groups = groupQuotes(positions, { keyOf: keyQuoteByMarket });\n * ```\n */\nexport function keyQuoteByMarket(quote: UnifiedQuote): QuoteGroupKey {\n return { key: `m:${quote.symbolId}`, by: { symbolId: quote.symbolId } };\n}\n\n/**\n * Key a quote by its own identity, producing one single-child group per quote —\n * grouping with no aggregation.\n *\n * Not reachable through a {@link SubAccountIsolationType} (see\n * {@link supportsQuoteGrouping}). Pass it as an explicit `{ keyOf }` to render\n * ungrouped positions through the same `QuoteGroup` shape the grouped UI uses.\n *\n * @param quote - The quote to place into a group.\n * @returns The quote's own `key` and its full `{ symbolId, positionType, vaAddress }` identity.\n *\n * @example\n * ```ts\n * const groups = groupQuotes(positions, { keyOf: keyQuotePerQuote });\n * // every group has isAggregate === false\n * ```\n */\nexport function keyQuotePerQuote(quote: UnifiedQuote): QuoteGroupKey {\n return {\n key: quote.key,\n by: { symbolId: quote.symbolId, positionType: quote.positionType, vaAddress: quote.vaAddress },\n };\n}\n\n/**\n * Whether grouped positions are defined for an isolation type.\n *\n * Only `MARKET_DIRECTION` groups. It is the one isolation where a market + side\n * cohort is a real on-chain unit — the AccountLayer allocates one Virtual Account\n * per market + direction — so folding that cohort's quotes into a single row\n * aggregates values that genuinely belong to the same position. Under `MARKET`,\n * `POSITION`, or `CUSTOM` isolation the same fold would merge quotes the protocol\n * keeps apart (or that never shared a VA at all), producing totals, leverage, and\n * group-level actions that do not correspond to anything on-chain.\n *\n * @param isolationType - The subaccount's on-chain isolation type.\n * @returns `true` only for `MARKET_DIRECTION`.\n *\n * @example\n * ```ts\n * if (supportsQuoteGrouping(subAccount.isolationType)) {\n * const groups = groupQuotes(positions, subAccount.isolationType);\n * }\n * ```\n */\nexport function supportsQuoteGrouping(isolationType: SubAccountIsolationType): boolean {\n return isolationType === SubAccountIsolationType.MARKET_DIRECTION;\n}\n\n/** The rejection every unsupported-isolation path throws, built in one place. */\nfunction unsupportedIsolationError(isolationType: SubAccountIsolationType): SymmError {\n const name = SubAccountIsolationType[isolationType] ?? isolationType;\n return new SymmError(\n \"validation\",\n \"UNSUPPORTED_GROUPING_ISOLATION\",\n `Grouped positions are only defined for ${SubAccountIsolationType[SubAccountIsolationType.MARKET_DIRECTION]} isolation (got ${name}). Pass a custom \\`{ keyOf }\\` — e.g. \\`keyQuoteByMarket\\` or \\`keyQuotePerQuote\\` — to group on another dimension.`,\n );\n}\n\n/**\n * Throw unless grouped positions are defined for `isolationType`.\n *\n * The throwing counterpart of {@link supportsQuoteGrouping}, for call sites that\n * want to fail loudly rather than branch.\n *\n * @param isolationType - The subaccount's on-chain isolation type.\n * @throws {SymmError} `validation` / `UNSUPPORTED_GROUPING_ISOLATION` for any type\n * other than `MARKET_DIRECTION`.\n *\n * @example\n * ```ts\n * assertQuoteGroupingSupported(subAccount.isolationType);\n * const groups = groupQuotes(positions, subAccount.isolationType);\n * ```\n */\nexport function assertQuoteGroupingSupported(isolationType: SubAccountIsolationType): void {\n if (supportsQuoteGrouping(isolationType)) return;\n throw unsupportedIsolationError(isolationType);\n}\n\n/**\n * Resolve a {@link QuoteGroupingStrategy} to the {@link QuoteGroupKeyFn} that\n * places each quote into its group.\n *\n * A `{ keyOf }` object is returned as-is. The only {@link SubAccountIsolationType}\n * accepted is `MARKET_DIRECTION` (keys by market + side) — every other isolation\n * type is rejected, because grouped positions are not defined for it (see\n * {@link supportsQuoteGrouping}). To fold on another dimension, pass an explicit\n * `{ keyOf }`; {@link keyQuoteByMarket} and {@link keyQuotePerQuote} ship as\n * ready-made key functions.\n *\n * @param strategy - The grouping strategy.\n * @returns The key function for {@link groupQuotes}.\n * @throws {SymmError} `UNSUPPORTED_GROUPING_ISOLATION` for `MARKET` / `POSITION` /\n * `CUSTOM`, or `UNKNOWN_GROUPING_STRATEGY` for a value that is not an isolation\n * type at all.\n */\nexport function resolveQuoteGroupingStrategy(strategy: QuoteGroupingStrategy): QuoteGroupKeyFn {\n if (typeof strategy === \"object\") return strategy.keyOf;\n if (strategy === SubAccountIsolationType.MARKET_DIRECTION) return keyByMarketDirection;\n if (SubAccountIsolationType[strategy] === undefined) {\n throw new SymmError(\n \"validation\",\n \"UNKNOWN_GROUPING_STRATEGY\",\n `groupQuotes: unknown grouping strategy \\`${strategy}\\`.`,\n );\n }\n throw unsupportedIsolationError(strategy);\n}\n"],"mappings":";;;AAMA,SAAS,EAAqB,GAAoC;CAChE,OAAO;EACL,KAAK,MAAM,EAAM,SAAS,GAAG,EAAM;EACnC,IAAI;GAAE,UAAU,EAAM;GAAU,cAAc,EAAM;EAAa;CACnE;AACF;AAkBA,SAAgB,EAAiB,GAAoC;CACnE,OAAO;EAAE,KAAK,KAAK,EAAM;EAAY,IAAI,EAAE,UAAU,EAAM,SAAS;CAAE;AACxE;AAmBA,SAAgB,EAAiB,GAAoC;CACnE,OAAO;EACL,KAAK,EAAM;EACX,IAAI;GAAE,UAAU,EAAM;GAAU,cAAc,EAAM;GAAc,WAAW,EAAM;EAAU;CAC/F;AACF;AAuBA,SAAgB,EAAsB,GAAiD;CACrF,OAAO,MAAkB,EAAwB;AACnD;AAGA,SAAS,EAA0B,GAAmD;CACpF,IAAM,IAAO,EAAwB,MAAkB;CACvD,OAAO,IAAI,EACT,cACA,kCACA,0CAA0C,EAAwB,EAAwB,kBAAkB,kBAAkB,EAAK,oHACrI;AACF;AAkBA,SAAgB,EAA6B,GAA8C;CACrF,OAAsB,CAAa,GACvC,MAAM,EAA0B,CAAa;AAC/C;AAmBA,SAAgB,EAA6B,GAAkD;CAC7F,IAAI,OAAO,KAAa,UAAU,OAAO,EAAS;CAClD,IAAI,MAAa,EAAwB,kBAAkB,OAAO;CAQlE,MAPI,EAAwB,OAAc,KAAA,IAClC,IAAI,EACR,cACA,6BACA,4CAA4C,EAAS,IACvD,IAEI,EAA0B,CAAQ;AAC1C"}
@@ -1,3 +1,5 @@
1
+ export * from './aggregate-group-funding.js';
2
+ export * from './aggregate-group-upnl.js';
1
3
  export * from './aggregate-metrics.js';
2
4
  export * from './group-quotes.js';
3
5
  export * from './group-strategy.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/quotes/grouping/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/quotes/grouping/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
@@ -27,9 +27,9 @@ export declare function isPendingOrder(quote: UnifiedQuote): boolean;
27
27
  * after a `SendQuoteTransaction` notification anchors the row but before the
28
28
  * on-chain poll has returned its full struct — without it the row would drop out of
29
29
  * the grouped view for a tick. Any closing-stage row (`OPTIMISTIC_CLOSE` /
30
- * `CLOSE_PRICE_FILLED` / `WRITE_ONCHAIN_CLOSE` / `CLOSING`) is always active;
31
- * terminal rows (`CLOSED` / `CANCELED` / `EXPIRED` / `LIQUIDATED`, or an off-chain
32
- * `FAILED`) are neither.
30
+ * `CLOSE_PRICE_FILLED` / `WRITE_ONCHAIN_CLOSE`) is always active; terminal rows
31
+ * (`CLOSED` / `CANCELED` / `EXPIRED` / `LIQUIDATED`, or an off-chain `FAILED`) are
32
+ * neither.
33
33
  *
34
34
  * Mutually exclusive with {@link isPendingOrder}.
35
35
  *
@@ -1 +1 @@
1
- {"version":3,"file":"partition-quotes.d.ts","sourceRoot":"","sources":["../../../src/quotes/grouping/partition-quotes.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAmBrE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAW3D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAgB7D;AAED,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,iBAAiB,CAQlF"}
1
+ {"version":3,"file":"partition-quotes.d.ts","sourceRoot":"","sources":["../../../src/quotes/grouping/partition-quotes.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAmBrE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAW3D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAe7D;AAED,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,iBAAiB,CAQlF"}
@@ -23,8 +23,7 @@ function o(t) {
23
23
  case n.ONCHAIN: return t.orderType !== e.LIMIT;
24
24
  case n.OPTIMISTIC_CLOSE:
25
25
  case n.CLOSE_PRICE_FILLED:
26
- case n.WRITE_ONCHAIN_CLOSE:
27
- case n.CLOSING: return !0;
26
+ case n.WRITE_ONCHAIN_CLOSE: return !0;
28
27
  default: return !1;
29
28
  }
30
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"partition-quotes.js","names":[],"sources":["../../../src/quotes/grouping/partition-quotes.ts"],"sourcesContent":["import { OrderType, QuoteStatus } from \"../../symmio-contracts/symmio/types\";\nimport { QuoteLifecycle, type UnifiedQuote } from \"../unified-quote\";\n\n/**\n * On-chain statuses of a resting order that has **not** become a position yet.\n * These are the statuses `getPartyAPendingQuotes` returns.\n */\nconst PENDING_STATUSES = new Set<QuoteStatus>([QuoteStatus.PENDING, QuoteStatus.LOCKED, QuoteStatus.CANCEL_PENDING]);\n\n/**\n * On-chain statuses of an open position (including one with a close in flight).\n * These are the statuses `getPartyAOpenPositions` returns.\n */\nconst ACTIVE_STATUSES = new Set<QuoteStatus>([\n QuoteStatus.OPENED,\n QuoteStatus.CLOSE_PENDING,\n QuoteStatus.CANCEL_CLOSE_PENDING,\n QuoteStatus.LIQUIDATED_PENDING,\n]);\n\n/**\n * Whether a quote is a **resting/pending order** — submitted but not yet an open\n * position.\n *\n * An anchored row is classified by its on-chain {@link QuoteStatus}\n * (`PENDING` / `LOCKED` / `CANCEL_PENDING`). An off-chain optimistic row (no\n * status yet) is pending only when it is a not-yet-filled `LIMIT` order; an\n * optimistic `MARKET` open is treated as an opening position instead.\n *\n * Mutually exclusive with {@link isActivePosition}.\n *\n * @param quote - The unified quote to classify.\n * @returns `true` for a resting/pending order.\n */\nexport function isPendingOrder(quote: UnifiedQuote): boolean {\n if (quote.quoteStatus !== undefined) return PENDING_STATUSES.has(quote.quoteStatus);\n if (\n quote.lifecycle === QuoteLifecycle.OPTIMISTIC ||\n quote.lifecycle === QuoteLifecycle.PRICE_FILLED ||\n quote.lifecycle === QuoteLifecycle.WRITE_ONCHAIN ||\n quote.lifecycle === QuoteLifecycle.ONCHAIN\n ) {\n return quote.orderType === OrderType.LIMIT;\n }\n return false;\n}\n\n/**\n * Whether a quote is an **active position** — opened (or opening), possibly with\n * a close in flight.\n *\n * An anchored row is classified by its on-chain {@link QuoteStatus}\n * (`OPENED` / `CLOSE_PENDING` / `CANCEL_CLOSE_PENDING` / `LIQUIDATED_PENDING`).\n * A row with no `quoteStatus` yet is classified by lifecycle + order type: an\n * optimistic/price-filled or just-anchored (`WRITE_ONCHAIN` / `ONCHAIN`) `MARKET`\n * open is an active position, while the matching `LIMIT` order is still resting\n * (pending). The `WRITE_ONCHAIN`-without-`quoteStatus` case is the brief window\n * after a `SendQuoteTransaction` notification anchors the row but before the\n * on-chain poll has returned its full struct — without it the row would drop out of\n * the grouped view for a tick. Any closing-stage row (`OPTIMISTIC_CLOSE` /\n * `CLOSE_PRICE_FILLED` / `WRITE_ONCHAIN_CLOSE` / `CLOSING`) is always active;\n * terminal rows (`CLOSED` / `CANCELED` / `EXPIRED` / `LIQUIDATED`, or an off-chain\n * `FAILED`) are neither.\n *\n * Mutually exclusive with {@link isPendingOrder}.\n *\n * @param quote - The unified quote to classify.\n * @returns `true` for an active position.\n */\nexport function isActivePosition(quote: UnifiedQuote): boolean {\n if (quote.quoteStatus !== undefined) return ACTIVE_STATUSES.has(quote.quoteStatus);\n switch (quote.lifecycle) {\n case QuoteLifecycle.OPTIMISTIC:\n case QuoteLifecycle.PRICE_FILLED:\n case QuoteLifecycle.WRITE_ONCHAIN:\n case QuoteLifecycle.ONCHAIN:\n return quote.orderType !== OrderType.LIMIT;\n case QuoteLifecycle.OPTIMISTIC_CLOSE:\n case QuoteLifecycle.CLOSE_PRICE_FILLED:\n case QuoteLifecycle.WRITE_ONCHAIN_CLOSE:\n case QuoteLifecycle.CLOSING:\n return true;\n default:\n return false;\n }\n}\n\n/** Result of {@link partitionQuotes}. */\nexport interface PartitionedQuotes {\n /** Quotes that are open (or opening) positions. */\n positions: UnifiedQuote[];\n /** Quotes that are resting/pending orders. */\n pending: UnifiedQuote[];\n}\n\n/**\n * Split unified quotes into active positions and resting/pending orders — the\n * grouped-view-vs-orders-tab split. Terminal rows (closed / cancelled / expired /\n * liquidated / failed) fall into neither bucket and are dropped, so\n * `positions ∪ pending` is the set of still-live quotes.\n *\n * @param quotes - The unified quotes to split.\n * @returns The `positions` and `pending` buckets, each preserving input order.\n *\n * @example\n * ```ts\n * const { positions, pending } = partitionQuotes(quotes);\n * const groups = groupQuotes(positions, SubAccountIsolationType.MARKET_DIRECTION);\n * ```\n */\nexport function partitionQuotes(quotes: readonly UnifiedQuote[]): PartitionedQuotes {\n const positions: UnifiedQuote[] = [];\n const pending: UnifiedQuote[] = [];\n for (const quote of quotes) {\n if (isPendingOrder(quote)) pending.push(quote);\n else if (isActivePosition(quote)) positions.push(quote);\n }\n return { positions, pending };\n}\n"],"mappings":";;;AAOA,IAAM,IAAmB,IAAI,IAAiB;CAAC,EAAY;CAAS,EAAY;CAAQ,EAAY;AAAc,CAAC,GAM7G,IAAkB,IAAI,IAAiB;CAC3C,EAAY;CACZ,EAAY;CACZ,EAAY;CACZ,EAAY;AACd,CAAC;AAgBD,SAAgB,EAAe,GAA8B;CAU3D,OATI,EAAM,gBAAgB,KAAA,IAExB,EAAM,cAAc,EAAe,cACnC,EAAM,cAAc,EAAe,gBACnC,EAAM,cAAc,EAAe,iBACnC,EAAM,cAAc,EAAe,UAE5B,EAAM,cAAc,EAAU,QAEhC,KATqC,EAAiB,IAAI,EAAM,WAAW;AAUpF;AAwBA,SAAgB,EAAiB,GAA8B;CAC7D,IAAI,EAAM,gBAAgB,KAAA,GAAW,OAAO,EAAgB,IAAI,EAAM,WAAW;CACjF,QAAQ,EAAM,WAAd;EACE,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe,SAClB,OAAO,EAAM,cAAc,EAAU;EACvC,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe,SAClB,OAAO;EACT,SACE,OAAO;CACX;AACF;AAyBA,SAAgB,EAAgB,GAAoD;CAClF,IAAM,IAA4B,CAAC,GAC7B,IAA0B,CAAC;CACjC,KAAK,IAAM,KAAS,GAClB,AAAI,EAAe,CAAK,IAAG,EAAQ,KAAK,CAAK,IACpC,EAAiB,CAAK,KAAG,EAAU,KAAK,CAAK;CAExD,OAAO;EAAE;EAAW;CAAQ;AAC9B"}
1
+ {"version":3,"file":"partition-quotes.js","names":[],"sources":["../../../src/quotes/grouping/partition-quotes.ts"],"sourcesContent":["import { OrderType, QuoteStatus } from \"../../symmio-contracts/symmio/types\";\nimport { QuoteLifecycle, type UnifiedQuote } from \"../unified-quote\";\n\n/**\n * On-chain statuses of a resting order that has **not** become a position yet.\n * These are the statuses `getPartyAPendingQuotes` returns.\n */\nconst PENDING_STATUSES = new Set<QuoteStatus>([QuoteStatus.PENDING, QuoteStatus.LOCKED, QuoteStatus.CANCEL_PENDING]);\n\n/**\n * On-chain statuses of an open position (including one with a close in flight).\n * These are the statuses `getPartyAOpenPositions` returns.\n */\nconst ACTIVE_STATUSES = new Set<QuoteStatus>([\n QuoteStatus.OPENED,\n QuoteStatus.CLOSE_PENDING,\n QuoteStatus.CANCEL_CLOSE_PENDING,\n QuoteStatus.LIQUIDATED_PENDING,\n]);\n\n/**\n * Whether a quote is a **resting/pending order** — submitted but not yet an open\n * position.\n *\n * An anchored row is classified by its on-chain {@link QuoteStatus}\n * (`PENDING` / `LOCKED` / `CANCEL_PENDING`). An off-chain optimistic row (no\n * status yet) is pending only when it is a not-yet-filled `LIMIT` order; an\n * optimistic `MARKET` open is treated as an opening position instead.\n *\n * Mutually exclusive with {@link isActivePosition}.\n *\n * @param quote - The unified quote to classify.\n * @returns `true` for a resting/pending order.\n */\nexport function isPendingOrder(quote: UnifiedQuote): boolean {\n if (quote.quoteStatus !== undefined) return PENDING_STATUSES.has(quote.quoteStatus);\n if (\n quote.lifecycle === QuoteLifecycle.OPTIMISTIC ||\n quote.lifecycle === QuoteLifecycle.PRICE_FILLED ||\n quote.lifecycle === QuoteLifecycle.WRITE_ONCHAIN ||\n quote.lifecycle === QuoteLifecycle.ONCHAIN\n ) {\n return quote.orderType === OrderType.LIMIT;\n }\n return false;\n}\n\n/**\n * Whether a quote is an **active position** — opened (or opening), possibly with\n * a close in flight.\n *\n * An anchored row is classified by its on-chain {@link QuoteStatus}\n * (`OPENED` / `CLOSE_PENDING` / `CANCEL_CLOSE_PENDING` / `LIQUIDATED_PENDING`).\n * A row with no `quoteStatus` yet is classified by lifecycle + order type: an\n * optimistic/price-filled or just-anchored (`WRITE_ONCHAIN` / `ONCHAIN`) `MARKET`\n * open is an active position, while the matching `LIMIT` order is still resting\n * (pending). The `WRITE_ONCHAIN`-without-`quoteStatus` case is the brief window\n * after a `SendQuoteTransaction` notification anchors the row but before the\n * on-chain poll has returned its full struct — without it the row would drop out of\n * the grouped view for a tick. Any closing-stage row (`OPTIMISTIC_CLOSE` /\n * `CLOSE_PRICE_FILLED` / `WRITE_ONCHAIN_CLOSE`) is always active; terminal rows\n * (`CLOSED` / `CANCELED` / `EXPIRED` / `LIQUIDATED`, or an off-chain `FAILED`) are\n * neither.\n *\n * Mutually exclusive with {@link isPendingOrder}.\n *\n * @param quote - The unified quote to classify.\n * @returns `true` for an active position.\n */\nexport function isActivePosition(quote: UnifiedQuote): boolean {\n if (quote.quoteStatus !== undefined) return ACTIVE_STATUSES.has(quote.quoteStatus);\n switch (quote.lifecycle) {\n case QuoteLifecycle.OPTIMISTIC:\n case QuoteLifecycle.PRICE_FILLED:\n case QuoteLifecycle.WRITE_ONCHAIN:\n case QuoteLifecycle.ONCHAIN:\n return quote.orderType !== OrderType.LIMIT;\n case QuoteLifecycle.OPTIMISTIC_CLOSE:\n case QuoteLifecycle.CLOSE_PRICE_FILLED:\n case QuoteLifecycle.WRITE_ONCHAIN_CLOSE:\n return true;\n default:\n return false;\n }\n}\n\n/** Result of {@link partitionQuotes}. */\nexport interface PartitionedQuotes {\n /** Quotes that are open (or opening) positions. */\n positions: UnifiedQuote[];\n /** Quotes that are resting/pending orders. */\n pending: UnifiedQuote[];\n}\n\n/**\n * Split unified quotes into active positions and resting/pending orders — the\n * grouped-view-vs-orders-tab split. Terminal rows (closed / cancelled / expired /\n * liquidated / failed) fall into neither bucket and are dropped, so\n * `positions ∪ pending` is the set of still-live quotes.\n *\n * @param quotes - The unified quotes to split.\n * @returns The `positions` and `pending` buckets, each preserving input order.\n *\n * @example\n * ```ts\n * const { positions, pending } = partitionQuotes(quotes);\n * const groups = groupQuotes(positions, SubAccountIsolationType.MARKET_DIRECTION);\n * ```\n */\nexport function partitionQuotes(quotes: readonly UnifiedQuote[]): PartitionedQuotes {\n const positions: UnifiedQuote[] = [];\n const pending: UnifiedQuote[] = [];\n for (const quote of quotes) {\n if (isPendingOrder(quote)) pending.push(quote);\n else if (isActivePosition(quote)) positions.push(quote);\n }\n return { positions, pending };\n}\n"],"mappings":";;;AAOA,IAAM,IAAmB,IAAI,IAAiB;CAAC,EAAY;CAAS,EAAY;CAAQ,EAAY;AAAc,CAAC,GAM7G,IAAkB,IAAI,IAAiB;CAC3C,EAAY;CACZ,EAAY;CACZ,EAAY;CACZ,EAAY;AACd,CAAC;AAgBD,SAAgB,EAAe,GAA8B;CAU3D,OATI,EAAM,gBAAgB,KAAA,IAExB,EAAM,cAAc,EAAe,cACnC,EAAM,cAAc,EAAe,gBACnC,EAAM,cAAc,EAAe,iBACnC,EAAM,cAAc,EAAe,UAE5B,EAAM,cAAc,EAAU,QAEhC,KATqC,EAAiB,IAAI,EAAM,WAAW;AAUpF;AAwBA,SAAgB,EAAiB,GAA8B;CAC7D,IAAI,EAAM,gBAAgB,KAAA,GAAW,OAAO,EAAgB,IAAI,EAAM,WAAW;CACjF,QAAQ,EAAM,WAAd;EACE,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe,SAClB,OAAO,EAAM,cAAc,EAAU;EACvC,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe,qBAClB,OAAO;EACT,SACE,OAAO;CACX;AACF;AAyBA,SAAgB,EAAgB,GAAoD;CAClF,IAAM,IAA4B,CAAC,GAC7B,IAA0B,CAAC;CACjC,KAAK,IAAM,KAAS,GAClB,AAAI,EAAe,CAAK,IAAG,EAAQ,KAAK,CAAK,IACpC,EAAiB,CAAK,KAAG,EAAU,KAAK,CAAK;CAExD,OAAO;EAAE;EAAW;CAAQ;AAC9B"}