@symmio/trading-react 1.1.0 → 3.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 (543) hide show
  1. package/dist/account-layer/index.d.ts +1 -0
  2. package/dist/account-layer/index.d.ts.map +1 -1
  3. package/dist/account-layer/index.js +26 -25
  4. package/dist/account-layer/use-deallocate-and-initiate-withdraw.d.ts +53 -0
  5. package/dist/account-layer/use-deallocate-and-initiate-withdraw.d.ts.map +1 -0
  6. package/dist/account-layer/use-deallocate-and-initiate-withdraw.js +49 -0
  7. package/dist/account-layer/use-deallocate-and-initiate-withdraw.js.map +1 -0
  8. package/dist/account-layer/use-deposit-and-allocate.d.ts +4 -2
  9. package/dist/account-layer/use-deposit-and-allocate.d.ts.map +1 -1
  10. package/dist/account-layer/use-deposit-and-allocate.js +17 -15
  11. package/dist/account-layer/use-deposit-and-allocate.js.map +1 -1
  12. package/dist/account-layer/use-edit-account-name.d.ts.map +1 -1
  13. package/dist/account-layer/use-edit-account-name.js +14 -14
  14. package/dist/account-layer/use-edit-account-name.js.map +1 -1
  15. package/dist/account-layer/use-virtual-accounts-addresses-of-sub-account.d.ts +1 -1
  16. package/dist/account-layer/use-virtual-accounts-addresses-of-sub-account.js.map +1 -1
  17. package/dist/candles/index.d.ts +5 -0
  18. package/dist/candles/index.d.ts.map +1 -0
  19. package/dist/candles/index.js +5 -0
  20. package/dist/candles/use-binance-candle-source.d.ts +27 -0
  21. package/dist/candles/use-binance-candle-source.d.ts.map +1 -0
  22. package/dist/candles/use-binance-candle-source.js +24 -0
  23. package/dist/candles/use-binance-candle-source.js.map +1 -0
  24. package/dist/candles/use-candle-stream.d.ts +65 -0
  25. package/dist/candles/use-candle-stream.d.ts.map +1 -0
  26. package/dist/candles/use-candle-stream.js +44 -0
  27. package/dist/candles/use-candle-stream.js.map +1 -0
  28. package/dist/candles/use-candles.d.ts +40 -0
  29. package/dist/candles/use-candles.d.ts.map +1 -0
  30. package/dist/candles/use-candles.js +22 -0
  31. package/dist/candles/use-candles.js.map +1 -0
  32. package/dist/candles/use-tradingview-datafeed.d.ts +31 -0
  33. package/dist/candles/use-tradingview-datafeed.d.ts.map +1 -0
  34. package/dist/candles/use-tradingview-datafeed.js +21 -0
  35. package/dist/candles/use-tradingview-datafeed.js.map +1 -0
  36. package/dist/index.d.ts +125 -21
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +201 -113
  39. package/dist/instant-layer/index.d.ts +4 -0
  40. package/dist/instant-layer/index.d.ts.map +1 -1
  41. package/dist/instant-layer/index.js +10 -6
  42. package/dist/instant-layer/use-instant-close-auto.d.ts.map +1 -1
  43. package/dist/instant-layer/use-instant-close-auto.js +12 -11
  44. package/dist/instant-layer/use-instant-close-auto.js.map +1 -1
  45. package/dist/instant-layer/use-instant-close-bulk-auto.d.ts.map +1 -1
  46. package/dist/instant-layer/use-instant-close-bulk-auto.js +12 -11
  47. package/dist/instant-layer/use-instant-close-bulk-auto.js.map +1 -1
  48. package/dist/instant-layer/use-instant-close-bulk.d.ts.map +1 -1
  49. package/dist/instant-layer/use-instant-close-bulk.js +12 -11
  50. package/dist/instant-layer/use-instant-close-bulk.js.map +1 -1
  51. package/dist/instant-layer/use-instant-close.d.ts.map +1 -1
  52. package/dist/instant-layer/use-instant-close.js +12 -11
  53. package/dist/instant-layer/use-instant-close.js.map +1 -1
  54. package/dist/instant-layer/use-instant-open-auto.d.ts.map +1 -1
  55. package/dist/instant-layer/use-instant-open-auto.js +12 -11
  56. package/dist/instant-layer/use-instant-open-auto.js.map +1 -1
  57. package/dist/instant-layer/use-instant-open-fees.d.ts +43 -0
  58. package/dist/instant-layer/use-instant-open-fees.d.ts.map +1 -0
  59. package/dist/instant-layer/use-instant-open-fees.js +111 -0
  60. package/dist/instant-layer/use-instant-open-fees.js.map +1 -0
  61. package/dist/instant-layer/use-instant-open-with-tpsl.d.ts.map +1 -1
  62. package/dist/instant-layer/use-instant-open-with-tpsl.js +34 -31
  63. package/dist/instant-layer/use-instant-open-with-tpsl.js.map +1 -1
  64. package/dist/instant-layer/use-instant-open.d.ts +23 -18
  65. package/dist/instant-layer/use-instant-open.d.ts.map +1 -1
  66. package/dist/instant-layer/use-instant-open.js +12 -11
  67. package/dist/instant-layer/use-instant-open.js.map +1 -1
  68. package/dist/instant-layer/use-instant-opens.d.ts +6 -6
  69. package/dist/instant-layer/use-instant-opens.d.ts.map +1 -1
  70. package/dist/instant-layer/use-instant-opens.js.map +1 -1
  71. package/dist/instant-layer/use-instant-trade-required-selectors.d.ts +25 -0
  72. package/dist/instant-layer/use-instant-trade-required-selectors.d.ts.map +1 -0
  73. package/dist/instant-layer/use-instant-trade-required-selectors.js +13 -0
  74. package/dist/instant-layer/use-instant-trade-required-selectors.js.map +1 -0
  75. package/dist/instant-layer/use-limit-close-auto.d.ts +30 -0
  76. package/dist/instant-layer/use-limit-close-auto.d.ts.map +1 -0
  77. package/dist/instant-layer/use-limit-close-auto.js +33 -0
  78. package/dist/instant-layer/use-limit-close-auto.js.map +1 -0
  79. package/dist/instant-layer/use-limit-open-auto.d.ts +30 -0
  80. package/dist/instant-layer/use-limit-open-auto.d.ts.map +1 -0
  81. package/dist/instant-layer/use-limit-open-auto.js +33 -0
  82. package/dist/instant-layer/use-limit-open-auto.js.map +1 -0
  83. package/dist/inventory/index.d.ts +3 -0
  84. package/dist/inventory/index.d.ts.map +1 -0
  85. package/dist/inventory/index.js +3 -0
  86. package/dist/inventory/use-inventory-tvl-history.d.ts +27 -0
  87. package/dist/inventory/use-inventory-tvl-history.d.ts.map +1 -0
  88. package/dist/inventory/use-inventory-tvl-history.js +28 -0
  89. package/dist/inventory/use-inventory-tvl-history.js.map +1 -0
  90. package/dist/inventory/use-inventory-tvl.d.ts +23 -0
  91. package/dist/inventory/use-inventory-tvl.d.ts.map +1 -0
  92. package/dist/inventory/use-inventory-tvl.js +27 -0
  93. package/dist/inventory/use-inventory-tvl.js.map +1 -0
  94. package/dist/margin/index.d.ts +1 -0
  95. package/dist/margin/index.d.ts.map +1 -1
  96. package/dist/margin/use-account-margin-risk.d.ts +68 -0
  97. package/dist/margin/use-account-margin-risk.d.ts.map +1 -0
  98. package/dist/margin/use-account-margin-risk.js +31 -0
  99. package/dist/margin/use-account-margin-risk.js.map +1 -0
  100. package/dist/margin/use-available-instant-open-margin.d.ts +27 -7
  101. package/dist/margin/use-available-instant-open-margin.d.ts.map +1 -1
  102. package/dist/margin/use-available-instant-open-margin.js +117 -46
  103. package/dist/margin/use-available-instant-open-margin.js.map +1 -1
  104. package/dist/market-info/use-market-info.d.ts +13 -13
  105. package/dist/market-info/use-market-info.d.ts.map +1 -1
  106. package/dist/market-info/use-market-info.js.map +1 -1
  107. package/dist/markets/use-markets.d.ts +14 -8
  108. package/dist/markets/use-markets.d.ts.map +1 -1
  109. package/dist/markets/use-markets.js.map +1 -1
  110. package/dist/muon/index.d.ts +2 -0
  111. package/dist/muon/index.d.ts.map +1 -1
  112. package/dist/muon/use-force-close-price-sig.d.ts +34 -0
  113. package/dist/muon/use-force-close-price-sig.d.ts.map +1 -0
  114. package/dist/muon/use-force-close-price-sig.js +31 -0
  115. package/dist/muon/use-force-close-price-sig.js.map +1 -0
  116. package/dist/muon/use-send-quote-upnl-sig.d.ts +30 -0
  117. package/dist/muon/use-send-quote-upnl-sig.d.ts.map +1 -0
  118. package/dist/muon/use-send-quote-upnl-sig.js +28 -0
  119. package/dist/muon/use-send-quote-upnl-sig.js.map +1 -0
  120. package/dist/notifications/use-search-notifications.d.ts +12 -12
  121. package/dist/notifications/use-search-notifications.d.ts.map +1 -1
  122. package/dist/notifications/use-search-notifications.js.map +1 -1
  123. package/dist/notional-cap/use-notional-cap-by-symbol-id.d.ts +7 -7
  124. package/dist/notional-cap/use-notional-cap-by-symbol-id.d.ts.map +1 -1
  125. package/dist/notional-cap/use-notional-cap-by-symbol-id.js.map +1 -1
  126. package/dist/orderbook/index.d.ts +5 -0
  127. package/dist/orderbook/index.d.ts.map +1 -0
  128. package/dist/orderbook/index.js +5 -0
  129. package/dist/orderbook/use-binance-orderbook-source.d.ts +28 -0
  130. package/dist/orderbook/use-binance-orderbook-source.d.ts.map +1 -0
  131. package/dist/orderbook/use-binance-orderbook-source.js +26 -0
  132. package/dist/orderbook/use-binance-orderbook-source.js.map +1 -0
  133. package/dist/orderbook/use-live-orderbook.d.ts +104 -0
  134. package/dist/orderbook/use-live-orderbook.d.ts.map +1 -0
  135. package/dist/orderbook/use-live-orderbook.js +77 -0
  136. package/dist/orderbook/use-live-orderbook.js.map +1 -0
  137. package/dist/orderbook/use-orderbook-stream.d.ts +73 -0
  138. package/dist/orderbook/use-orderbook-stream.d.ts.map +1 -0
  139. package/dist/orderbook/use-orderbook-stream.js +49 -0
  140. package/dist/orderbook/use-orderbook-stream.js.map +1 -0
  141. package/dist/orderbook/use-orderbook.d.ts +35 -0
  142. package/dist/orderbook/use-orderbook.d.ts.map +1 -0
  143. package/dist/orderbook/use-orderbook.js +22 -0
  144. package/dist/orderbook/use-orderbook.js.map +1 -0
  145. package/dist/pools/index.d.ts +30 -0
  146. package/dist/pools/index.d.ts.map +1 -0
  147. package/dist/pools/index.js +30 -0
  148. package/dist/pools/use-add-market.d.ts +57 -0
  149. package/dist/pools/use-add-market.d.ts.map +1 -0
  150. package/dist/pools/use-add-market.js +30 -0
  151. package/dist/pools/use-add-market.js.map +1 -0
  152. package/dist/pools/use-authenticate-listing.d.ts +45 -0
  153. package/dist/pools/use-authenticate-listing.d.ts.map +1 -0
  154. package/dist/pools/use-authenticate-listing.js +30 -0
  155. package/dist/pools/use-authenticate-listing.js.map +1 -0
  156. package/dist/pools/use-cancel-withdraw.d.ts +47 -0
  157. package/dist/pools/use-cancel-withdraw.d.ts.map +1 -0
  158. package/dist/pools/use-cancel-withdraw.js +30 -0
  159. package/dist/pools/use-cancel-withdraw.js.map +1 -0
  160. package/dist/pools/use-claim-history.d.ts +25 -0
  161. package/dist/pools/use-claim-history.d.ts.map +1 -0
  162. package/dist/pools/use-claim-history.js +27 -0
  163. package/dist/pools/use-claim-history.js.map +1 -0
  164. package/dist/pools/use-claim-profit.d.ts +53 -0
  165. package/dist/pools/use-claim-profit.d.ts.map +1 -0
  166. package/dist/pools/use-claim-profit.js +30 -0
  167. package/dist/pools/use-claim-profit.js.map +1 -0
  168. package/dist/pools/use-deposit-address.d.ts +43 -0
  169. package/dist/pools/use-deposit-address.d.ts.map +1 -0
  170. package/dist/pools/use-deposit-address.js +28 -0
  171. package/dist/pools/use-deposit-address.js.map +1 -0
  172. package/dist/pools/use-listing-config.d.ts +28 -0
  173. package/dist/pools/use-listing-config.d.ts.map +1 -0
  174. package/dist/pools/use-listing-config.js +27 -0
  175. package/dist/pools/use-listing-config.js.map +1 -0
  176. package/dist/pools/use-listing-market-config-projection.d.ts +66 -0
  177. package/dist/pools/use-listing-market-config-projection.d.ts.map +1 -0
  178. package/dist/pools/use-listing-market-config-projection.js +57 -0
  179. package/dist/pools/use-listing-market-config-projection.js.map +1 -0
  180. package/dist/pools/use-listing-market-config.d.ts +49 -0
  181. package/dist/pools/use-listing-market-config.d.ts.map +1 -0
  182. package/dist/pools/use-listing-market-config.js +28 -0
  183. package/dist/pools/use-listing-market-config.js.map +1 -0
  184. package/dist/pools/use-listing-market-detail.d.ts +29 -0
  185. package/dist/pools/use-listing-market-detail.d.ts.map +1 -0
  186. package/dist/pools/use-listing-market-detail.js +27 -0
  187. package/dist/pools/use-listing-market-detail.js.map +1 -0
  188. package/dist/pools/use-listing-markets.d.ts +32 -0
  189. package/dist/pools/use-listing-markets.d.ts.map +1 -0
  190. package/dist/pools/use-listing-markets.js +27 -0
  191. package/dist/pools/use-listing-markets.js.map +1 -0
  192. package/dist/pools/use-listing-status.d.ts +29 -0
  193. package/dist/pools/use-listing-status.d.ts.map +1 -0
  194. package/dist/pools/use-listing-status.js +28 -0
  195. package/dist/pools/use-listing-status.js.map +1 -0
  196. package/dist/pools/use-pool-quotes.d.ts +26 -0
  197. package/dist/pools/use-pool-quotes.d.ts.map +1 -0
  198. package/dist/pools/use-pool-quotes.js +27 -0
  199. package/dist/pools/use-pool-quotes.js.map +1 -0
  200. package/dist/pools/use-pool-reward-chart.d.ts +32 -0
  201. package/dist/pools/use-pool-reward-chart.d.ts.map +1 -0
  202. package/dist/pools/use-pool-reward-chart.js +28 -0
  203. package/dist/pools/use-pool-reward-chart.js.map +1 -0
  204. package/dist/pools/use-pool-total-reward.d.ts +27 -0
  205. package/dist/pools/use-pool-total-reward.d.ts.map +1 -0
  206. package/dist/pools/use-pool-total-reward.js +28 -0
  207. package/dist/pools/use-pool-total-reward.js.map +1 -0
  208. package/dist/pools/use-pool-trade-history.d.ts +26 -0
  209. package/dist/pools/use-pool-trade-history.d.ts.map +1 -0
  210. package/dist/pools/use-pool-trade-history.js +27 -0
  211. package/dist/pools/use-pool-trade-history.js.map +1 -0
  212. package/dist/pools/use-pool-transactions.d.ts +23 -0
  213. package/dist/pools/use-pool-transactions.d.ts.map +1 -0
  214. package/dist/pools/use-pool-transactions.js +27 -0
  215. package/dist/pools/use-pool-transactions.js.map +1 -0
  216. package/dist/pools/use-refund-market.d.ts +51 -0
  217. package/dist/pools/use-refund-market.d.ts.map +1 -0
  218. package/dist/pools/use-refund-market.js +30 -0
  219. package/dist/pools/use-refund-market.js.map +1 -0
  220. package/dist/pools/use-retry-listing-info.d.ts +23 -0
  221. package/dist/pools/use-retry-listing-info.d.ts.map +1 -0
  222. package/dist/pools/use-retry-listing-info.js +27 -0
  223. package/dist/pools/use-retry-listing-info.js.map +1 -0
  224. package/dist/pools/use-retry-listing.d.ts +46 -0
  225. package/dist/pools/use-retry-listing.d.ts.map +1 -0
  226. package/dist/pools/use-retry-listing.js +30 -0
  227. package/dist/pools/use-retry-listing.js.map +1 -0
  228. package/dist/pools/use-supports-listing-service.d.ts +21 -0
  229. package/dist/pools/use-supports-listing-service.d.ts.map +1 -0
  230. package/dist/pools/use-supports-listing-service.js +13 -0
  231. package/dist/pools/use-supports-listing-service.js.map +1 -0
  232. package/dist/pools/use-update-listing-market-config.d.ts +60 -0
  233. package/dist/pools/use-update-listing-market-config.d.ts.map +1 -0
  234. package/dist/pools/use-update-listing-market-config.js +30 -0
  235. package/dist/pools/use-update-listing-market-config.js.map +1 -0
  236. package/dist/pools/use-user-listing-markets.d.ts +40 -0
  237. package/dist/pools/use-user-listing-markets.d.ts.map +1 -0
  238. package/dist/pools/use-user-listing-markets.js +28 -0
  239. package/dist/pools/use-user-listing-markets.js.map +1 -0
  240. package/dist/pools/use-user-profit.d.ts +39 -0
  241. package/dist/pools/use-user-profit.d.ts.map +1 -0
  242. package/dist/pools/use-user-profit.js +28 -0
  243. package/dist/pools/use-user-profit.js.map +1 -0
  244. package/dist/pools/use-user-reward-chart.d.ts +28 -0
  245. package/dist/pools/use-user-reward-chart.d.ts.map +1 -0
  246. package/dist/pools/use-user-reward-chart.js +28 -0
  247. package/dist/pools/use-user-reward-chart.js.map +1 -0
  248. package/dist/pools/use-user-total-reward.d.ts +30 -0
  249. package/dist/pools/use-user-total-reward.d.ts.map +1 -0
  250. package/dist/pools/use-user-total-reward.js +28 -0
  251. package/dist/pools/use-user-total-reward.js.map +1 -0
  252. package/dist/pools/use-user-transactions.d.ts +24 -0
  253. package/dist/pools/use-user-transactions.d.ts.map +1 -0
  254. package/dist/pools/use-user-transactions.js +27 -0
  255. package/dist/pools/use-user-transactions.js.map +1 -0
  256. package/dist/pools/use-weekly-listing-limit.d.ts +28 -0
  257. package/dist/pools/use-weekly-listing-limit.d.ts.map +1 -0
  258. package/dist/pools/use-weekly-listing-limit.js +28 -0
  259. package/dist/pools/use-weekly-listing-limit.js.map +1 -0
  260. package/dist/pools/use-withdraw-lp.d.ts +52 -0
  261. package/dist/pools/use-withdraw-lp.d.ts.map +1 -0
  262. package/dist/pools/use-withdraw-lp.js +30 -0
  263. package/dist/pools/use-withdraw-lp.js.map +1 -0
  264. package/dist/price-service/index.d.ts +8 -0
  265. package/dist/price-service/index.d.ts.map +1 -1
  266. package/dist/price-service/index.js +17 -9
  267. package/dist/price-service/use-binance-health.d.ts +16 -0
  268. package/dist/price-service/use-binance-health.d.ts.map +1 -0
  269. package/dist/price-service/use-binance-health.js +27 -0
  270. package/dist/price-service/use-binance-health.js.map +1 -0
  271. package/dist/price-service/use-binance-premium-index.d.ts +24 -0
  272. package/dist/price-service/use-binance-premium-index.d.ts.map +1 -0
  273. package/dist/price-service/use-binance-premium-index.js +27 -0
  274. package/dist/price-service/use-binance-premium-index.js.map +1 -0
  275. package/dist/price-service/use-binance-prices.d.ts +54 -0
  276. package/dist/price-service/use-binance-prices.d.ts.map +1 -0
  277. package/dist/price-service/use-binance-prices.js +57 -0
  278. package/dist/price-service/use-binance-prices.js.map +1 -0
  279. package/dist/price-service/use-binance-symbols-info.d.ts +18 -0
  280. package/dist/price-service/use-binance-symbols-info.d.ts.map +1 -0
  281. package/dist/price-service/use-binance-symbols-info.js +27 -0
  282. package/dist/price-service/use-binance-symbols-info.js.map +1 -0
  283. package/dist/price-service/use-enigma-price-by-market-id.d.ts +7 -1
  284. package/dist/price-service/use-enigma-price-by-market-id.d.ts.map +1 -1
  285. package/dist/price-service/use-enigma-price-by-market-id.js +1 -1
  286. package/dist/price-service/use-enigma-price-by-market-id.js.map +1 -1
  287. package/dist/price-service/use-mark-prices.d.ts +25 -0
  288. package/dist/price-service/use-mark-prices.d.ts.map +1 -0
  289. package/dist/price-service/use-mark-prices.js +27 -0
  290. package/dist/price-service/use-mark-prices.js.map +1 -0
  291. package/dist/price-service/use-price-by-market-id.d.ts +53 -0
  292. package/dist/price-service/use-price-by-market-id.d.ts.map +1 -0
  293. package/dist/price-service/use-price-by-market-id.js +33 -0
  294. package/dist/price-service/use-price-by-market-id.js.map +1 -0
  295. package/dist/price-service/use-price-by-name.d.ts +48 -0
  296. package/dist/price-service/use-price-by-name.d.ts.map +1 -0
  297. package/dist/price-service/use-price-by-name.js +23 -0
  298. package/dist/price-service/use-price-by-name.js.map +1 -0
  299. package/dist/price-service/use-prices.d.ts +87 -0
  300. package/dist/price-service/use-prices.d.ts.map +1 -0
  301. package/dist/price-service/use-prices.js +77 -0
  302. package/dist/price-service/use-prices.js.map +1 -0
  303. package/dist/provider/symmio-provider.d.ts +8 -2
  304. package/dist/provider/symmio-provider.d.ts.map +1 -1
  305. package/dist/provider/symmio-provider.js +19 -19
  306. package/dist/provider/symmio-provider.js.map +1 -1
  307. package/dist/quotes/confirm-hold.d.ts +121 -0
  308. package/dist/quotes/confirm-hold.d.ts.map +1 -0
  309. package/dist/quotes/confirm-hold.js +59 -0
  310. package/dist/quotes/confirm-hold.js.map +1 -0
  311. package/dist/quotes/index.d.ts +14 -0
  312. package/dist/quotes/index.d.ts.map +1 -1
  313. package/dist/quotes/use-account-upnl.d.ts +66 -0
  314. package/dist/quotes/use-account-upnl.d.ts.map +1 -0
  315. package/dist/quotes/use-account-upnl.js +73 -0
  316. package/dist/quotes/use-account-upnl.js.map +1 -0
  317. package/dist/quotes/use-close-quote-group.d.ts +126 -0
  318. package/dist/quotes/use-close-quote-group.d.ts.map +1 -0
  319. package/dist/quotes/use-close-quote-group.js +172 -0
  320. package/dist/quotes/use-close-quote-group.js.map +1 -0
  321. package/dist/quotes/use-cool-downs-of-ma.d.ts +26 -0
  322. package/dist/quotes/use-cool-downs-of-ma.d.ts.map +1 -0
  323. package/dist/quotes/use-cool-downs-of-ma.js +27 -0
  324. package/dist/quotes/use-cool-downs-of-ma.js.map +1 -0
  325. package/dist/quotes/use-force-cancel-close-request.d.ts +27 -0
  326. package/dist/quotes/use-force-cancel-close-request.d.ts.map +1 -0
  327. package/dist/quotes/use-force-cancel-close-request.js +41 -0
  328. package/dist/quotes/use-force-cancel-close-request.js.map +1 -0
  329. package/dist/quotes/use-force-cancel-quote.d.ts +26 -0
  330. package/dist/quotes/use-force-cancel-quote.d.ts.map +1 -0
  331. package/dist/quotes/use-force-cancel-quote.js +42 -0
  332. package/dist/quotes/use-force-cancel-quote.js.map +1 -0
  333. package/dist/quotes/use-force-close-eligibility.d.ts +30 -0
  334. package/dist/quotes/use-force-close-eligibility.d.ts.map +1 -0
  335. package/dist/quotes/use-force-close-eligibility.js +39 -0
  336. package/dist/quotes/use-force-close-eligibility.js.map +1 -0
  337. package/dist/quotes/use-force-close-params.d.ts +22 -0
  338. package/dist/quotes/use-force-close-params.d.ts.map +1 -0
  339. package/dist/quotes/use-force-close-params.js +27 -0
  340. package/dist/quotes/use-force-close-params.js.map +1 -0
  341. package/dist/quotes/use-force-close.d.ts +30 -0
  342. package/dist/quotes/use-force-close.d.ts.map +1 -0
  343. package/dist/quotes/use-force-close.js +38 -0
  344. package/dist/quotes/use-force-close.js.map +1 -0
  345. package/dist/quotes/use-grouped-quotes.d.ts +50 -10
  346. package/dist/quotes/use-grouped-quotes.d.ts.map +1 -1
  347. package/dist/quotes/use-grouped-quotes.js +40 -14
  348. package/dist/quotes/use-grouped-quotes.js.map +1 -1
  349. package/dist/quotes/use-grouping-isolation.d.ts +35 -0
  350. package/dist/quotes/use-grouping-isolation.d.ts.map +1 -0
  351. package/dist/quotes/use-grouping-isolation.js +39 -0
  352. package/dist/quotes/use-grouping-isolation.js.map +1 -0
  353. package/dist/quotes/use-limit-orders.d.ts +62 -0
  354. package/dist/quotes/use-limit-orders.d.ts.map +1 -0
  355. package/dist/quotes/use-limit-orders.js +82 -0
  356. package/dist/quotes/use-limit-orders.js.map +1 -0
  357. package/dist/quotes/use-managed-quotes.d.ts.map +1 -1
  358. package/dist/quotes/use-managed-quotes.js +198 -166
  359. package/dist/quotes/use-managed-quotes.js.map +1 -1
  360. package/dist/quotes/use-party-a-open-positions.d.ts +26 -6
  361. package/dist/quotes/use-party-a-open-positions.d.ts.map +1 -1
  362. package/dist/quotes/use-party-a-open-positions.js +32 -12
  363. package/dist/quotes/use-party-a-open-positions.js.map +1 -1
  364. package/dist/quotes/use-quote-funding.d.ts +2 -2
  365. package/dist/quotes/use-quote-funding.js.map +1 -1
  366. package/dist/quotes/use-quote-group-funding-history.d.ts +70 -0
  367. package/dist/quotes/use-quote-group-funding-history.d.ts.map +1 -0
  368. package/dist/quotes/use-quote-group-funding-history.js +38 -0
  369. package/dist/quotes/use-quote-group-funding-history.js.map +1 -0
  370. package/dist/quotes/use-quote-group-funding.d.ts +67 -0
  371. package/dist/quotes/use-quote-group-funding.d.ts.map +1 -0
  372. package/dist/quotes/use-quote-group-funding.js +26 -0
  373. package/dist/quotes/use-quote-group-funding.js.map +1 -0
  374. package/dist/quotes/use-quote-group-margin-risk.d.ts +111 -0
  375. package/dist/quotes/use-quote-group-margin-risk.d.ts.map +1 -0
  376. package/dist/quotes/use-quote-group-margin-risk.js +63 -0
  377. package/dist/quotes/use-quote-group-margin-risk.js.map +1 -0
  378. package/dist/quotes/use-quote-upnl-and-pnl.d.ts +4 -3
  379. package/dist/quotes/use-quote-upnl-and-pnl.d.ts.map +1 -1
  380. package/dist/quotes/use-quote-upnl-and-pnl.js +2 -1
  381. package/dist/quotes/use-quote-upnl-and-pnl.js.map +1 -1
  382. package/dist/quotes/use-quotes-funding.d.ts +46 -10
  383. package/dist/quotes/use-quotes-funding.d.ts.map +1 -1
  384. package/dist/quotes/use-quotes-funding.js +44 -42
  385. package/dist/quotes/use-quotes-funding.js.map +1 -1
  386. package/dist/quotes/use-request-to-cancel-close-request.d.ts +27 -0
  387. package/dist/quotes/use-request-to-cancel-close-request.d.ts.map +1 -0
  388. package/dist/quotes/use-request-to-cancel-close-request.js +41 -0
  389. package/dist/quotes/use-request-to-cancel-close-request.js.map +1 -0
  390. package/dist/quotes/use-request-to-cancel-quote.d.ts +32 -0
  391. package/dist/quotes/use-request-to-cancel-quote.d.ts.map +1 -0
  392. package/dist/quotes/use-request-to-cancel-quote.js +42 -0
  393. package/dist/quotes/use-request-to-cancel-quote.js.map +1 -0
  394. package/dist/rasa-solver/index.d.ts +7 -0
  395. package/dist/rasa-solver/index.d.ts.map +1 -0
  396. package/dist/rasa-solver/use-error-message.d.ts +14 -0
  397. package/dist/rasa-solver/use-error-message.d.ts.map +1 -0
  398. package/dist/rasa-solver/use-error-message.js +27 -0
  399. package/dist/rasa-solver/use-error-message.js.map +1 -0
  400. package/dist/rasa-solver/use-party-a-upnl.d.ts +14 -0
  401. package/dist/rasa-solver/use-party-a-upnl.d.ts.map +1 -0
  402. package/dist/rasa-solver/use-party-a-upnl.js +27 -0
  403. package/dist/rasa-solver/use-party-a-upnl.js.map +1 -0
  404. package/dist/rasa-solver/use-solver-balance-info.d.ts +14 -0
  405. package/dist/rasa-solver/use-solver-balance-info.d.ts.map +1 -0
  406. package/dist/rasa-solver/use-solver-balance-info.js +27 -0
  407. package/dist/rasa-solver/use-solver-balance-info.js.map +1 -0
  408. package/dist/rasa-solver/use-solver-open-interest.d.ts +14 -0
  409. package/dist/rasa-solver/use-solver-open-interest.d.ts.map +1 -0
  410. package/dist/rasa-solver/use-solver-open-interest.js +27 -0
  411. package/dist/rasa-solver/use-solver-open-interest.js.map +1 -0
  412. package/dist/rasa-solver/use-solver-price-range.d.ts +14 -0
  413. package/dist/rasa-solver/use-solver-price-range.d.ts.map +1 -0
  414. package/dist/rasa-solver/use-solver-price-range.js +27 -0
  415. package/dist/rasa-solver/use-solver-price-range.js.map +1 -0
  416. package/dist/rasa-solver/use-solver-readiness.d.ts +13 -0
  417. package/dist/rasa-solver/use-solver-readiness.d.ts.map +1 -0
  418. package/dist/rasa-solver/use-solver-readiness.js +27 -0
  419. package/dist/rasa-solver/use-solver-readiness.js.map +1 -0
  420. package/dist/revenue-records/index.d.ts +2 -0
  421. package/dist/revenue-records/index.d.ts.map +1 -0
  422. package/dist/revenue-records/use-revenue-records.d.ts +25 -0
  423. package/dist/revenue-records/use-revenue-records.d.ts.map +1 -0
  424. package/dist/revenue-records/use-revenue-records.js +27 -0
  425. package/dist/revenue-records/use-revenue-records.js.map +1 -0
  426. package/dist/solvers/index.d.ts +3 -0
  427. package/dist/solvers/index.d.ts.map +1 -0
  428. package/dist/solvers/use-solver-capabilities.d.ts +31 -0
  429. package/dist/solvers/use-solver-capabilities.d.ts.map +1 -0
  430. package/dist/solvers/use-solver-capabilities.js +30 -0
  431. package/dist/solvers/use-solver-capabilities.js.map +1 -0
  432. package/dist/solvers/use-solver-revenue.d.ts +28 -0
  433. package/dist/solvers/use-solver-revenue.d.ts.map +1 -0
  434. package/dist/solvers/use-solver-revenue.js +27 -0
  435. package/dist/solvers/use-solver-revenue.js.map +1 -0
  436. package/dist/symbols/index.d.ts +2 -0
  437. package/dist/symbols/index.d.ts.map +1 -0
  438. package/dist/symbols/use-symbols.d.ts +25 -0
  439. package/dist/symbols/use-symbols.d.ts.map +1 -0
  440. package/dist/symbols/use-symbols.js +27 -0
  441. package/dist/symbols/use-symbols.js.map +1 -0
  442. package/dist/tpsl/apply-tpsl-search-snapshot.d.ts +33 -0
  443. package/dist/tpsl/apply-tpsl-search-snapshot.d.ts.map +1 -0
  444. package/dist/tpsl/apply-tpsl-search-snapshot.js +51 -0
  445. package/dist/tpsl/apply-tpsl-search-snapshot.js.map +1 -0
  446. package/dist/tpsl/await-tpsl-confirmation.d.ts +77 -0
  447. package/dist/tpsl/await-tpsl-confirmation.d.ts.map +1 -0
  448. package/dist/tpsl/await-tpsl-confirmation.js +42 -0
  449. package/dist/tpsl/await-tpsl-confirmation.js.map +1 -0
  450. package/dist/tpsl/index.d.ts +11 -0
  451. package/dist/tpsl/index.d.ts.map +1 -1
  452. package/dist/tpsl/invalidate-tpsl.d.ts +23 -0
  453. package/dist/tpsl/invalidate-tpsl.d.ts.map +1 -0
  454. package/dist/tpsl/invalidate-tpsl.js +14 -0
  455. package/dist/tpsl/invalidate-tpsl.js.map +1 -0
  456. package/dist/tpsl/match-tpsl-notification.d.ts +27 -0
  457. package/dist/tpsl/match-tpsl-notification.d.ts.map +1 -0
  458. package/dist/tpsl/match-tpsl-notification.js +22 -0
  459. package/dist/tpsl/match-tpsl-notification.js.map +1 -0
  460. package/dist/tpsl/run-with-concurrency.d.ts +20 -0
  461. package/dist/tpsl/run-with-concurrency.d.ts.map +1 -0
  462. package/dist/tpsl/run-with-concurrency.js +15 -0
  463. package/dist/tpsl/run-with-concurrency.js.map +1 -0
  464. package/dist/tpsl/settled-side.d.ts +31 -0
  465. package/dist/tpsl/settled-side.d.ts.map +1 -0
  466. package/dist/tpsl/settled-side.js +21 -0
  467. package/dist/tpsl/settled-side.js.map +1 -0
  468. package/dist/tpsl/tpsl-fallback-poll.d.ts +74 -0
  469. package/dist/tpsl/tpsl-fallback-poll.d.ts.map +1 -0
  470. package/dist/tpsl/tpsl-fallback-poll.js +101 -0
  471. package/dist/tpsl/tpsl-fallback-poll.js.map +1 -0
  472. package/dist/tpsl/tpsl-store.d.ts +98 -2
  473. package/dist/tpsl/tpsl-store.d.ts.map +1 -1
  474. package/dist/tpsl/tpsl-store.js +111 -63
  475. package/dist/tpsl/tpsl-store.js.map +1 -1
  476. package/dist/tpsl/use-delete-quote-group-tpsl.d.ts +165 -0
  477. package/dist/tpsl/use-delete-quote-group-tpsl.d.ts.map +1 -0
  478. package/dist/tpsl/use-delete-quote-group-tpsl.js +247 -0
  479. package/dist/tpsl/use-delete-quote-group-tpsl.js.map +1 -0
  480. package/dist/tpsl/use-delete-quote-tpsl.d.ts.map +1 -1
  481. package/dist/tpsl/use-delete-quote-tpsl.js +11 -10
  482. package/dist/tpsl/use-delete-quote-tpsl.js.map +1 -1
  483. package/dist/tpsl/use-quote-group-tpsl-editor.d.ts +66 -0
  484. package/dist/tpsl/use-quote-group-tpsl-editor.d.ts.map +1 -0
  485. package/dist/tpsl/use-quote-group-tpsl-editor.js +78 -0
  486. package/dist/tpsl/use-quote-group-tpsl-editor.js.map +1 -0
  487. package/dist/tpsl/use-quote-group-tpsl.d.ts +74 -0
  488. package/dist/tpsl/use-quote-group-tpsl.d.ts.map +1 -0
  489. package/dist/tpsl/use-quote-group-tpsl.js +67 -0
  490. package/dist/tpsl/use-quote-group-tpsl.js.map +1 -0
  491. package/dist/tpsl/use-quote-tpsl.d.ts +18 -2
  492. package/dist/tpsl/use-quote-tpsl.d.ts.map +1 -1
  493. package/dist/tpsl/use-quote-tpsl.js +32 -24
  494. package/dist/tpsl/use-quote-tpsl.js.map +1 -1
  495. package/dist/tpsl/use-search-tpsl-orders.d.ts +30 -0
  496. package/dist/tpsl/use-search-tpsl-orders.d.ts.map +1 -0
  497. package/dist/tpsl/use-search-tpsl-orders.js +27 -0
  498. package/dist/tpsl/use-search-tpsl-orders.js.map +1 -0
  499. package/dist/tpsl/use-set-quote-group-tpsl.d.ts +234 -0
  500. package/dist/tpsl/use-set-quote-group-tpsl.d.ts.map +1 -0
  501. package/dist/tpsl/use-set-quote-group-tpsl.js +358 -0
  502. package/dist/tpsl/use-set-quote-group-tpsl.js.map +1 -0
  503. package/dist/tpsl/use-set-quote-tpsl.d.ts +4 -4
  504. package/dist/tpsl/use-set-quote-tpsl.d.ts.map +1 -1
  505. package/dist/tpsl/use-set-quote-tpsl.js +15 -12
  506. package/dist/tpsl/use-set-quote-tpsl.js.map +1 -1
  507. package/dist/tpsl/use-tpsl-supported.d.ts +22 -0
  508. package/dist/tpsl/use-tpsl-supported.d.ts.map +1 -0
  509. package/dist/tpsl/use-tpsl-supported.js +16 -0
  510. package/dist/tpsl/use-tpsl-supported.js.map +1 -0
  511. package/dist/tpsl/use-watch-tpsl-accounts.d.ts +33 -0
  512. package/dist/tpsl/use-watch-tpsl-accounts.d.ts.map +1 -0
  513. package/dist/tpsl/use-watch-tpsl-accounts.js +44 -0
  514. package/dist/tpsl/use-watch-tpsl-accounts.js.map +1 -0
  515. package/dist/trade-volume/index.d.ts +2 -0
  516. package/dist/trade-volume/index.d.ts.map +1 -0
  517. package/dist/trade-volume/use-trade-volume.d.ts +26 -0
  518. package/dist/trade-volume/use-trade-volume.d.ts.map +1 -0
  519. package/dist/trade-volume/use-trade-volume.js +27 -0
  520. package/dist/trade-volume/use-trade-volume.js.map +1 -0
  521. package/dist/utils/index.d.ts +1 -0
  522. package/dist/utils/index.d.ts.map +1 -1
  523. package/dist/utils/invalidate-account-balances.d.ts +36 -0
  524. package/dist/utils/invalidate-account-balances.d.ts.map +1 -0
  525. package/dist/utils/invalidate-account-balances.js +10 -0
  526. package/dist/utils/invalidate-account-balances.js.map +1 -0
  527. package/dist/websocket/use-notifications.d.ts +3 -1
  528. package/dist/websocket/use-notifications.d.ts.map +1 -1
  529. package/dist/websocket/use-notifications.js +22 -20
  530. package/dist/websocket/use-notifications.js.map +1 -1
  531. package/dist/withdraw/index.d.ts +1 -0
  532. package/dist/withdraw/index.d.ts.map +1 -1
  533. package/dist/withdraw/use-initiate-withdraw.d.ts +1 -1
  534. package/dist/withdraw/use-initiate-withdraw.js.map +1 -1
  535. package/dist/withdraw/use-request-cancel-withdraw.d.ts +4 -2
  536. package/dist/withdraw/use-request-cancel-withdraw.d.ts.map +1 -1
  537. package/dist/withdraw/use-request-cancel-withdraw.js +15 -13
  538. package/dist/withdraw/use-request-cancel-withdraw.js.map +1 -1
  539. package/dist/withdraw/use-withdraw.d.ts +67 -0
  540. package/dist/withdraw/use-withdraw.d.ts.map +1 -0
  541. package/dist/withdraw/use-withdraw.js +49 -0
  542. package/dist/withdraw/use-withdraw.js.map +1 -0
  543. package/package.json +18 -2
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { useSymmioChainId as e } from "../provider/use-symmio-chain-id.js";
3
+ import { useSymmioConfig as t } from "../provider/use-symmio-config.js";
4
+ import { normalizeSymmError as n } from "../errors/normalize-symm-error.js";
5
+ import { withdrawLpMutationOptions as r } from "@symmio/trading-core";
6
+ import { useMutation as i, useQueryClient as a } from "@tanstack/react-query";
7
+ //#region src/pools/use-withdraw-lp.ts
8
+ function o(o = {}) {
9
+ let s = t(o), c = e(), l = a(), u = r(s);
10
+ return i({
11
+ ...u,
12
+ mutationFn: async (e) => {
13
+ try {
14
+ return await u.mutationFn({
15
+ ...e,
16
+ chainId: e.chainId ?? c
17
+ });
18
+ } catch (e) {
19
+ throw n(e);
20
+ }
21
+ },
22
+ onSuccess: () => {
23
+ l.invalidateQueries({ queryKey: ["getUserProfit"] }), l.invalidateQueries({ queryKey: ["getPoolTransactions"] }), l.invalidateQueries({ queryKey: ["getUserTransactions"] });
24
+ }
25
+ });
26
+ }
27
+ //#endregion
28
+ export { o as useWithdrawLp };
29
+
30
+ //# sourceMappingURL=use-withdraw-lp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-withdraw-lp.js","names":[],"sources":["../../src/pools/use-withdraw-lp.ts"],"sourcesContent":["\"use client\";\n\nimport {\n withdrawLpMutationOptions,\n type ConfigParameter,\n type WithdrawLpParameters,\n type WithdrawLpReturnType,\n} from \"@symmio/trading-core\";\nimport { useMutation, useQueryClient, type UseMutationResult } from \"@tanstack/react-query\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioChainId } from \"../provider/use-symmio-chain-id\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\n\n/** Parameters for {@link useWithdrawLp}: just an optional `config`. */\nexport type UseWithdrawLpParameters = ConfigParameter;\n\n/**\n * Variables for the {@link useWithdrawLp} mutation — the same shape as core's\n * {@link WithdrawLpParameters}.\n *\n * `accessToken`, `marketAddress`, `withdrawAddress`, and `amount` are required;\n * `description` is optional. `chainId` defaults to the connected chain when\n * omitted.\n */\nexport type WithdrawLpVariables = WithdrawLpParameters;\n\n/**\n * Return type of {@link useWithdrawLp}: resolves to `void` on success (the\n * listing backend acknowledges with an empty body) or a normalized error.\n */\nexport type UseWithdrawLpReturnType = UseMutationResult<WithdrawLpReturnType, SymmioRequestError, WithdrawLpVariables>;\n\n/**\n * Withdraw LP shares from a pool — queue a withdrawal with the listing backend in\n * one call.\n *\n * The mutation POSTs the LP `amount`, the pool's `marketAddress`, and the\n * `withdrawAddress` to send the liquidity to, authed with the caller's Bearer\n * `accessToken` (mint it with {@link useAuthenticateListing}). It resolves to\n * `void`; the withdrawn shares move into the pool's pending-withdrawal queue, so\n * refetch {@link useUserProfit} afterwards to see `pendingWithdrawLpAmount` rise\n * and `availableLpAmount` fall.\n *\n * Cap `amount` at the pool's `availableLpAmount` from {@link useUserProfit} — the\n * service rejects an over-withdrawal. Pools is **chain-level** — `mutate` /\n * `mutateAsync` reject with a normalized {@link SymmioRequestError}\n * (`LISTING_NOT_CONFIGURED`) on a chain with no listing backend, and a bad or\n * expired token comes back as a `WITHDRAW_LP_FAILED` `401`. Failures are\n * normalized to {@link SymmioRequestError}.\n *\n * @example\n * ```tsx\n * const withdraw = useWithdrawLp();\n * const { data: profit } = useUserProfit({ accessToken, tokenContractAddress });\n *\n * withdraw.mutate({\n * accessToken, // from useAuthenticateListing\n * marketAddress: tokenContractAddress,\n * withdrawAddress: \"0xRecipient…\",\n * amount: profit?.availableLpAmount ?? 0n,\n * });\n * ```\n */\nexport function useWithdrawLp(parameters: UseWithdrawLpParameters = {}): UseWithdrawLpReturnType {\n const config = useSymmioConfig(parameters);\n const chainId = useSymmioChainId();\n const queryClient = useQueryClient();\n const options = withdrawLpMutationOptions(config);\n\n return useMutation({\n ...options,\n mutationFn: async (variables: WithdrawLpVariables): Promise<WithdrawLpReturnType> => {\n try {\n return await options.mutationFn({ ...variables, chainId: variables.chainId ?? chainId });\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n onSuccess: () => {\n // Queuing a withdrawal moves LP into the pending-withdrawal balance and adds\n // a `withdraw` row to both the pool-wide (`getPoolTransactions`) and per-user\n // (`getUserTransactions`) lists. Invalidate each by key tag so mounted views\n // refetch — the caller does not refetch these by hand.\n void queryClient.invalidateQueries({ queryKey: [\"getUserProfit\"] });\n void queryClient.invalidateQueries({ queryKey: [\"getPoolTransactions\"] });\n void queryClient.invalidateQueries({ queryKey: [\"getUserTransactions\"] });\n },\n }) as UseWithdrawLpReturnType;\n}\n"],"mappings":";;;;;;;AAgEA,SAAgB,EAAc,IAAsC,CAAC,GAA4B;CAC/F,IAAM,IAAS,EAAgB,CAAU,GACnC,IAAU,EAAiB,GAC3B,IAAc,EAAe,GAC7B,IAAU,EAA0B,CAAM;CAEhD,OAAO,EAAY;EACjB,GAAG;EACH,YAAY,OAAO,MAAkE;GACnF,IAAI;IACF,OAAO,MAAM,EAAQ,WAAW;KAAE,GAAG;KAAW,SAAS,EAAU,WAAW;IAAQ,CAAC;GACzF,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;EACA,iBAAiB;GAOf,AAFA,EAAiB,kBAAkB,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC,GAClE,EAAiB,kBAAkB,EAAE,UAAU,CAAC,qBAAqB,EAAE,CAAC,GACxE,EAAiB,kBAAkB,EAAE,UAAU,CAAC,qBAAqB,EAAE,CAAC;EAC1E;CACF,CAAC;AACH"}
@@ -1,3 +1,7 @@
1
+ export * from './use-binance-health.js';
2
+ export * from './use-binance-premium-index.js';
3
+ export * from './use-binance-prices.js';
4
+ export * from './use-binance-symbols-info.js';
1
5
  export * from './use-enigma-price-by-market-id.js';
2
6
  export * from './use-enigma-price-by-name.js';
3
7
  export * from './use-enigma-price-service-health.js';
@@ -6,4 +10,8 @@ export * from './use-enigma-price-service-prices-by-addresses.js';
6
10
  export * from './use-enigma-price-service-prices-by-names.js';
7
11
  export * from './use-enigma-price-service-symbols-info.js';
8
12
  export * from './use-enigma-prices.js';
13
+ export * from './use-mark-prices.js';
14
+ export * from './use-price-by-market-id.js';
15
+ export * from './use-price-by-name.js';
16
+ export * from './use-prices.js';
9
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/price-service/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/price-service/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
@@ -1,9 +1,17 @@
1
- import { useEnigmaPriceByName as e } from "./use-enigma-price-by-name.js";
2
- import { useEnigmaPriceByMarketId as t } from "./use-enigma-price-by-market-id.js";
3
- import { useEnigmaPriceServiceHealth as n } from "./use-enigma-price-service-health.js";
4
- import { useEnigmaPriceServiceMetadata as r } from "./use-enigma-price-service-metadata.js";
5
- import { useEnigmaPriceServicePricesByAddresses as i } from "./use-enigma-price-service-prices-by-addresses.js";
6
- import { useEnigmaPriceServicePricesByNames as a } from "./use-enigma-price-service-prices-by-names.js";
7
- import { useEnigmaPriceServiceSymbolsInfo as o } from "./use-enigma-price-service-symbols-info.js";
8
- import { useEnigmaPrices as s } from "./use-enigma-prices.js";
9
- export { t as useEnigmaPriceByMarketId, e as useEnigmaPriceByName, n as useEnigmaPriceServiceHealth, r as useEnigmaPriceServiceMetadata, i as useEnigmaPriceServicePricesByAddresses, a as useEnigmaPriceServicePricesByNames, o as useEnigmaPriceServiceSymbolsInfo, s as useEnigmaPrices };
1
+ import { usePrices as e } from "./use-prices.js";
2
+ import { usePriceByName as t } from "./use-price-by-name.js";
3
+ import { useEnigmaPriceByName as n } from "./use-enigma-price-by-name.js";
4
+ import { useEnigmaPriceByMarketId as r } from "./use-enigma-price-by-market-id.js";
5
+ import { usePriceByMarketId as i } from "./use-price-by-market-id.js";
6
+ import { useBinanceHealth as a } from "./use-binance-health.js";
7
+ import { useBinancePremiumIndex as o } from "./use-binance-premium-index.js";
8
+ import { useBinancePrices as s } from "./use-binance-prices.js";
9
+ import { useBinanceSymbolsInfo as c } from "./use-binance-symbols-info.js";
10
+ import { useEnigmaPriceServiceHealth as l } from "./use-enigma-price-service-health.js";
11
+ import { useEnigmaPriceServiceMetadata as u } from "./use-enigma-price-service-metadata.js";
12
+ import { useEnigmaPriceServicePricesByAddresses as d } from "./use-enigma-price-service-prices-by-addresses.js";
13
+ import { useEnigmaPriceServicePricesByNames as f } from "./use-enigma-price-service-prices-by-names.js";
14
+ import { useEnigmaPriceServiceSymbolsInfo as p } from "./use-enigma-price-service-symbols-info.js";
15
+ import { useEnigmaPrices as m } from "./use-enigma-prices.js";
16
+ import { useMarkPrices as h } from "./use-mark-prices.js";
17
+ export { a as useBinanceHealth, o as useBinancePremiumIndex, s as useBinancePrices, c as useBinanceSymbolsInfo, r as useEnigmaPriceByMarketId, n as useEnigmaPriceByName, l as useEnigmaPriceServiceHealth, u as useEnigmaPriceServiceMetadata, d as useEnigmaPriceServicePricesByAddresses, f as useEnigmaPriceServicePricesByNames, p as useEnigmaPriceServiceSymbolsInfo, m as useEnigmaPrices, h as useMarkPrices, i as usePriceByMarketId, t as usePriceByName, e as usePrices };
@@ -0,0 +1,16 @@
1
+ import { ConfigParameter, GetBinanceHealthOptions } from '@symmio/trading-core';
2
+ import { UseQueryResult } from '@tanstack/react-query';
3
+ import { SymmioRequestError } from '../errors/symmio-request-error.js';
4
+ /** Parameters for {@link useBinanceHealth}. */
5
+ export type UseBinanceHealthParameters = GetBinanceHealthOptions & ConfigParameter;
6
+ /** Value returned by {@link useBinanceHealth}. */
7
+ export type UseBinanceHealthReturnType = UseQueryResult<import('@symmio/trading-core').GetBinanceHealthData, SymmioRequestError>;
8
+ /**
9
+ * Probe whether Binance is reachable from this client.
10
+ *
11
+ * Resolves `false` rather than erroring when the endpoint cannot be reached, so
12
+ * this distinguishes "Binance is blocked/unreachable here" — the common case in
13
+ * a restricted region — from "this market has no price".
14
+ */
15
+ export declare function useBinanceHealth(parameters?: UseBinanceHealthParameters): UseBinanceHealthReturnType;
16
+ //# sourceMappingURL=use-binance-health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-binance-health.d.ts","sourceRoot":"","sources":["../../src/price-service/use-binance-health.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgC,KAAK,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIzE,+CAA+C;AAC/C,MAAM,MAAM,0BAA0B,GAAG,uBAAuB,GAAG,eAAe,CAAC;AAEnF,kDAAkD;AAClD,MAAM,MAAM,0BAA0B,GAAG,cAAc,CACrD,OAAO,sBAAsB,EAAE,oBAAoB,EACnD,kBAAkB,CACnB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,0BAA+B,GAAG,0BAA0B,CAexG"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { useSymmioChainId as e } from "../provider/use-symmio-chain-id.js";
3
+ import { useSymmioConfig as t } from "../provider/use-symmio-config.js";
4
+ import { normalizeSymmError as n } from "../errors/normalize-symm-error.js";
5
+ import { getBinanceHealthQueryOptions as r } from "@symmio/trading-core";
6
+ import { useQuery as i } from "@tanstack/react-query";
7
+ //#region src/price-service/use-binance-health.ts
8
+ function a(a = {}) {
9
+ let o = t(a), s = e(), c = r(o, {
10
+ ...a,
11
+ chainId: a.chainId ?? s
12
+ });
13
+ return i({
14
+ ...c,
15
+ queryFn: async () => {
16
+ try {
17
+ return await c.queryFn();
18
+ } catch (e) {
19
+ throw n(e);
20
+ }
21
+ }
22
+ });
23
+ }
24
+ //#endregion
25
+ export { a as useBinanceHealth };
26
+
27
+ //# sourceMappingURL=use-binance-health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-binance-health.js","names":[],"sources":["../../src/price-service/use-binance-health.ts"],"sourcesContent":["\"use client\";\n\nimport { getBinanceHealthQueryOptions, type ConfigParameter, type GetBinanceHealthOptions } from \"@symmio/trading-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioChainId } from \"../provider/use-symmio-chain-id\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\n\n/** Parameters for {@link useBinanceHealth}. */\nexport type UseBinanceHealthParameters = GetBinanceHealthOptions & ConfigParameter;\n\n/** Value returned by {@link useBinanceHealth}. */\nexport type UseBinanceHealthReturnType = UseQueryResult<\n import(\"@symmio/trading-core\").GetBinanceHealthData,\n SymmioRequestError\n>;\n\n/**\n * Probe whether Binance is reachable from this client.\n *\n * Resolves `false` rather than erroring when the endpoint cannot be reached, so\n * this distinguishes \"Binance is blocked/unreachable here\" — the common case in\n * a restricted region — from \"this market has no price\".\n */\nexport function useBinanceHealth(parameters: UseBinanceHealthParameters = {}): UseBinanceHealthReturnType {\n const config = useSymmioConfig(parameters);\n const chainId = useSymmioChainId();\n const options = getBinanceHealthQueryOptions(config, { ...parameters, chainId: parameters.chainId ?? chainId });\n\n return useQuery({\n ...options,\n queryFn: async () => {\n try {\n return await options.queryFn();\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n }) as UseBinanceHealthReturnType;\n}\n"],"mappings":";;;;;;;AAyBA,SAAgB,EAAiB,IAAyC,CAAC,GAA+B;CACxG,IAAM,IAAS,EAAgB,CAAU,GACnC,IAAU,EAAiB,GAC3B,IAAU,EAA6B,GAAQ;EAAE,GAAG;EAAY,SAAS,EAAW,WAAW;CAAQ,CAAC;CAE9G,OAAO,EAAS;EACd,GAAG;EACH,SAAS,YAAY;GACnB,IAAI;IACF,OAAO,MAAM,EAAQ,QAAQ;GAC/B,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;CACF,CAAC;AACH"}
@@ -0,0 +1,24 @@
1
+ import { ConfigParameter, GetBinancePremiumIndexOptions } from '@symmio/trading-core';
2
+ import { UseQueryResult } from '@tanstack/react-query';
3
+ import { SymmioRequestError } from '../errors/symmio-request-error.js';
4
+ /** Parameters for {@link useBinancePremiumIndex}. */
5
+ export type UseBinancePremiumIndexParameters = GetBinancePremiumIndexOptions & ConfigParameter;
6
+ /** Value returned by {@link useBinancePremiumIndex}. */
7
+ export type UseBinancePremiumIndexReturnType = UseQueryResult<import('@symmio/trading-core').GetBinancePremiumIndexData, SymmioRequestError>;
8
+ /**
9
+ * Read Binance mark, index and funding data for the resolved solver's markets.
10
+ *
11
+ * The provider-specific twin of `useMarkPrices`. Passing exactly one name takes
12
+ * Binance's single-symbol request form (weight 1) instead of the all-symbols
13
+ * form (weight 10).
14
+ *
15
+ * Throws `UNSUPPORTED_BY_PRICE_SERVICE` when the target solver is not priced by
16
+ * Binance, so gate it on a Binance-backed solver.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * const { data } = useBinancePremiumIndex({ solverId: "rasa", names: ["BTCUSDT"] });
21
+ * ```
22
+ */
23
+ export declare function useBinancePremiumIndex(parameters?: UseBinancePremiumIndexParameters): UseBinancePremiumIndexReturnType;
24
+ //# sourceMappingURL=use-binance-premium-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-binance-premium-index.d.ts","sourceRoot":"","sources":["../../src/price-service/use-binance-premium-index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,6BAA6B,EACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIzE,qDAAqD;AACrD,MAAM,MAAM,gCAAgC,GAAG,6BAA6B,GAAG,eAAe,CAAC;AAE/F,wDAAwD;AACxD,MAAM,MAAM,gCAAgC,GAAG,cAAc,CAC3D,OAAO,sBAAsB,EAAE,0BAA0B,EACzD,kBAAkB,CACnB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,GAAE,gCAAqC,GAChD,gCAAgC,CAelC"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { useSymmioChainId as e } from "../provider/use-symmio-chain-id.js";
3
+ import { useSymmioConfig as t } from "../provider/use-symmio-config.js";
4
+ import { normalizeSymmError as n } from "../errors/normalize-symm-error.js";
5
+ import { getBinancePremiumIndexQueryOptions as r } from "@symmio/trading-core";
6
+ import { useQuery as i } from "@tanstack/react-query";
7
+ //#region src/price-service/use-binance-premium-index.ts
8
+ function a(a = {}) {
9
+ let o = t(a), s = e(), c = r(o, {
10
+ ...a,
11
+ chainId: a.chainId ?? s
12
+ });
13
+ return i({
14
+ ...c,
15
+ queryFn: async () => {
16
+ try {
17
+ return await c.queryFn();
18
+ } catch (e) {
19
+ throw n(e);
20
+ }
21
+ }
22
+ });
23
+ }
24
+ //#endregion
25
+ export { a as useBinancePremiumIndex };
26
+
27
+ //# sourceMappingURL=use-binance-premium-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-binance-premium-index.js","names":[],"sources":["../../src/price-service/use-binance-premium-index.ts"],"sourcesContent":["\"use client\";\n\nimport {\n getBinancePremiumIndexQueryOptions,\n type ConfigParameter,\n type GetBinancePremiumIndexOptions,\n} from \"@symmio/trading-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioChainId } from \"../provider/use-symmio-chain-id\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\n\n/** Parameters for {@link useBinancePremiumIndex}. */\nexport type UseBinancePremiumIndexParameters = GetBinancePremiumIndexOptions & ConfigParameter;\n\n/** Value returned by {@link useBinancePremiumIndex}. */\nexport type UseBinancePremiumIndexReturnType = UseQueryResult<\n import(\"@symmio/trading-core\").GetBinancePremiumIndexData,\n SymmioRequestError\n>;\n\n/**\n * Read Binance mark, index and funding data for the resolved solver's markets.\n *\n * The provider-specific twin of `useMarkPrices`. Passing exactly one name takes\n * Binance's single-symbol request form (weight 1) instead of the all-symbols\n * form (weight 10).\n *\n * Throws `UNSUPPORTED_BY_PRICE_SERVICE` when the target solver is not priced by\n * Binance, so gate it on a Binance-backed solver.\n *\n * @example\n * ```tsx\n * const { data } = useBinancePremiumIndex({ solverId: \"rasa\", names: [\"BTCUSDT\"] });\n * ```\n */\nexport function useBinancePremiumIndex(\n parameters: UseBinancePremiumIndexParameters = {},\n): UseBinancePremiumIndexReturnType {\n const config = useSymmioConfig(parameters);\n const chainId = useSymmioChainId();\n const options = getBinancePremiumIndexQueryOptions(config, { ...parameters, chainId: parameters.chainId ?? chainId });\n\n return useQuery({\n ...options,\n queryFn: async () => {\n try {\n return await options.queryFn();\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n }) as UseBinancePremiumIndexReturnType;\n}\n"],"mappings":";;;;;;;AAqCA,SAAgB,EACd,IAA+C,CAAC,GACd;CAClC,IAAM,IAAS,EAAgB,CAAU,GACnC,IAAU,EAAiB,GAC3B,IAAU,EAAmC,GAAQ;EAAE,GAAG;EAAY,SAAS,EAAW,WAAW;CAAQ,CAAC;CAEpH,OAAO,EAAS;EACd,GAAG;EACH,SAAS,YAAY;GACnB,IAAI;IACF,OAAO,MAAM,EAAQ,QAAQ;GAC/B,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;CACF,CAAC;AACH"}
@@ -0,0 +1,54 @@
1
+ import { BinanceMarkPriceTick, ConfigParameter, SocketStatus, SolverId } from '@symmio/trading-core';
2
+ import { SymmioRequestError } from '../errors/symmio-request-error.js';
3
+ /**
4
+ * Parameters for {@link useBinancePrices}.
5
+ */
6
+ export interface UseBinancePricesParameters extends ConfigParameter {
7
+ /** Target chain id. Defaults to the SDK's active chain. */
8
+ chainId?: number;
9
+ /** Solver whose price provider to subscribe to. Must resolve to Binance. */
10
+ solverId?: SolverId;
11
+ /**
12
+ * Restrict the accumulated map to these market names.
13
+ *
14
+ * **Strongly recommended.** The stream pushes every listed symbol (~740) once
15
+ * per second; the filter is what keeps that from churning your component tree.
16
+ */
17
+ names?: readonly string[];
18
+ /** Subscribe only when `true`. Default `true`. */
19
+ enabled?: boolean;
20
+ /** Imperative per-tick callback, invoked in addition to map updates. */
21
+ onTick?: (ticks: BinanceMarkPriceTick[]) => void;
22
+ }
23
+ /**
24
+ * Value returned by {@link useBinancePrices}.
25
+ */
26
+ export interface UseBinancePricesReturnType {
27
+ /** Latest full Binance tick keyed by market name — `indexPrice` reachable without narrowing. */
28
+ ticks: Record<string, BinanceMarkPriceTick>;
29
+ /** Latest mark price keyed by market name. */
30
+ prices: Record<string, string>;
31
+ /** Live socket status. */
32
+ status: SocketStatus;
33
+ /** Last transport/parse error, normalized, or `null`. */
34
+ error: SymmioRequestError | null;
35
+ }
36
+ /**
37
+ * Subscribe to Binance USD-M Futures' all-market mark-price stream.
38
+ *
39
+ * The provider-specific twin of `usePrices`. Because the variant is fixed, every
40
+ * tick is a `BinanceMarkPriceTick` — `indexPrice` and the Binance funding fields
41
+ * are reachable without narrowing on `provider`. Prefer `usePrices` when the
42
+ * component should work against either provider.
43
+ *
44
+ * Throws `UNSUPPORTED_BY_PRICE_SERVICE` (surfaced via `error`) when the target
45
+ * solver is not priced by Binance.
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * const { ticks, status } = useBinancePrices({ solverId: "rasa", names: ["BTCUSDT"] });
50
+ * return <span>{ticks["BTCUSDT"]?.indexPrice ?? "—"} ({status})</span>;
51
+ * ```
52
+ */
53
+ export declare function useBinancePrices(parameters?: UseBinancePricesParameters): UseBinancePricesReturnType;
54
+ //# sourceMappingURL=use-binance-prices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-binance-prices.d.ts","sourceRoot":"","sources":["../../src/price-service/use-binance-prices.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIzE;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,eAAe;IACjE,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,gGAAgG;IAChG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC5C,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,0BAA0B;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,yDAAyD;IACzD,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,0BAA+B,GAAG,0BAA0B,CAkExG"}
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { useSymmioChainId as e } from "../provider/use-symmio-chain-id.js";
3
+ import { useSymmioConfig as t } from "../provider/use-symmio-config.js";
4
+ import { normalizeSymmError as n } from "../errors/normalize-symm-error.js";
5
+ import { watchBinancePrices as r } from "@symmio/trading-core";
6
+ import { useEffect as i, useRef as a, useState as o } from "react";
7
+ //#region src/price-service/use-binance-prices.ts
8
+ function s(s = {}) {
9
+ let { chainId: c, solverId: l, names: u, enabled: d = !0, onTick: f } = s, p = t(s), m = e(), h = c ?? m, [g, _] = o({}), [v, y] = o("closed"), [b, x] = o(null), S = a(f);
10
+ S.current = f;
11
+ let C = u ? u.join(",") : void 0, w = `${h}|${l ?? ""}|${C ?? ""}`, T = a(w);
12
+ T.current !== w && (T.current = w, _({})), i(() => {
13
+ if (!d) {
14
+ y("closed");
15
+ return;
16
+ }
17
+ x(null);
18
+ let e;
19
+ try {
20
+ e = r(p, {
21
+ chainId: h,
22
+ solverId: l,
23
+ names: C ? C.split(",") : void 0,
24
+ onPrices: (e) => {
25
+ _((t) => {
26
+ let n = !1, r = { ...t };
27
+ for (let t of e) r[t.name]?.markPrice !== t.markPrice && (r[t.name] = t, n = !0);
28
+ return n ? r : t;
29
+ }), S.current?.(e);
30
+ },
31
+ onStatusChange: y,
32
+ onError: (e) => x(n(e))
33
+ });
34
+ } catch (e) {
35
+ x(n(e)), y("closed");
36
+ }
37
+ return () => e?.();
38
+ }, [
39
+ d,
40
+ p,
41
+ h,
42
+ l,
43
+ C
44
+ ]);
45
+ let E = {};
46
+ for (let [e, t] of Object.entries(g)) E[e] = t.markPrice;
47
+ return {
48
+ ticks: g,
49
+ prices: E,
50
+ status: v,
51
+ error: b
52
+ };
53
+ }
54
+ //#endregion
55
+ export { s as useBinancePrices };
56
+
57
+ //# sourceMappingURL=use-binance-prices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-binance-prices.js","names":[],"sources":["../../src/price-service/use-binance-prices.ts"],"sourcesContent":["\"use client\";\n\nimport {\n watchBinancePrices,\n type BinanceMarkPriceTick,\n type ConfigParameter,\n type SocketStatus,\n type SolverId,\n} from \"@symmio/trading-core\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioChainId } from \"../provider/use-symmio-chain-id\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\n\n/**\n * Parameters for {@link useBinancePrices}.\n */\nexport interface UseBinancePricesParameters extends ConfigParameter {\n /** Target chain id. Defaults to the SDK's active chain. */\n chainId?: number;\n /** Solver whose price provider to subscribe to. Must resolve to Binance. */\n solverId?: SolverId;\n /**\n * Restrict the accumulated map to these market names.\n *\n * **Strongly recommended.** The stream pushes every listed symbol (~740) once\n * per second; the filter is what keeps that from churning your component tree.\n */\n names?: readonly string[];\n /** Subscribe only when `true`. Default `true`. */\n enabled?: boolean;\n /** Imperative per-tick callback, invoked in addition to map updates. */\n onTick?: (ticks: BinanceMarkPriceTick[]) => void;\n}\n\n/**\n * Value returned by {@link useBinancePrices}.\n */\nexport interface UseBinancePricesReturnType {\n /** Latest full Binance tick keyed by market name — `indexPrice` reachable without narrowing. */\n ticks: Record<string, BinanceMarkPriceTick>;\n /** Latest mark price keyed by market name. */\n prices: Record<string, string>;\n /** Live socket status. */\n status: SocketStatus;\n /** Last transport/parse error, normalized, or `null`. */\n error: SymmioRequestError | null;\n}\n\n/**\n * Subscribe to Binance USD-M Futures' all-market mark-price stream.\n *\n * The provider-specific twin of `usePrices`. Because the variant is fixed, every\n * tick is a `BinanceMarkPriceTick` — `indexPrice` and the Binance funding fields\n * are reachable without narrowing on `provider`. Prefer `usePrices` when the\n * component should work against either provider.\n *\n * Throws `UNSUPPORTED_BY_PRICE_SERVICE` (surfaced via `error`) when the target\n * solver is not priced by Binance.\n *\n * @example\n * ```tsx\n * const { ticks, status } = useBinancePrices({ solverId: \"rasa\", names: [\"BTCUSDT\"] });\n * return <span>{ticks[\"BTCUSDT\"]?.indexPrice ?? \"—\"} ({status})</span>;\n * ```\n */\nexport function useBinancePrices(parameters: UseBinancePricesParameters = {}): UseBinancePricesReturnType {\n const { chainId, solverId, names, enabled = true, onTick } = parameters;\n const config = useSymmioConfig(parameters);\n const defaultChainId = useSymmioChainId();\n const resolvedChainId = chainId ?? defaultChainId;\n\n const [ticks, setTicks] = useState<Record<string, BinanceMarkPriceTick>>({});\n const [status, setStatus] = useState<SocketStatus>(\"closed\");\n const [error, setError] = useState<SymmioRequestError | null>(null);\n\n const onTickRef = useRef(onTick);\n onTickRef.current = onTick;\n\n const namesKey = names ? names.join(\",\") : undefined;\n\n /** Drop stale rows when the target changes — see `usePrices` for why. */\n const subscriptionKey = `${resolvedChainId}|${solverId ?? \"\"}|${namesKey ?? \"\"}`;\n const lastSubscriptionKeyRef = useRef(subscriptionKey);\n if (lastSubscriptionKeyRef.current !== subscriptionKey) {\n lastSubscriptionKeyRef.current = subscriptionKey;\n setTicks({});\n }\n\n useEffect(() => {\n if (!enabled) {\n setStatus(\"closed\");\n return;\n }\n\n setError(null);\n\n let unwatch: (() => void) | undefined;\n try {\n unwatch = watchBinancePrices(config, {\n chainId: resolvedChainId,\n solverId,\n names: namesKey ? namesKey.split(\",\") : undefined,\n onPrices: (batch) => {\n setTicks((prev) => {\n let mutated = false;\n const next = { ...prev };\n for (const tick of batch) {\n if (next[tick.name]?.markPrice !== tick.markPrice) {\n next[tick.name] = tick;\n mutated = true;\n }\n }\n return mutated ? next : prev;\n });\n onTickRef.current?.(batch);\n },\n onStatusChange: setStatus,\n onError: (err) => setError(normalizeSymmError(err)),\n });\n } catch (err) {\n setError(normalizeSymmError(err));\n setStatus(\"closed\");\n }\n\n return () => unwatch?.();\n }, [enabled, config, resolvedChainId, solverId, namesKey]);\n\n const prices: Record<string, string> = {};\n for (const [name, tick] of Object.entries(ticks)) prices[name] = tick.markPrice;\n\n return { ticks, prices, status, error };\n}\n"],"mappings":";;;;;;;AAmEA,SAAgB,EAAiB,IAAyC,CAAC,GAA+B;CACxG,IAAM,EAAE,YAAS,aAAU,UAAO,aAAU,IAAM,cAAW,GACvD,IAAS,EAAgB,CAAU,GACnC,IAAiB,EAAiB,GAClC,IAAkB,KAAW,GAE7B,CAAC,GAAO,KAAY,EAA+C,CAAC,CAAC,GACrE,CAAC,GAAQ,KAAa,EAAuB,QAAQ,GACrD,CAAC,GAAO,KAAY,EAAoC,IAAI,GAE5D,IAAY,EAAO,CAAM;CAC/B,EAAU,UAAU;CAEpB,IAAM,IAAW,IAAQ,EAAM,KAAK,GAAG,IAAI,KAAA,GAGrC,IAAkB,GAAG,EAAgB,GAAG,KAAY,GAAG,GAAG,KAAY,MACtE,IAAyB,EAAO,CAAe;CAMrD,AALI,EAAuB,YAAY,MACrC,EAAuB,UAAU,GACjC,EAAS,CAAC,CAAC,IAGb,QAAgB;EACd,IAAI,CAAC,GAAS;GACZ,EAAU,QAAQ;GAClB;EACF;EAEA,EAAS,IAAI;EAEb,IAAI;EACJ,IAAI;GACF,IAAU,EAAmB,GAAQ;IACnC,SAAS;IACT;IACA,OAAO,IAAW,EAAS,MAAM,GAAG,IAAI,KAAA;IACxC,WAAW,MAAU;KAYnB,AAXA,GAAU,MAAS;MACjB,IAAI,IAAU,IACR,IAAO,EAAE,GAAG,EAAK;MACvB,KAAK,IAAM,KAAQ,GACjB,AAAI,EAAK,EAAK,OAAO,cAAc,EAAK,cACtC,EAAK,EAAK,QAAQ,GAClB,IAAU;MAGd,OAAO,IAAU,IAAO;KAC1B,CAAC,GACD,EAAU,UAAU,CAAK;IAC3B;IACA,gBAAgB;IAChB,UAAU,MAAQ,EAAS,EAAmB,CAAG,CAAC;GACpD,CAAC;EACH,SAAS,GAAK;GAEZ,AADA,EAAS,EAAmB,CAAG,CAAC,GAChC,EAAU,QAAQ;EACpB;EAEA,aAAa,IAAU;CACzB,GAAG;EAAC;EAAS;EAAQ;EAAiB;EAAU;CAAQ,CAAC;CAEzD,IAAM,IAAiC,CAAC;CACxC,KAAK,IAAM,CAAC,GAAM,MAAS,OAAO,QAAQ,CAAK,GAAG,EAAO,KAAQ,EAAK;CAEtE,OAAO;EAAE;EAAO;EAAQ;EAAQ;CAAM;AACxC"}
@@ -0,0 +1,18 @@
1
+ import { ConfigParameter, GetBinanceSymbolsInfoOptions } from '@symmio/trading-core';
2
+ import { UseQueryResult } from '@tanstack/react-query';
3
+ import { SymmioRequestError } from '../errors/symmio-request-error.js';
4
+ /** Parameters for {@link useBinanceSymbolsInfo}. */
5
+ export type UseBinanceSymbolsInfoParameters = GetBinanceSymbolsInfoOptions & ConfigParameter;
6
+ /** Value returned by {@link useBinanceSymbolsInfo}. */
7
+ export type UseBinanceSymbolsInfoReturnType = UseQueryResult<import('@symmio/trading-core').GetBinanceSymbolsInfoData, SymmioRequestError>;
8
+ /**
9
+ * Read Binance's own contract listing (status, price/quantity precision).
10
+ *
11
+ * Reference data only — `useMarkets` remains the authority on what is tradable
12
+ * on SYMMIO. Useful to check whether a market has a Binance price source at all.
13
+ *
14
+ * The payload is ~1 MB, so the underlying query defaults to a one-hour
15
+ * `staleTime`. Do not poll it.
16
+ */
17
+ export declare function useBinanceSymbolsInfo(parameters?: UseBinanceSymbolsInfoParameters): UseBinanceSymbolsInfoReturnType;
18
+ //# sourceMappingURL=use-binance-symbols-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-binance-symbols-info.d.ts","sourceRoot":"","sources":["../../src/price-service/use-binance-symbols-info.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,4BAA4B,EAClC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIzE,oDAAoD;AACpD,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,GAAG,eAAe,CAAC;AAE7F,uDAAuD;AACvD,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAC1D,OAAO,sBAAsB,EAAE,yBAAyB,EACxD,kBAAkB,CACnB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,GAAE,+BAAoC,GAC/C,+BAA+B,CAejC"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { useSymmioChainId as e } from "../provider/use-symmio-chain-id.js";
3
+ import { useSymmioConfig as t } from "../provider/use-symmio-config.js";
4
+ import { normalizeSymmError as n } from "../errors/normalize-symm-error.js";
5
+ import { getBinanceSymbolsInfoQueryOptions as r } from "@symmio/trading-core";
6
+ import { useQuery as i } from "@tanstack/react-query";
7
+ //#region src/price-service/use-binance-symbols-info.ts
8
+ function a(a = {}) {
9
+ let o = t(a), s = e(), c = r(o, {
10
+ ...a,
11
+ chainId: a.chainId ?? s
12
+ });
13
+ return i({
14
+ ...c,
15
+ queryFn: async () => {
16
+ try {
17
+ return await c.queryFn();
18
+ } catch (e) {
19
+ throw n(e);
20
+ }
21
+ }
22
+ });
23
+ }
24
+ //#endregion
25
+ export { a as useBinanceSymbolsInfo };
26
+
27
+ //# sourceMappingURL=use-binance-symbols-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-binance-symbols-info.js","names":[],"sources":["../../src/price-service/use-binance-symbols-info.ts"],"sourcesContent":["\"use client\";\n\nimport {\n getBinanceSymbolsInfoQueryOptions,\n type ConfigParameter,\n type GetBinanceSymbolsInfoOptions,\n} from \"@symmio/trading-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioChainId } from \"../provider/use-symmio-chain-id\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\n\n/** Parameters for {@link useBinanceSymbolsInfo}. */\nexport type UseBinanceSymbolsInfoParameters = GetBinanceSymbolsInfoOptions & ConfigParameter;\n\n/** Value returned by {@link useBinanceSymbolsInfo}. */\nexport type UseBinanceSymbolsInfoReturnType = UseQueryResult<\n import(\"@symmio/trading-core\").GetBinanceSymbolsInfoData,\n SymmioRequestError\n>;\n\n/**\n * Read Binance's own contract listing (status, price/quantity precision).\n *\n * Reference data only — `useMarkets` remains the authority on what is tradable\n * on SYMMIO. Useful to check whether a market has a Binance price source at all.\n *\n * The payload is ~1 MB, so the underlying query defaults to a one-hour\n * `staleTime`. Do not poll it.\n */\nexport function useBinanceSymbolsInfo(\n parameters: UseBinanceSymbolsInfoParameters = {},\n): UseBinanceSymbolsInfoReturnType {\n const config = useSymmioConfig(parameters);\n const chainId = useSymmioChainId();\n const options = getBinanceSymbolsInfoQueryOptions(config, { ...parameters, chainId: parameters.chainId ?? chainId });\n\n return useQuery({\n ...options,\n queryFn: async () => {\n try {\n return await options.queryFn();\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n }) as UseBinanceSymbolsInfoReturnType;\n}\n"],"mappings":";;;;;;;AA+BA,SAAgB,EACd,IAA8C,CAAC,GACd;CACjC,IAAM,IAAS,EAAgB,CAAU,GACnC,IAAU,EAAiB,GAC3B,IAAU,EAAkC,GAAQ;EAAE,GAAG;EAAY,SAAS,EAAW,WAAW;CAAQ,CAAC;CAEnH,OAAO,EAAS;EACd,GAAG;EACH,SAAS,YAAY;GACnB,IAAI;IACF,OAAO,MAAM,EAAQ,QAAQ;GAC/B,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;CACF,CAAC;AACH"}
@@ -27,12 +27,18 @@ export interface UseEnigmaPriceByMarketIdReturnType {
27
27
  isLoading: boolean;
28
28
  }
29
29
  /**
30
- * Stream the live mark price for a market resolved by its solver `symbol_id`.
30
+ * Stream the live mark price for a market resolved by its solver `symbol_id`,
31
+ * **from the Enigma price service only**.
31
32
  *
32
33
  * Composes {@link useMarkets} (to translate `marketId → name`) with
33
34
  * {@link useEnigmaPriceByName} (to subscribe to just that symbol). Re-renders
34
35
  * only when this market's price actually changes.
35
36
  *
37
+ * @deprecated Use `usePriceByMarketId` — it resolves the same market and price
38
+ * from whichever provider serves the chain's solver, so it also works on
39
+ * Binance-priced chains where this hook throws `UNSUPPORTED_BY_PRICE_SERVICE`.
40
+ * This hook will be removed in the next major release.
41
+ *
36
42
  * @example
37
43
  * ```tsx
38
44
  * const { markPrice, marketName, isLoading } = useEnigmaPriceByMarketId({ marketId: 132 });
@@ -1 +1 @@
1
- {"version":3,"file":"use-enigma-price-by-market-id.d.ts","sourceRoot":"","sources":["../../src/price-service/use-enigma-price-by-market-id.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIzE;;GAEG;AACH,MAAM,WAAW,kCAAmC,SAAQ,eAAe;IACzE,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0BAA0B;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,yDAAyD;IACzD,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAC;CACpB;AAQD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kCAAkC,GAC7C,kCAAkC,CA0BpC"}
1
+ {"version":3,"file":"use-enigma-price-by-market-id.d.ts","sourceRoot":"","sources":["../../src/price-service/use-enigma-price-by-market-id.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIzE;;GAEG;AACH,MAAM,WAAW,kCAAmC,SAAQ,eAAe;IACzE,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0BAA0B;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,yDAAyD;IACzD,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAC;CACpB;AAQD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kCAAkC,GAC7C,kCAAkC,CA0BpC"}
@@ -10,7 +10,7 @@ function i(i) {
10
10
  let { marketId: a, chainId: o, enabled: s = !0, ...c } = i, l = e({
11
11
  chainId: o,
12
12
  ...c
13
- }), u = n(() => r(a), [a]), d = n(() => l.data ? l.data.find((e) => e.symbol_id === u)?.name ?? null : null, [l.data, u]), f = t({
13
+ }), u = n(() => r(a), [a]), d = n(() => l.data ? l.data.find((e) => e.symbolId === u)?.name ?? null : null, [l.data, u]), f = t({
14
14
  ...c,
15
15
  chainId: o,
16
16
  name: d ?? "",
@@ -1 +1 @@
1
- {"version":3,"file":"use-enigma-price-by-market-id.js","names":[],"sources":["../../src/price-service/use-enigma-price-by-market-id.ts"],"sourcesContent":["\"use client\";\n\nimport type { ConfigParameter, SocketStatus } from \"@symmio/trading-core\";\nimport { useMemo } from \"react\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useMarkets } from \"../markets/use-markets\";\nimport { useEnigmaPriceByName } from \"./use-enigma-price-by-name\";\n\n/**\n * Parameters for {@link useEnigmaPriceByMarketId}.\n */\nexport interface UseEnigmaPriceByMarketIdParameters extends ConfigParameter {\n /** Solver market id (`symbol_id`). */\n marketId: number | bigint | string;\n /** Target chain id. Defaults to the SDK's active chain. */\n chainId?: number;\n /** Subscribe only when `true` (and the market resolves). Default `true`. */\n enabled?: boolean;\n}\n\n/**\n * Value returned by {@link useEnigmaPriceByMarketId}.\n */\nexport interface UseEnigmaPriceByMarketIdReturnType {\n /** Latest mark price for the resolved market, or `null` until the first tick. */\n markPrice: string | null;\n /** Symbol name resolved from `useMarkets`, or `null` if not found yet. */\n marketName: string | null;\n /** Live socket status. */\n status: SocketStatus;\n /** Last transport/parse error, normalized, or `null`. */\n error: SymmioRequestError | null;\n /** True while markets are loading or the price has not ticked yet. */\n isLoading: boolean;\n}\n\nfunction toMarketIdNumber(value: number | bigint | string): number {\n if (typeof value === \"number\") return value;\n if (typeof value === \"bigint\") return Number(value);\n return Number(value);\n}\n\n/**\n * Stream the live mark price for a market resolved by its solver `symbol_id`.\n *\n * Composes {@link useMarkets} (to translate `marketId → name`) with\n * {@link useEnigmaPriceByName} (to subscribe to just that symbol). Re-renders\n * only when this market's price actually changes.\n *\n * @example\n * ```tsx\n * const { markPrice, marketName, isLoading } = useEnigmaPriceByMarketId({ marketId: 132 });\n * ```\n */\nexport function useEnigmaPriceByMarketId(\n parameters: UseEnigmaPriceByMarketIdParameters,\n): UseEnigmaPriceByMarketIdReturnType {\n const { marketId, chainId, enabled = true, ...rest } = parameters;\n\n const marketsQuery = useMarkets({ chainId, ...rest });\n const targetId = useMemo(() => toMarketIdNumber(marketId), [marketId]);\n\n const marketName = useMemo<string | null>(() => {\n if (!marketsQuery.data) return null;\n const market = marketsQuery.data.find((m) => m.symbol_id === targetId);\n return market?.name ?? null;\n }, [marketsQuery.data, targetId]);\n\n const priceQuery = useEnigmaPriceByName({\n ...rest,\n chainId,\n name: marketName ?? \"\",\n enabled: enabled && marketName !== null,\n });\n\n return {\n markPrice: priceQuery.markPrice,\n marketName,\n status: priceQuery.status,\n error: priceQuery.error,\n isLoading: marketsQuery.isLoading || (marketName !== null && priceQuery.markPrice === null),\n };\n}\n"],"mappings":";;;;;AAoCA,SAAS,EAAiB,GAAyC;CAGjE,OAFI,OAAO,KAAU,WAAiB,IACA,OAAO,CAAK;AAEpD;AAcA,SAAgB,EACd,GACoC;CACpC,IAAM,EAAE,aAAU,YAAS,aAAU,IAAM,GAAG,MAAS,GAEjD,IAAe,EAAW;EAAE;EAAS,GAAG;CAAK,CAAC,GAC9C,IAAW,QAAc,EAAiB,CAAQ,GAAG,CAAC,CAAQ,CAAC,GAE/D,IAAa,QACZ,EAAa,OACH,EAAa,KAAK,MAAM,MAAM,EAAE,cAAc,CACtD,GAAQ,QAAQ,OAFQ,MAG9B,CAAC,EAAa,MAAM,CAAQ,CAAC,GAE1B,IAAa,EAAqB;EACtC,GAAG;EACH;EACA,MAAM,KAAc;EACpB,SAAS,KAAW,MAAe;CACrC,CAAC;CAED,OAAO;EACL,WAAW,EAAW;EACtB;EACA,QAAQ,EAAW;EACnB,OAAO,EAAW;EAClB,WAAW,EAAa,aAAc,MAAe,QAAQ,EAAW,cAAc;CACxF;AACF"}
1
+ {"version":3,"file":"use-enigma-price-by-market-id.js","names":[],"sources":["../../src/price-service/use-enigma-price-by-market-id.ts"],"sourcesContent":["\"use client\";\n\nimport type { ConfigParameter, SocketStatus } from \"@symmio/trading-core\";\nimport { useMemo } from \"react\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useMarkets } from \"../markets/use-markets\";\nimport { useEnigmaPriceByName } from \"./use-enigma-price-by-name\";\n\n/**\n * Parameters for {@link useEnigmaPriceByMarketId}.\n */\nexport interface UseEnigmaPriceByMarketIdParameters extends ConfigParameter {\n /** Solver market id (`symbol_id`). */\n marketId: number | bigint | string;\n /** Target chain id. Defaults to the SDK's active chain. */\n chainId?: number;\n /** Subscribe only when `true` (and the market resolves). Default `true`. */\n enabled?: boolean;\n}\n\n/**\n * Value returned by {@link useEnigmaPriceByMarketId}.\n */\nexport interface UseEnigmaPriceByMarketIdReturnType {\n /** Latest mark price for the resolved market, or `null` until the first tick. */\n markPrice: string | null;\n /** Symbol name resolved from `useMarkets`, or `null` if not found yet. */\n marketName: string | null;\n /** Live socket status. */\n status: SocketStatus;\n /** Last transport/parse error, normalized, or `null`. */\n error: SymmioRequestError | null;\n /** True while markets are loading or the price has not ticked yet. */\n isLoading: boolean;\n}\n\nfunction toMarketIdNumber(value: number | bigint | string): number {\n if (typeof value === \"number\") return value;\n if (typeof value === \"bigint\") return Number(value);\n return Number(value);\n}\n\n/**\n * Stream the live mark price for a market resolved by its solver `symbol_id`,\n * **from the Enigma price service only**.\n *\n * Composes {@link useMarkets} (to translate `marketId → name`) with\n * {@link useEnigmaPriceByName} (to subscribe to just that symbol). Re-renders\n * only when this market's price actually changes.\n *\n * @deprecated Use `usePriceByMarketId` — it resolves the same market and price\n * from whichever provider serves the chain's solver, so it also works on\n * Binance-priced chains where this hook throws `UNSUPPORTED_BY_PRICE_SERVICE`.\n * This hook will be removed in the next major release.\n *\n * @example\n * ```tsx\n * const { markPrice, marketName, isLoading } = useEnigmaPriceByMarketId({ marketId: 132 });\n * ```\n */\nexport function useEnigmaPriceByMarketId(\n parameters: UseEnigmaPriceByMarketIdParameters,\n): UseEnigmaPriceByMarketIdReturnType {\n const { marketId, chainId, enabled = true, ...rest } = parameters;\n\n const marketsQuery = useMarkets({ chainId, ...rest });\n const targetId = useMemo(() => toMarketIdNumber(marketId), [marketId]);\n\n const marketName = useMemo<string | null>(() => {\n if (!marketsQuery.data) return null;\n const market = marketsQuery.data.find((m) => m.symbolId === targetId);\n return market?.name ?? null;\n }, [marketsQuery.data, targetId]);\n\n const priceQuery = useEnigmaPriceByName({\n ...rest,\n chainId,\n name: marketName ?? \"\",\n enabled: enabled && marketName !== null,\n });\n\n return {\n markPrice: priceQuery.markPrice,\n marketName,\n status: priceQuery.status,\n error: priceQuery.error,\n isLoading: marketsQuery.isLoading || (marketName !== null && priceQuery.markPrice === null),\n };\n}\n"],"mappings":";;;;;AAoCA,SAAS,EAAiB,GAAyC;CAGjE,OAFI,OAAO,KAAU,WAAiB,IACA,OAAO,CAAK;AAEpD;AAoBA,SAAgB,EACd,GACoC;CACpC,IAAM,EAAE,aAAU,YAAS,aAAU,IAAM,GAAG,MAAS,GAEjD,IAAe,EAAW;EAAE;EAAS,GAAG;CAAK,CAAC,GAC9C,IAAW,QAAc,EAAiB,CAAQ,GAAG,CAAC,CAAQ,CAAC,GAE/D,IAAa,QACZ,EAAa,OACH,EAAa,KAAK,MAAM,MAAM,EAAE,aAAa,CACrD,GAAQ,QAAQ,OAFQ,MAG9B,CAAC,EAAa,MAAM,CAAQ,CAAC,GAE1B,IAAa,EAAqB;EACtC,GAAG;EACH;EACA,MAAM,KAAc;EACpB,SAAS,KAAW,MAAe;CACrC,CAAC;CAED,OAAO;EACL,WAAW,EAAW;EACtB;EACA,QAAQ,EAAW;EACnB,OAAO,EAAW;EAClB,WAAW,EAAa,aAAc,MAAe,QAAQ,EAAW,cAAc;CACxF;AACF"}
@@ -0,0 +1,25 @@
1
+ import { getMarkPricesQueryOptions, ConfigParameter, GetMarkPricesOptions } from '@symmio/trading-core';
2
+ import { UseQueryResult } from '@tanstack/react-query';
3
+ import { SymmioRequestError } from '../errors/symmio-request-error.js';
4
+ /** Parameters for {@link useMarkPrices}. */
5
+ export type UseMarkPricesParameters = GetMarkPricesOptions & ConfigParameter;
6
+ /** Value returned by {@link useMarkPrices}. */
7
+ export type UseMarkPricesReturnType = UseQueryResult<Awaited<ReturnType<ReturnType<typeof getMarkPricesQueryOptions>["queryFn"]>>, SymmioRequestError>;
8
+ /**
9
+ * Read a one-shot mark-price snapshot from whichever provider serves the
10
+ * resolved solver.
11
+ *
12
+ * Use this for a first paint before the live feed connects, or anywhere a
13
+ * point-in-time read is wanted instead of a subscription. For a continuously
14
+ * updating value use {@link usePrices} or `usePriceByName`.
15
+ *
16
+ * On Binance, passing exactly one name takes the single-symbol request form
17
+ * (measured weight 1) instead of the all-symbols form (weight 10).
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * const { data } = useMarkPrices({ solverId: "rasa", names: ["BTCUSDT"] });
22
+ * ```
23
+ */
24
+ export declare function useMarkPrices(parameters?: UseMarkPricesParameters): UseMarkPricesReturnType;
25
+ //# sourceMappingURL=use-mark-prices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mark-prices.d.ts","sourceRoot":"","sources":["../../src/price-service/use-mark-prices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIzE,4CAA4C;AAC5C,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG,eAAe,CAAC;AAE7E,+CAA+C;AAC/C,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAClD,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAC5E,kBAAkB,CACnB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,UAAU,GAAE,uBAA4B,GAAG,uBAAuB,CAe/F"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { useSymmioChainId as e } from "../provider/use-symmio-chain-id.js";
3
+ import { useSymmioConfig as t } from "../provider/use-symmio-config.js";
4
+ import { normalizeSymmError as n } from "../errors/normalize-symm-error.js";
5
+ import { getMarkPricesQueryOptions as r } from "@symmio/trading-core";
6
+ import { useQuery as i } from "@tanstack/react-query";
7
+ //#region src/price-service/use-mark-prices.ts
8
+ function a(a = {}) {
9
+ let o = t(a), s = e(), c = r(o, {
10
+ ...a,
11
+ chainId: a.chainId ?? s
12
+ });
13
+ return i({
14
+ ...c,
15
+ queryFn: async () => {
16
+ try {
17
+ return await c.queryFn();
18
+ } catch (e) {
19
+ throw n(e);
20
+ }
21
+ }
22
+ });
23
+ }
24
+ //#endregion
25
+ export { a as useMarkPrices };
26
+
27
+ //# sourceMappingURL=use-mark-prices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mark-prices.js","names":[],"sources":["../../src/price-service/use-mark-prices.ts"],"sourcesContent":["\"use client\";\n\nimport { getMarkPricesQueryOptions, type ConfigParameter, type GetMarkPricesOptions } from \"@symmio/trading-core\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { normalizeSymmError } from \"../errors/normalize-symm-error\";\nimport type { SymmioRequestError } from \"../errors/symmio-request-error\";\nimport { useSymmioChainId } from \"../provider/use-symmio-chain-id\";\nimport { useSymmioConfig } from \"../provider/use-symmio-config\";\n\n/** Parameters for {@link useMarkPrices}. */\nexport type UseMarkPricesParameters = GetMarkPricesOptions & ConfigParameter;\n\n/** Value returned by {@link useMarkPrices}. */\nexport type UseMarkPricesReturnType = UseQueryResult<\n Awaited<ReturnType<ReturnType<typeof getMarkPricesQueryOptions>[\"queryFn\"]>>,\n SymmioRequestError\n>;\n\n/**\n * Read a one-shot mark-price snapshot from whichever provider serves the\n * resolved solver.\n *\n * Use this for a first paint before the live feed connects, or anywhere a\n * point-in-time read is wanted instead of a subscription. For a continuously\n * updating value use {@link usePrices} or `usePriceByName`.\n *\n * On Binance, passing exactly one name takes the single-symbol request form\n * (measured weight 1) instead of the all-symbols form (weight 10).\n *\n * @example\n * ```tsx\n * const { data } = useMarkPrices({ solverId: \"rasa\", names: [\"BTCUSDT\"] });\n * ```\n */\nexport function useMarkPrices(parameters: UseMarkPricesParameters = {}): UseMarkPricesReturnType {\n const config = useSymmioConfig(parameters);\n const chainId = useSymmioChainId();\n const options = getMarkPricesQueryOptions(config, { ...parameters, chainId: parameters.chainId ?? chainId });\n\n return useQuery({\n ...options,\n queryFn: async () => {\n try {\n return await options.queryFn();\n } catch (err) {\n throw normalizeSymmError(err);\n }\n },\n }) as UseMarkPricesReturnType;\n}\n"],"mappings":";;;;;;;AAkCA,SAAgB,EAAc,IAAsC,CAAC,GAA4B;CAC/F,IAAM,IAAS,EAAgB,CAAU,GACnC,IAAU,EAAiB,GAC3B,IAAU,EAA0B,GAAQ;EAAE,GAAG;EAAY,SAAS,EAAW,WAAW;CAAQ,CAAC;CAE3G,OAAO,EAAS;EACd,GAAG;EACH,SAAS,YAAY;GACnB,IAAI;IACF,OAAO,MAAM,EAAQ,QAAQ;GAC/B,SAAS,GAAK;IACZ,MAAM,EAAmB,CAAG;GAC9B;EACF;CACF,CAAC;AACH"}
@@ -0,0 +1,53 @@
1
+ import { ConfigParameter, MarkPriceTick, SocketStatus, SolverId } from '@symmio/trading-core';
2
+ import { SymmioRequestError } from '../errors/symmio-request-error.js';
3
+ import { UsePricesRestFallback } from './use-prices.js';
4
+ /**
5
+ * Parameters for {@link usePriceByMarketId}.
6
+ */
7
+ export interface UsePriceByMarketIdParameters extends ConfigParameter {
8
+ /** Solver market id (`symbol_id`). */
9
+ marketId: number | bigint | string;
10
+ /** Target chain id. Defaults to the SDK's active chain. */
11
+ chainId?: number;
12
+ /** Solver whose markets and price provider serve this id. Defaults to the chain's default solver. */
13
+ solverId?: SolverId;
14
+ /** Subscribe only when `true` (and the market resolves). Default `true`. */
15
+ enabled?: boolean;
16
+ /** REST snapshot polling while the socket is degraded. See {@link usePrices}. */
17
+ restFallback?: UsePricesRestFallback;
18
+ }
19
+ /**
20
+ * Value returned by {@link usePriceByMarketId}.
21
+ */
22
+ export interface UsePriceByMarketIdReturnType {
23
+ /** Latest mark price for the resolved market, or `null` until the first tick. */
24
+ markPrice: string | null;
25
+ /** Symbol name resolved from {@link useMarkets}, or `null` if not found yet. */
26
+ marketName: string | null;
27
+ /** The full tick, for provider-specific fields. Narrow on `provider`. */
28
+ tick: MarkPriceTick | null;
29
+ /** Live socket status. */
30
+ status: SocketStatus;
31
+ /** Last transport/parse error, normalized, or `null`. */
32
+ error: SymmioRequestError | null;
33
+ /** True while markets are loading or the price has not ticked yet. */
34
+ isLoading: boolean;
35
+ }
36
+ /**
37
+ * Stream the live mark price for a market resolved by its solver `symbol_id`,
38
+ * from **whichever price provider serves the resolved solver** — Enigma on a
39
+ * lowcap chain, Binance USD-M Futures on a majors chain.
40
+ *
41
+ * Composes {@link useMarkets} (to translate `marketId → name`) with
42
+ * {@link usePriceByName} (to subscribe to just that symbol on the resolved
43
+ * provider). This is the provider-agnostic replacement for
44
+ * `useEnigmaPriceByMarketId`, which asserts an Enigma price service and
45
+ * therefore fails on chains priced by Binance.
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * const { markPrice, marketName, isLoading } = usePriceByMarketId({ marketId: 132 });
50
+ * ```
51
+ */
52
+ export declare function usePriceByMarketId(parameters: UsePriceByMarketIdParameters): UsePriceByMarketIdReturnType;
53
+ //# sourceMappingURL=use-price-by-market-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-price-by-market-id.d.ts","sourceRoot":"","sources":["../../src/price-service/use-price-by-market-id.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEnG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,eAAe;IACnE,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qGAAqG;IACrG,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gFAAgF;IAChF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yEAAyE;IACzE,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,0BAA0B;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,yDAAyD;IACzD,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAC;CACpB;AAQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,4BAA4B,GAAG,4BAA4B,CA4BzG"}