@velora-dex/widget 0.6.0 → 0.6.1-dev.2

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 (517) hide show
  1. package/dist/assets/two-dots.js +32 -0
  2. package/dist/assets/two-dots.js.map +1 -0
  3. package/dist/components/ui/button.d.ts +1 -1
  4. package/dist/components/ui/button.d.ts.map +1 -1
  5. package/dist/components/ui/button.js +1 -0
  6. package/dist/components/ui/button.js.map +1 -1
  7. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  8. package/dist/components/widget/AppHeader/Activities/hooks.js +54 -54
  9. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  10. package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
  11. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  12. package/dist/components/widget/AppHeader/Activities/utils.js +27 -27
  13. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  14. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  15. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +2 -1
  16. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  17. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  18. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +153 -149
  19. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  20. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +1 -1
  21. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
  22. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  23. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +1 -1
  24. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  25. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  26. package/dist/components/widget/Duration/Duration.d.ts +1 -1
  27. package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
  28. package/dist/components/widget/Duration/Duration.js +2 -4
  29. package/dist/components/widget/Duration/Duration.js.map +1 -1
  30. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
  31. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +56 -57
  32. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  33. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +7 -8
  34. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  35. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +59 -65
  36. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  37. package/dist/components/widget/LimitOrderItem/types.d.ts +3 -2
  38. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
  39. package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
  40. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
  41. package/dist/components/widget/LimitOrderItem/utils.js +22 -19
  42. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  43. package/dist/components/widget/NumberInput/NumberInput.d.ts +19 -0
  44. package/dist/components/widget/NumberInput/NumberInput.d.ts.map +1 -0
  45. package/dist/components/widget/NumberInput/NumberInput.js +104 -0
  46. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -0
  47. package/dist/components/widget/NumberInput/assets/arrow-down.js +20 -0
  48. package/dist/components/widget/NumberInput/assets/arrow-down.js.map +1 -0
  49. package/dist/components/widget/NumberInput/assets/arrow-up.js +20 -0
  50. package/dist/components/widget/NumberInput/assets/arrow-up.js.map +1 -0
  51. package/dist/components/widget/OtcOrderItem/utils.d.ts.map +1 -1
  52. package/dist/components/widget/OtcOrderItem/utils.js +4 -2
  53. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  54. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  55. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +34 -30
  56. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  57. package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -9
  58. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  59. package/dist/components/widget/SwapRate/SwapRate.js +22 -18
  60. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  61. package/dist/components/widget/SwapRate/types.d.ts +13 -0
  62. package/dist/components/widget/SwapRate/types.d.ts.map +1 -0
  63. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts +7 -0
  64. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -0
  65. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +50 -0
  66. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -0
  67. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  68. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +91 -99
  69. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  70. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +12 -26
  71. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  72. package/dist/components/widget/TradeOverview/TradeComplete/constants.d.ts.map +1 -1
  73. package/dist/components/widget/TradeOverview/TradeComplete/constants.js +2 -1
  74. package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
  75. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  76. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +77 -55
  77. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  78. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  79. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +80 -63
  80. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  81. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +7 -2
  82. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
  83. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +20 -15
  84. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  85. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +15 -0
  86. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -0
  87. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +112 -0
  88. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -0
  89. package/dist/components/widget/TradeOverview/steps.d.ts +37 -4
  90. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  91. package/dist/components/widget/TradeOverview/steps.js +17 -5
  92. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  93. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +4 -2
  94. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  95. package/dist/components/widget/TradeOverview/tradeFlowContext.js +1 -1
  96. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  97. package/dist/components/widget/Twap/CustomDurationDrawer.d.ts +7 -0
  98. package/dist/components/widget/Twap/CustomDurationDrawer.d.ts.map +1 -0
  99. package/dist/components/widget/Twap/CustomDurationDrawer.js +150 -0
  100. package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -0
  101. package/dist/components/widget/Twap/OrderDuration.d.ts +11 -0
  102. package/dist/components/widget/Twap/OrderDuration.d.ts.map +1 -0
  103. package/dist/components/widget/Twap/OrderDuration.js +92 -0
  104. package/dist/components/widget/Twap/OrderDuration.js.map +1 -0
  105. package/dist/components/widget/Twap/OrderSplit.d.ts +2 -0
  106. package/dist/components/widget/Twap/OrderSplit.d.ts.map +1 -0
  107. package/dist/components/widget/Twap/OrderSplit.js +40 -0
  108. package/dist/components/widget/Twap/OrderSplit.js.map +1 -0
  109. package/dist/components/widget/Twap/RateProtection.d.ts +2 -0
  110. package/dist/components/widget/Twap/RateProtection.d.ts.map +1 -0
  111. package/dist/components/widget/Twap/RateProtection.js +42 -0
  112. package/dist/components/widget/Twap/RateProtection.js.map +1 -0
  113. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +3 -0
  114. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +1 -0
  115. package/dist/components/widget/Twap/TwapDetailWithTooltip.js +21 -0
  116. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -0
  117. package/dist/configurator/Configurator.d.ts.map +1 -1
  118. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  119. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -1
  120. package/dist/core/TradeFlowScreenButton.d.ts +5 -0
  121. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  122. package/dist/core/TradeFlowScreenButton.js +25 -1
  123. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  124. package/dist/core/TwapDetails.d.ts +2 -0
  125. package/dist/core/TwapDetails.d.ts.map +1 -0
  126. package/dist/core/TwapDetails.js +15 -0
  127. package/dist/core/TwapDetails.js.map +1 -0
  128. package/dist/core/Warnings.d.ts +2 -1
  129. package/dist/core/Warnings.d.ts.map +1 -1
  130. package/dist/core/Warnings.js +143 -92
  131. package/dist/core/Warnings.js.map +1 -1
  132. package/dist/core/across/isCrosschainPossible.d.ts +1 -1
  133. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  134. package/dist/core/across/isCrosschainPossible.js +1 -1
  135. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  136. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  137. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  138. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +110 -77
  139. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  140. package/dist/core/constants.d.ts +1 -1
  141. package/dist/core/index.d.ts.map +1 -1
  142. package/dist/core/index.js +377 -283
  143. package/dist/core/index.js.map +1 -1
  144. package/dist/core/inputs/hooks/types.d.ts +1 -1
  145. package/dist/core/inputs/hooks/types.d.ts.map +1 -1
  146. package/dist/core/inputs/hooks/useTokenFromInputProps.js +7 -7
  147. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  148. package/dist/core/inputs/hooks/useTokenToInputProps.js +108 -124
  149. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  150. package/dist/core/inputs/hooks/useWarningMessage.d.ts +10 -0
  151. package/dist/core/inputs/hooks/useWarningMessage.d.ts.map +1 -0
  152. package/dist/core/inputs/hooks/useWarningMessage.js +30 -0
  153. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -0
  154. package/dist/core/inputs/state/common.d.ts +4 -0
  155. package/dist/core/inputs/state/common.d.ts.map +1 -1
  156. package/dist/core/inputs/state/common.js +96 -55
  157. package/dist/core/inputs/state/common.js.map +1 -1
  158. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  159. package/dist/core/inputs/state/setTokenByAddressAtom.js +77 -79
  160. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  161. package/dist/core/limit/state/utils.d.ts +1 -1
  162. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  163. package/dist/core/limit/useLimitRate.js +0 -2
  164. package/dist/core/limit/useLimitRate.js.map +1 -1
  165. package/dist/core/limit/useLimitTokenFromInputProps.js +41 -41
  166. package/dist/core/limit/useLimitTokenToInputProps.js +45 -45
  167. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  168. package/dist/core/otc/useOtcTokenFromInputProps.js +39 -39
  169. package/dist/core/otc/useOtcTokenToInputProps.js +4 -4
  170. package/dist/core/state/chainToAtom.d.ts +2 -0
  171. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  172. package/dist/core/state/chainToAtom.js +39 -18
  173. package/dist/core/state/chainToAtom.js.map +1 -1
  174. package/dist/core/state/configAtom.js +2 -2
  175. package/dist/core/state/configAtom.js.map +1 -1
  176. package/dist/core/state/configEffectAtom.d.ts.map +1 -1
  177. package/dist/core/state/configEffectAtom.js +18 -19
  178. package/dist/core/state/configEffectAtom.js.map +1 -1
  179. package/dist/core/state/tradeModeAtom.d.ts +1 -1
  180. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  181. package/dist/core/state/tradeModeAtom.js.map +1 -1
  182. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  183. package/dist/core/state/widgetEventsAtom.js +49 -31
  184. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  185. package/dist/core/swapDetails/priceImpact.d.ts +2 -2
  186. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  187. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  188. package/dist/core/swapDetails/types.d.ts +4 -0
  189. package/dist/core/swapDetails/types.d.ts.map +1 -0
  190. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  191. package/dist/core/swapDetails/useSwapDetailsListProps.js +78 -106
  192. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  193. package/dist/core/twap/state/constants.d.ts +26 -0
  194. package/dist/core/twap/state/constants.d.ts.map +1 -0
  195. package/dist/core/twap/state/constants.js +23 -0
  196. package/dist/core/twap/state/constants.js.map +1 -0
  197. package/dist/core/twap/state/currentTwapInputAtom.d.ts +4 -0
  198. package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +1 -0
  199. package/dist/core/twap/state/currentTwapInputAtom.js +7 -0
  200. package/dist/core/twap/state/currentTwapInputAtom.js.map +1 -0
  201. package/dist/core/twap/state/isCrosschainAtom.d.ts +3 -0
  202. package/dist/core/twap/state/isCrosschainAtom.d.ts.map +1 -0
  203. package/dist/core/twap/state/isCrosschainAtom.js +12 -0
  204. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -0
  205. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +13 -0
  206. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -0
  207. package/dist/core/twap/state/selectedTokenActionsAtom.js +114 -0
  208. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -0
  209. package/dist/core/twap/state/twapInputAmountAtom.d.ts +9 -0
  210. package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -0
  211. package/dist/core/twap/state/twapInputAmountAtom.js +15 -0
  212. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -0
  213. package/dist/core/twap/state/twapParamsAtom.d.ts +25 -0
  214. package/dist/core/twap/state/twapParamsAtom.d.ts.map +1 -0
  215. package/dist/core/twap/state/twapParamsAtom.js +19 -0
  216. package/dist/core/twap/state/twapParamsAtom.js.map +1 -0
  217. package/dist/core/twap/state/twapReceiverAddressAtom.d.ts +5 -0
  218. package/dist/core/twap/state/twapReceiverAddressAtom.d.ts.map +1 -0
  219. package/dist/core/twap/state/twapReceiverAddressAtom.js +8 -0
  220. package/dist/core/twap/state/twapReceiverAddressAtom.js.map +1 -0
  221. package/dist/core/twap/state/twapSideAtom.d.ts +4 -0
  222. package/dist/core/twap/state/twapSideAtom.d.ts.map +1 -0
  223. package/dist/core/twap/state/twapSideAtom.js +14 -0
  224. package/dist/core/twap/state/twapSideAtom.js.map +1 -0
  225. package/dist/core/twap/state/twapTokenAtoms.d.ts +10 -0
  226. package/dist/core/twap/state/twapTokenAtoms.d.ts.map +1 -0
  227. package/dist/core/twap/state/twapTokenAtoms.js +10 -0
  228. package/dist/core/twap/state/twapTokenAtoms.js.map +1 -0
  229. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +12 -0
  230. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -0
  231. package/dist/core/twap/twapDetails/minimumReceiveable.js +33 -0
  232. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -0
  233. package/dist/core/twap/useTwapDetailsListProps.d.ts +3 -0
  234. package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -0
  235. package/dist/core/twap/useTwapDetailsListProps.js +81 -0
  236. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -0
  237. package/dist/core/twap/useTwapTokenFromInputProps.d.ts +9 -0
  238. package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +1 -0
  239. package/dist/core/twap/useTwapTokenFromInputProps.js +165 -0
  240. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -0
  241. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +3 -0
  242. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +1 -0
  243. package/dist/core/twap/useTwapTokenSwitcherProps.js +19 -0
  244. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -0
  245. package/dist/core/twap/useTwapTokenToInputProps.d.ts +10 -0
  246. package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -0
  247. package/dist/core/twap/useTwapTokenToInputProps.js +114 -0
  248. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -0
  249. package/dist/events/effects/formInput.d.ts +3 -0
  250. package/dist/events/effects/formInput.d.ts.map +1 -1
  251. package/dist/events/effects/formInput.js +16 -9
  252. package/dist/events/effects/formInput.js.map +1 -1
  253. package/dist/events/getters/twap.d.ts +6 -0
  254. package/dist/events/getters/twap.d.ts.map +1 -0
  255. package/dist/events/getters/twap.js +57 -0
  256. package/dist/events/getters/twap.js.map +1 -0
  257. package/dist/events/getters/widgetState.d.ts.map +1 -1
  258. package/dist/events/getters/widgetState.js +9 -7
  259. package/dist/events/getters/widgetState.js.map +1 -1
  260. package/dist/events/hooks/useActivateEffects.d.ts.map +1 -1
  261. package/dist/events/hooks/useActivateEffects.js +4 -4
  262. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  263. package/dist/events/types/common.d.ts +8 -0
  264. package/dist/events/types/common.d.ts.map +1 -1
  265. package/dist/events/types/formInput.d.ts +11 -2
  266. package/dist/events/types/formInput.d.ts.map +1 -1
  267. package/dist/events/types/index.d.ts +4 -1
  268. package/dist/events/types/index.d.ts.map +1 -1
  269. package/dist/events/types/limit.d.ts +2 -2
  270. package/dist/events/types/limit.d.ts.map +1 -1
  271. package/dist/events/types/swap.d.ts +3 -2
  272. package/dist/events/types/swap.d.ts.map +1 -1
  273. package/dist/events/types/twap.d.ts +26 -0
  274. package/dist/events/types/twap.d.ts.map +1 -0
  275. package/dist/hooks/batch/useSendBatchTx.d.ts +1 -1
  276. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  277. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  278. package/dist/hooks/permit/utils/deadlines.d.ts +0 -3
  279. package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
  280. package/dist/hooks/permit/utils/deadlines.js +5 -12
  281. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  282. package/dist/hooks/swap/prices/constants.d.ts +1 -0
  283. package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
  284. package/dist/hooks/swap/prices/constants.js +2 -1
  285. package/dist/hooks/swap/prices/constants.js.map +1 -1
  286. package/dist/hooks/swap/prices/delta/bridge/utils.js +9 -12
  287. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  288. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +19 -0
  289. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +1 -0
  290. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +42 -0
  291. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -0
  292. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +37 -0
  293. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -0
  294. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +77 -0
  295. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -0
  296. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +69 -0
  297. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +1 -0
  298. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +121 -0
  299. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -0
  300. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +15 -0
  301. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -0
  302. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +42 -0
  303. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -0
  304. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +60 -0
  305. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +1 -0
  306. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +135 -0
  307. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -0
  308. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +18 -0
  309. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -0
  310. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +39 -0
  311. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -0
  312. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +12 -1
  313. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  314. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +2 -5
  315. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
  316. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  317. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -3
  318. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  319. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +1 -1
  320. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  321. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +6 -6
  322. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  323. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  324. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts +2 -2
  325. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -1
  326. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  327. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +3 -3
  328. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  329. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +16 -22
  330. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  331. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +4 -4
  332. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  333. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +81 -78
  334. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  335. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +17 -6
  336. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  337. package/dist/hooks/swap/prices/delta/mutations/utils.js +34 -12
  338. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  339. package/dist/hooks/swap/prices/delta/orders/types.d.ts +22 -46
  340. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  341. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
  342. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  343. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  344. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +6 -5
  345. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -1
  346. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +67 -1
  347. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  348. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +32 -22
  349. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  350. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +45 -16
  351. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  352. package/dist/hooks/swap/prices/delta/orders/utils.js +121 -21
  353. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  354. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  355. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +1 -1
  356. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
  357. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +0 -1
  358. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -1
  359. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  360. package/dist/hooks/swap/prices/delta/queries/errors.d.ts +10 -2
  361. package/dist/hooks/swap/prices/delta/queries/errors.d.ts.map +1 -1
  362. package/dist/hooks/swap/prices/delta/queries/errors.js +9 -5
  363. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  364. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +5 -6
  365. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  366. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  367. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +6 -6
  368. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  369. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +62 -61
  370. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  371. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +15 -19
  372. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  373. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +63 -72
  374. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  375. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  376. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +56 -55
  377. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  378. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  379. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  380. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  381. package/dist/hooks/swap/prices/usePricesParams.js +9 -10
  382. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  383. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -0
  384. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  385. package/dist/hooks/swap/prices/useSwapPrices.js +115 -112
  386. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  387. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +1 -1
  388. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
  389. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  390. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +16 -0
  391. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -0
  392. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +31 -0
  393. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -0
  394. package/dist/hooks/swap/prices/useTwapPrices.d.ts +45 -0
  395. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -0
  396. package/dist/hooks/swap/prices/useTwapPrices.js +98 -0
  397. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -0
  398. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +48 -0
  399. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -0
  400. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +55 -0
  401. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -0
  402. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +50 -0
  403. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -0
  404. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +59 -0
  405. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -0
  406. package/dist/hooks/swap/tradeFlow/common/types.d.ts +4 -2
  407. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  408. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +2 -0
  409. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  410. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +14 -13
  411. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  412. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +6 -6
  413. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
  414. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +114 -126
  415. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  416. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +7 -7
  417. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  418. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +132 -143
  419. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  420. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +2 -1
  421. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
  422. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +91 -91
  423. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  424. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  425. package/dist/hooks/swap/tradeFlow/common/utils.js +1 -1
  426. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  427. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +8 -9
  428. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  429. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +129 -134
  430. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  431. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +6 -7
  432. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  433. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +181 -178
  434. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  435. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +91 -0
  436. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -0
  437. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +368 -0
  438. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -0
  439. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +25 -0
  440. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +1 -0
  441. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +84 -0
  442. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -0
  443. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
  444. package/dist/hooks/tokens/prices/queries.js +12 -12
  445. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +1 -1
  446. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
  447. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  448. package/dist/hooks/tokens/useTokensFromAcross.d.ts +1 -1
  449. package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
  450. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  451. package/dist/hooks/useBridgeInfo.d.ts +1 -1
  452. package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
  453. package/dist/hooks/useBridgeInfo.js.map +1 -1
  454. package/dist/hooks/useIsCrosschainPossible.d.ts +1 -1
  455. package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
  456. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  457. package/dist/hooks/useSDK.d.ts +4 -4
  458. package/dist/hooks/useSDK.d.ts.map +1 -1
  459. package/dist/hooks/useSDK.js +30 -30
  460. package/dist/hooks/useSDK.js.map +1 -1
  461. package/dist/hooks/useSelectableDestChains.d.ts +1 -1
  462. package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
  463. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  464. package/dist/hooks/useSlippage.d.ts.map +1 -1
  465. package/dist/hooks/useSlippage.js +14 -13
  466. package/dist/hooks/useSlippage.js.map +1 -1
  467. package/dist/index.d.ts +2 -2
  468. package/dist/index.d.ts.map +1 -1
  469. package/dist/lib/constants/delta.d.ts.map +1 -1
  470. package/dist/lib/constants/delta.js +1 -1
  471. package/dist/lib/constants/delta.js.map +1 -1
  472. package/dist/lib/constants/time.d.ts +2 -0
  473. package/dist/lib/constants/time.d.ts.map +1 -1
  474. package/dist/lib/constants/time.js +2 -2
  475. package/dist/lib/constants/time.js.map +1 -1
  476. package/dist/lib/queryClient.js +1 -1
  477. package/dist/lib/queryClient.js.map +1 -1
  478. package/dist/lib/tradeMode.d.ts +9 -1
  479. package/dist/lib/tradeMode.d.ts.map +1 -1
  480. package/dist/lib/tradeMode.js +9 -4
  481. package/dist/lib/tradeMode.js.map +1 -1
  482. package/dist/lib/utils/delta.d.ts +10 -0
  483. package/dist/lib/utils/delta.d.ts.map +1 -1
  484. package/dist/lib/utils/delta.js +31 -18
  485. package/dist/lib/utils/delta.js.map +1 -1
  486. package/dist/lib/utils/index.d.ts +22 -0
  487. package/dist/lib/utils/index.d.ts.map +1 -1
  488. package/dist/lib/utils/index.js +27 -15
  489. package/dist/lib/utils/index.js.map +1 -1
  490. package/dist/lib/utils/scaleFactor.d.ts +3 -0
  491. package/dist/lib/utils/scaleFactor.d.ts.map +1 -0
  492. package/dist/lib/utils/scaleFactor.js +13 -0
  493. package/dist/lib/utils/scaleFactor.js.map +1 -0
  494. package/dist/lib/utils/time.d.ts +2 -0
  495. package/dist/lib/utils/time.d.ts.map +1 -1
  496. package/dist/lib/utils/time.js +7 -1
  497. package/dist/lib/utils/time.js.map +1 -1
  498. package/dist/lib/utils/toasts.d.ts +3 -4
  499. package/dist/lib/utils/toasts.d.ts.map +1 -1
  500. package/dist/lib/utils/toasts.js.map +1 -1
  501. package/dist/lib/utils/twap.d.ts +24 -0
  502. package/dist/lib/utils/twap.d.ts.map +1 -0
  503. package/dist/lib/utils/twap.js +34 -0
  504. package/dist/lib/utils/twap.js.map +1 -0
  505. package/dist/lib/web3/privy/config.js +1 -1
  506. package/dist/lib/web3/privy/config.js.map +1 -1
  507. package/dist/lib/web3/wagmi/config.js +1 -1
  508. package/dist/lib/web3/wagmi/config.js.map +1 -1
  509. package/dist/styles.css +1 -1
  510. package/dist/tokens/defaultTokens.js.map +1 -1
  511. package/dist/transactions/types.d.ts +4 -4
  512. package/dist/transactions/types.d.ts.map +1 -1
  513. package/package.json +2 -2
  514. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +0 -4
  515. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +0 -1
  516. package/dist/hooks/swap/prices/delta/queries/utils.js +0 -15
  517. package/dist/hooks/swap/prices/delta/queries/utils.js.map +0 -1
@@ -1,123 +1,114 @@
1
1
  import { getLogger as e, useLogger as t } from "../../../../../core/logger.js";
2
2
  import { useDeltaSDK as n } from "../../../../useSDK.js";
3
3
  import { DeltaOrderStatusChecker as r, isCanceledDeltaAuction as i, isDeltaAuctionExpired as a, isExecutedDeltaAuction as o, isFailedDeltaAuction as s } from "../orders/utils.js";
4
- import { isMetaWithTimeStart as c } from "../bridge/utils.js";
5
- import { DeltaOrderFailedError as l } from "./errors.js";
6
- import { c as u } from "react-compiler-runtime";
7
- import { useLayoutEffect as d, useMemo as f, useRef as p } from "react";
8
- import { QueryObserver as m, useQuery as h, useQueryClient as g } from "@tanstack/react-query";
9
- import { assert as _ } from "ts-essentials";
4
+ import { DeltaOrderFailedError as c } from "./errors.js";
5
+ import { c as l } from "react-compiler-runtime";
6
+ import { useLayoutEffect as u, useMemo as d, useRef as f } from "react";
7
+ import { QueryObserver as p, useQuery as m, useQueryClient as h } from "@tanstack/react-query";
8
+ import { assert as g } from "ts-essentials";
10
9
  //#region src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts
11
- var v = "single_delta_auction";
12
- function y({ orderId: e } = {}) {
13
- return [v, e];
10
+ var _ = "single_delta_auction";
11
+ function v({ orderId: e } = {}) {
12
+ return [_, e];
14
13
  }
15
- var b = 3e3, x = 6e4;
16
- function S({ orderId: t, enabled: n = !0, select: l, getAuction: u, onUpdatedAuction: d, onAuctionSuccess: f, onAuctionFailure: p, onTimeoutGettingOrder: m }) {
17
- let h = (e) => "doneState" in e && typeof e.doneState == "boolean", g = {
18
- startedQueryAt: Date.now(),
19
- doneState: !1
20
- };
14
+ var y = 3e3, b = 6e4;
15
+ function x({ orderId: t, enabled: n = !0, refetchInterval: c = y, select: l, getAuction: u, onUpdatedAuction: d, onAuctionSuccess: f, onAuctionFailure: p }) {
16
+ let m = (e) => "doneState" in e && typeof e.doneState == "boolean";
21
17
  return {
22
- queryKey: y({ orderId: t }),
23
- queryFn: ({ signal: e }) => (_(t, "orderId is required"), u(t, { signal: e })),
24
- meta: g,
25
- refetchInterval: (n) => {
26
- let l = n.state.data, u = n.options.meta, g = !!u && h(u);
27
- if (g && u.doneState) return e("DeltaAuctionPollingQueryOptions").log("Shortcut return for refetchInterval"), !1;
28
- if (l && d?.(l), l && r.completed.has(l.status)) {
29
- if (o(l)) return f?.(l), g && (u.doneState = !0), !1;
30
- if (s(l) || a(l) || i(l)) return p?.(l), g && (u.doneState = !0), !1;
18
+ queryKey: v({ orderId: t }),
19
+ queryFn: ({ signal: e }) => (g(t, "orderId is required"), u(t, { signal: e })),
20
+ meta: { doneState: !1 },
21
+ refetchInterval: (t) => {
22
+ let n = t.state.data, l = t.options.meta, u = !!l && m(l);
23
+ if (u && l.doneState) return e("DeltaAuctionPollingQueryOptions").log("Shortcut return for refetchInterval"), !1;
24
+ if (n && d?.(n), n && r.completed.has(n.status)) {
25
+ if (o(n)) return f?.(n), u && (l.doneState = !0), !1;
26
+ if (s(n) || a(n) || i(n)) return p?.(n), u && (l.doneState = !0), !1;
31
27
  }
32
- return l === null && u && c(u) && Date.now() - u.startedQueryAt > x ? (_(t, "orderId is required"), m?.({ id: t }), g && (u.doneState = !0), !1) : b;
28
+ return c;
33
29
  },
34
30
  enabled: !!t && n,
35
31
  select: l
36
32
  };
37
33
  }
38
- function C({ orderId: e, enabled: t = !0, select: r, onAuctionSuccess: i, onAuctionFailure: a, onUpdatedAuction: o, onTimeoutGettingOrder: s }) {
39
- let { sdk: c } = n({ chainId: 1 }), l = p({
40
- onAuctionSuccess: i,
41
- onAuctionFailure: a,
42
- onUpdatedAuction: o,
43
- onTimeoutGettingOrder: s
34
+ function S({ orderId: e, enabled: t = !0, refetchInterval: r, select: i, onAuctionSuccess: a, onAuctionFailure: o, onUpdatedAuction: s }) {
35
+ let { sdk: c } = n({ chainId: 1 }), l = f({
36
+ onAuctionSuccess: a,
37
+ onAuctionFailure: o,
38
+ onUpdatedAuction: s
44
39
  });
45
- return d(() => {
40
+ return u(() => {
46
41
  l.current = {
47
- onAuctionSuccess: i,
48
- onAuctionFailure: a,
49
- onUpdatedAuction: o,
50
- onTimeoutGettingOrder: s
42
+ onAuctionSuccess: a,
43
+ onAuctionFailure: o,
44
+ onUpdatedAuction: s
51
45
  };
52
46
  }, [
53
- i,
54
47
  a,
55
48
  o,
56
49
  s
57
- ]), h(f(() => S({
50
+ ]), m(d(() => x({
58
51
  orderId: e,
59
52
  enabled: t,
60
- select: r,
53
+ refetchInterval: r,
54
+ select: i,
61
55
  getAuction: c.getDeltaOrderById,
62
56
  onUpdatedAuction: l.current.onUpdatedAuction,
63
57
  onAuctionSuccess: l.current.onAuctionSuccess,
64
- onAuctionFailure: l.current.onAuctionFailure,
65
- onTimeoutGettingOrder: l.current.onTimeoutGettingOrder
58
+ onAuctionFailure: l.current.onAuctionFailure
66
59
  }), [
67
60
  e,
68
61
  t,
69
62
  r,
63
+ i,
70
64
  c.getDeltaOrderById
71
65
  ]));
72
66
  }
73
- function w(e) {
74
- let c = u(9), d;
75
- c[0] === e ? d = c[1] : (d = e === void 0 ? {} : e, c[0] = e, c[1] = d);
76
- let { onAuctionSuccess: f, onAuctionFailure: p } = d, h = g(), _ = t("EnsureDeltaOrderExecuted"), v;
77
- c[2] === Symbol.for("react.memo_cache_sentinel") ? (v = { chainId: 1 }, c[2] = v) : v = c[2];
78
- let { sdk: b } = n(v), C;
79
- return c[3] !== _ || c[4] !== p || c[5] !== f || c[6] !== h || c[7] !== b.getDeltaOrderById ? (C = async (e) => {
80
- let { orderId: t, signal: n } = e, c = y({ orderId: t }), u = new m(h, S({
67
+ function C(e) {
68
+ let u = l(10), d;
69
+ u[0] === e ? d = u[1] : (d = e === void 0 ? {} : e, u[0] = e, u[1] = d);
70
+ let { onAuctionSuccess: f, onAuctionFailure: m, refetchInterval: g } = d, _ = h(), y = t("EnsureDeltaOrderExecuted"), S;
71
+ u[2] === Symbol.for("react.memo_cache_sentinel") ? (S = { chainId: 1 }, u[2] = S) : S = u[2];
72
+ let { sdk: C } = n(S), w;
73
+ return u[3] !== y || u[4] !== m || u[5] !== f || u[6] !== _ || u[7] !== g || u[8] !== C.getDeltaOrderById ? (w = async (e) => {
74
+ let { orderId: t, signal: n } = e, l = v({ orderId: t }), u = new p(_, x({
81
75
  orderId: t,
82
76
  enabled: !0,
83
- getAuction: b.getDeltaOrderById
77
+ refetchInterval: g,
78
+ getAuction: C.getDeltaOrderById
84
79
  }));
85
80
  return new Promise((e, d) => {
86
- let m = Date.now(), h = setTimeout(() => {
87
- _.log("QueryObserver", c, "timeout"), g(), d(/* @__PURE__ */ Error(`Order ${t} not found`));
88
- }, x + 1e3);
81
+ let p = setTimeout(() => {
82
+ y.log("QueryObserver", l, "timeout"), h(), d(/* @__PURE__ */ Error(`Order ${t} not found`));
83
+ }, b + 1e3);
89
84
  n?.addEventListener("abort", () => {
90
- h && clearTimeout(h), g(), d(/* @__PURE__ */ Error(`Order execution aborted: ${n.reason}`));
85
+ p && clearTimeout(p), h(), d(/* @__PURE__ */ Error(`Order execution aborted: ${n.reason}`));
91
86
  });
92
- let g = u.subscribe((n) => {
93
- let u = () => {
94
- _.log("QueryObserver", c, "cleanup"), g();
87
+ let h = u.subscribe((t) => {
88
+ let n = () => {
89
+ y.log("QueryObserver", l, "cleanup"), h();
95
90
  };
96
- _.log("QueryObserver", c, n);
97
- let v = n.data;
98
- if (v && h !== null && (clearTimeout(h), h = null), v && r.completed.has(v.status)) {
99
- if (o(v)) {
100
- f?.(v), u(), e(v);
91
+ y.log("QueryObserver", l, t);
92
+ let u = t.data;
93
+ if (u && p !== null && (clearTimeout(p), p = null), u && r.completed.has(u.status)) {
94
+ if (o(u)) {
95
+ f?.(u), n(), e(u);
101
96
  return;
102
97
  }
103
- if (s(v) || a(v) || i(v)) {
104
- p?.(v), u(), d(new l({ order: v }));
98
+ if (s(u) || a(u) || i(u)) {
99
+ m?.(u), n(), d(new c({ order: u }));
105
100
  return;
106
101
  }
107
102
  }
108
- if (v === null && Date.now() - m > x) {
109
- u(), d(/* @__PURE__ */ Error(`Order ${t} not found`));
110
- return;
111
- }
112
- if (n.error) {
113
- u(), d(n.error);
103
+ if (t.error) {
104
+ n(), d(t.error);
114
105
  return;
115
106
  }
116
107
  });
117
108
  });
118
- }, c[3] = _, c[4] = p, c[5] = f, c[6] = h, c[7] = b.getDeltaOrderById, c[8] = C) : C = c[8], C;
109
+ }, u[3] = y, u[4] = m, u[5] = f, u[6] = _, u[7] = g, u[8] = C.getDeltaOrderById, u[9] = w) : w = u[9], w;
119
110
  }
120
111
  //#endregion
121
- export { y as deltaAuctionPollingQueryKey, w as useEnsureDeltaOrderExecuted, C as useWatchDeltaAuction };
112
+ export { v as deltaAuctionPollingQueryKey, C as useEnsureDeltaOrderExecuted, S as useWatchDeltaAuction };
122
113
 
123
114
  //# sourceMappingURL=useWatchDeltaOrder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","MarkOptional","useDeltaSDK","DeltaOrderFromAPI","isMetaWithTimeStart","BridgedDepositResponseFailure","BridgedDepositResponseSuccess","GetBridgedDepositStatusInput","RefetchMetaWithTiming","BridgedDepositResponse","useBridgedDepositStatus","DeltaAuction","DeltaOrderStatusChecker","isExecutedDeltaAuction","isFailedDeltaAuction","isDeltaAuctionExpired","isCanceledDeltaAuction","ExecutedDeltaAuction","FailedDeltaAuction","getLogger","useLogger","DeltaOrderFailedError","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","MaybeVeloraDeltaAuction","UseDeltaAuctionQueryOptions","Error","TData","DELTA_ORDER_POLLING_INTERVAL","ConstructDeltaAuctionPollingQueryOptionsInput","enabled","select","data","getAuction","requestParams","signal","AbortSignal","Promise","Pick","UseWatchMultiDeltaAuctions","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","onTimeoutGettingOrder","doneState","isMetaWithDoneState","queryMeta","meta","startedQueryAt","Date","now","queryKey","queryFn","refetchInterval","query","maybeOrder","state","options","isWithDoneState","log","completed","has","status","elapsed","id","UseWatchDeltaAuctionQueryInput","auction","useWatchDeltaAuction","sdk","chainId","callbacksRef","current","queryOptions","getDeltaOrderById","EnsureOrderExecutedFn","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","logger","t2","Symbol","for","t3","t4","observer","promise","resolve","reject","timeout","setTimeout","unsubscribe","addEventListener","clearTimeout","reason","subscribe","result","cleanup","order","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults","MultiOrdersStatusCrossChainInput","orders","bridgeResponse","useWatchMultiOrdersStatusCrossChain","reduce","_temp","deposits","depositId2Order","response","order_0","depositId","onNewResponse","deposit","order_1","successfulOrder","bridgeStatus","bridgeMetadata","fillTx","onDepositSuccess","deposit_0","order_2","failedOrder","onDepositFailure","t5","deposits_0","onNewResponse_0","onDepositSuccess_0","onDepositFailure_0","t6","depositStatuses","acc","push","String","originChainId"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport type { DeltaOrderFromAPI } from \"./useDeltaOrders\";\nimport {\n isMetaWithTimeStart,\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n type RefetchMetaWithTiming,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isDeltaAuctionExpired,\n isCanceledDeltaAuction,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\nexport type MaybeVeloraDeltaAuction = DeltaOrderFromAPI | null; // null is when no such Order for orderId\n\ntype UseDeltaAuctionQueryOptions<TData = MaybeVeloraDeltaAuction> =\n UseQueryOptions<\n MaybeVeloraDeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<\n TData = MaybeVeloraDeltaAuction,\n> = {\n orderId?: string;\n enabled?: boolean;\n select?: (data: MaybeVeloraDeltaAuction) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<MaybeVeloraDeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n | \"onAuctionSuccess\"\n | \"onAuctionFailure\"\n | \"onUpdatedAuction\"\n | \"onTimeoutGettingOrder\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<\n TData = MaybeVeloraDeltaAuction,\n>({\n orderId,\n enabled = true,\n select,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n onTimeoutGettingOrder,\n}: ConstructDeltaAuctionPollingQueryOptionsInput<TData>): Pick<\n UseDeltaAuctionQueryOptions<TData>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\" | \"select\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render,\n // including startedQueryAt\n const meta: RefetchMetaWithTiming & {\n doneState: boolean;\n } = {\n startedQueryAt: Date.now(),\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n if (maybeOrder === null && queryMeta && isMetaWithTimeStart(queryMeta)) {\n // no Order for this orderId for a long time\n const elapsed = Date.now() - queryMeta.startedQueryAt;\n if (elapsed > LOOK_FOR_ORDER_TIMEOUT) {\n assert(orderId, \"orderId is required\");\n onTimeoutGettingOrder?.({ id: orderId });\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling after 1 minute\n }\n }\n\n return DELTA_ORDER_POLLING_INTERVAL; // default interval for both crosschain and singlechain Orders\n },\n enabled: !!orderId && enabled,\n select,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput<TData = MaybeVeloraDeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n select?: (data: MaybeVeloraDeltaAuction) => TData;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: MarkOptional<DeltaAuction, \"signature\">) => void;\n onTimeoutGettingOrder?: (auction: Pick<DeltaAuction, \"id\">) => void;\n};\n\nexport function useWatchDeltaAuction<TData = MaybeVeloraDeltaAuction>({\n orderId,\n enabled = true,\n // important to pass stable reference of select function,\n // otherwise constructQueryOptions will re-execute every render\n select,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n}: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n };\n }, [\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n ]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions<TData>({\n orderId,\n enabled,\n select,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n onTimeoutGettingOrder: callbacksRef.current.onTimeoutGettingOrder,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, select, sdk.getDeltaOrderById]);\n\n return useQuery<\n MaybeVeloraDeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n >(queryOptions);\n}\n\ntype EnsureOrderExecutedFn = (options: {\n orderId: string;\n signal?: AbortSignal;\n}) => Promise<MaybeVeloraDeltaAuction>;\n\nexport function useEnsureDeltaOrderExecuted({\n onAuctionSuccess,\n onAuctionFailure,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\"\n> = {}): EnsureOrderExecutedFn {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn = async ({\n orderId,\n signal,\n }): Promise<MaybeVeloraDeltaAuction> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n getAuction: sdk.getDeltaOrderById,\n });\n\n const observer = new QueryObserver<\n MaybeVeloraDeltaAuction,\n Error,\n MaybeVeloraDeltaAuction,\n MaybeVeloraDeltaAuction,\n SingleDeltaAuctionQueryKey\n >(queryClient, queryOptions);\n\n const promise = new Promise<MaybeVeloraDeltaAuction>((resolve, reject) => {\n const startedQueryAt = Date.now();\n\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: maybeOrder,\n })\n );\n return;\n }\n }\n\n if (maybeOrder === null) {\n // no Order for this orderId for a long time\n const elapsed = Date.now() - startedQueryAt;\n if (elapsed > LOOK_FOR_ORDER_TIMEOUT) {\n cleanup();\n reject(new Error(`Order ${orderId} not found`));\n return;\n }\n }\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: MarkOptional<DeltaAuction, \"signature\">) => void;\n onTimeoutGettingOrder?: (auction: Pick<DeltaAuction, \"id\">) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<MaybeVeloraDeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n };\n }, [\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n ]);\n\n const queries = useMemo<\n UseDeltaAuctionQueryOptions<MaybeVeloraDeltaAuction>[]\n >(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n onTimeoutGettingOrder: callbacksRef.current.onTimeoutGettingOrder,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaOrderFromAPI[];\n onAuctionSuccess?: (order: DeltaOrderFromAPI) => void;\n onAuctionFailure?: (order: DeltaOrderFromAPI) => void;\n onUpdatedAuction?: (\n auction: MarkOptional<DeltaAuction, \"signature\">,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaOrderFromAPI>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n if (order) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n } as DeltaOrderFromAPI; // order.bridgeMetadata should be filled but not according to types\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n if (order) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n } as DeltaOrderFromAPI; // order.bridgeMetadata should be filled but not according to types\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","QueryObserverOptions","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","useDeltaSDK","BridgedDepositResponseFailure","BridgedDepositResponseSuccess","GetBridgedDepositStatusInput","BridgedDepositResponse","useBridgedDepositStatus","DeltaOrderStatusChecker","isExecutedDeltaAuction","isFailedDeltaAuction","isDeltaAuctionExpired","isCanceledDeltaAuction","ExecutedDeltaAuction","FailedDeltaAuction","getLogger","useLogger","DeltaOrderFailedError","DeltaAuction","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","UseDeltaAuctionQueryOptions","Error","TData","DELTA_ORDER_POLLING_INTERVAL","ConstructDeltaAuctionPollingQueryOptionsInput","enabled","refetchInterval","select","data","getAuction","requestParams","signal","AbortSignal","Promise","Pick","UseWatchMultiDeltaAuctions","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","doneState","isMetaWithDoneState","queryMeta","meta","queryKey","queryFn","query","maybeOrder","state","options","isWithDoneState","log","completed","has","status","UseWatchDeltaAuctionQueryInput","auction","useWatchDeltaAuction","sdk","chainId","callbacksRef","current","queryOptions","getDeltaOrderById","EnsureOrderExecutedFn","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","logger","t2","Symbol","for","t3","t4","observer","ObserverOptions","promise","resolve","reject","timeout","setTimeout","unsubscribe","addEventListener","clearTimeout","reason","subscribe","result","cleanup","order","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults","MultiOrdersStatusCrossChainInput","orders","bridgeResponse","useWatchMultiOrdersStatusCrossChain","reduce","_temp","deposits","depositId2Order","response","order_0","depositId","onNewResponse","deposit","order_1","bridgeMetadata","successfulOrder","bridgeStatus","fillTx","onDepositSuccess","deposit_0","order_2","failedOrder","onDepositFailure","t5","deposits_0","onNewResponse_0","onDepositSuccess_0","onDepositFailure_0","t6","depositStatuses","acc","push","String","originChainId"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type QueryObserverOptions,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isDeltaAuctionExpired,\n isCanceledDeltaAuction,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\ntype UseDeltaAuctionQueryOptions<TData = DeltaAuction> = UseQueryOptions<\n DeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n>;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<DeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"onUpdatedAuction\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval = DELTA_ORDER_POLLING_INTERVAL,\n select,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n}: ConstructDeltaAuctionPollingQueryOptionsInput<TData>): Pick<\n UseDeltaAuctionQueryOptions<TData>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\" | \"select\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render\n const meta: { doneState: boolean } = {\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n return refetchInterval;\n },\n enabled: !!orderId && enabled,\n select,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchDeltaAuction<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval,\n // important to pass stable reference of select function,\n // otherwise constructQueryOptions will re-execute every render\n select,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions<TData>({\n orderId,\n enabled,\n refetchInterval,\n select,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, refetchInterval, select, sdk.getDeltaOrderById]);\n\n return useQuery<DeltaAuction, Error, TData, SingleDeltaAuctionQueryKey>(\n queryOptions\n );\n}\n\ntype EnsureOrderExecutedFn<TData extends DeltaAuction = DeltaAuction> =\n (options: { orderId: string; signal?: AbortSignal }) => Promise<TData>;\n\nexport function useEnsureDeltaOrderExecuted<\n TData extends DeltaAuction = DeltaAuction,\n>({\n onAuctionSuccess,\n onAuctionFailure,\n refetchInterval,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"refetchInterval\"\n> = {}): EnsureOrderExecutedFn<TData> {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn<TData> = async ({\n orderId,\n signal,\n }): Promise<TData> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n refetchInterval,\n getAuction: sdk.getDeltaOrderById,\n });\n\n type ObserverOptions = QueryObserverOptions<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\n const observer = new QueryObserver<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n // I wasn't able to shut up TS here\n >(queryClient, queryOptions as ObserverOptions);\n\n const promise = new Promise<TData>((resolve, reject) => {\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: maybeOrder,\n })\n );\n return;\n }\n }\n\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<DeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queries = useMemo<UseDeltaAuctionQueryOptions<DeltaAuction>[]>(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaAuction[];\n onAuctionSuccess?: (order: DeltaAuction) => void;\n onAuctionFailure?: (order: DeltaAuction) => void;\n onUpdatedAuction?: (\n auction: DeltaAuction,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\n\n// @TODO Currently not used. Adapt for TWAP orders before usage\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaAuction>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n };\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n };\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,YAAY,IAAI,eAAe,EAChC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzE,KAAK,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAE9C,KAAK,kBAAkB,GAAG,QAAQ,CAChC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CACxD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAE5E,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,IAAI,CAChD,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAC/D,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE3E,KAAK,qBAAqB,CAAC,KAAK,GAAG,WAAW,IAAI;IAChD,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,yBAAyB;IACtC,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,eAAe;CAC7B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,GAAG,WAAW,EAAE,EACvD,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAChC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAsBA;AAQD,KAAK,gCAAgC,GAAG;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,KAAK,2BAA2B,GAAG,CACjC,KAAK,EAAE,gCAAgC,KACpC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;AAG7E,wBAAgB,2BAA2B,IAAI,2BAA2B,CAmBzE;AAED,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,4BAA4B,GAAG,CAClC,KAAK,EAAE,2BAA2B,KAC/B,MAAM,IAAI,CAAC;AAGhB,wBAAgB,yBAAyB,IAAI,4BAA4B,CA2BxE;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,GACvB,WAAW,GAAG,SAAS,CASzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAUtE;AAED,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,OAAO,GACR,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ExD"}
1
+ {"version":3,"file":"useMarketPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,YAAY,IAAI,eAAe,EAChC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzE,KAAK,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAE9C,KAAK,kBAAkB,GAAG,QAAQ,CAChC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CACxD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAE5E,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,IAAI,CAChD,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAC/D,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE3E,KAAK,qBAAqB,CAAC,KAAK,GAAG,WAAW,IAAI;IAChD,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,yBAAyB;IACtC,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,eAAe;CAC7B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,GAAG,WAAW,EAAE,EACvD,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAgC,GACjC,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAChC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAsBA;AAQD,KAAK,gCAAgC,GAAG;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,KAAK,2BAA2B,GAAG,CACjC,KAAK,EAAE,gCAAgC,KACpC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;AAG7E,wBAAgB,2BAA2B,IAAI,2BAA2B,CAmBzE;AAED,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,4BAA4B,GAAG,CAClC,KAAK,EAAE,2BAA2B,KAC/B,MAAM,IAAI,CAAC;AAGhB,wBAAgB,yBAAyB,IAAI,4BAA4B,CA2BxE;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,GACvB,WAAW,GAAG,SAAS,CASzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAUtE;AAED,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,OAAO,GACR,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ExD"}
@@ -1,77 +1,78 @@
1
1
  import { useMarketSwapSDK as e } from "../../../../useSDK.js";
2
- import { c as t } from "react-compiler-runtime";
3
- import { useMemo as n } from "react";
4
- import { QueryObserver as r, useQuery as i, useQueryClient as a } from "@tanstack/react-query";
5
- import { assert as o } from "ts-essentials";
6
- import { useDebouncedValue as s } from "@tanstack/react-pacer/debouncer";
2
+ import { PRICE_FETCH_TIMEOUT_MS as t } from "../../constants.js";
3
+ import { c as n } from "react-compiler-runtime";
4
+ import { useMemo as r } from "react";
5
+ import { QueryObserver as i, useQuery as a, useQueryClient as o } from "@tanstack/react-query";
6
+ import { assert as s } from "ts-essentials";
7
+ import { useDebouncedValue as c } from "@tanstack/react-pacer/debouncer";
7
8
  //#region src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts
8
- var c = "swap/prices/market";
9
- function l(n) {
10
- let r = t(20), { priceParams: a, query: s, chainId: c, timeout: l } = n, d;
11
- r[0] === c ? d = r[1] : (d = { chainId: c }, r[0] = c, r[1] = d);
12
- let { sdk: f } = e(d), p = s?.enabled ?? !0, h;
13
- r[2] !== c || r[3] !== a ? (h = {
14
- priceParams: a,
15
- chainId: c
16
- }, r[2] = c, r[3] = a, r[4] = h) : h = r[4];
17
- let { queryKey: g, sanitizedPriceParams: _ } = m(h), v;
18
- r[5] !== _ || r[6] !== f || r[7] !== l ? (v = (e) => {
9
+ var l = "swap/prices/market";
10
+ function u(r) {
11
+ let i = n(20), { priceParams: o, query: c, chainId: l, timeout: u } = r, f = u === void 0 ? t : u, p;
12
+ i[0] === l ? p = i[1] : (p = { chainId: l }, i[0] = l, i[1] = p);
13
+ let { sdk: m } = e(p), g = c?.enabled ?? !0, _;
14
+ i[2] !== l || i[3] !== o ? (_ = {
15
+ priceParams: o,
16
+ chainId: l
17
+ }, i[2] = l, i[3] = o, i[4] = _) : _ = i[4];
18
+ let { queryKey: v, sanitizedPriceParams: y } = h(_), b;
19
+ i[5] !== y || i[6] !== m || i[7] !== f ? (b = (e) => {
19
20
  let { signal: t } = e;
20
- return o(u(_), "destToken is required"), f.getRate(_, {
21
+ return s(d(y), "destToken is required"), m.getRate(y, {
21
22
  signal: t,
22
- timeout: l
23
+ timeout: f
23
24
  });
24
- }, r[5] = _, r[6] = f, r[7] = l, r[8] = v) : v = r[8];
25
- let y;
26
- r[9] !== p || r[10] !== _ ? (y = p && u(_), r[9] = p, r[10] = _, r[11] = y) : y = r[11];
27
- let b;
28
- r[12] !== s || r[13] !== g || r[14] !== v || r[15] !== y ? (b = {
29
- queryKey: g,
30
- queryFn: v,
31
- ...s,
32
- enabled: y
33
- }, r[12] = s, r[13] = g, r[14] = v, r[15] = y, r[16] = b) : b = r[16];
34
- let x = i(b), S;
35
- return r[17] !== g || r[18] !== x ? (S = {
36
- result: x,
37
- queryKey: g
38
- }, r[17] = g, r[18] = x, r[19] = S) : S = r[19], S;
25
+ }, i[5] = y, i[6] = m, i[7] = f, i[8] = b) : b = i[8];
26
+ let x;
27
+ i[9] !== g || i[10] !== y ? (x = g && d(y), i[9] = g, i[10] = y, i[11] = x) : x = i[11];
28
+ let S;
29
+ i[12] !== c || i[13] !== v || i[14] !== b || i[15] !== x ? (S = {
30
+ queryKey: v,
31
+ queryFn: b,
32
+ ...c,
33
+ enabled: x
34
+ }, i[12] = c, i[13] = v, i[14] = b, i[15] = x, i[16] = S) : S = i[16];
35
+ let C = a(S), w;
36
+ return i[17] !== v || i[18] !== C ? (w = {
37
+ result: C,
38
+ queryKey: v
39
+ }, i[17] = v, i[18] = C, i[19] = w) : w = i[19], w;
39
40
  }
40
- function u(e) {
41
+ function d(e) {
41
42
  return !!e.destToken && Number(e.amount) > 0;
42
43
  }
43
- function d() {
44
- let e = t(2), n = a(), i;
45
- return e[0] === n ? i = e[1] : (i = (e) => {
46
- let { queryKey: t, onData: i, onError: a } = e;
47
- return new r(n, {
48
- queryKey: t,
44
+ function f() {
45
+ let e = n(2), t = o(), r;
46
+ return e[0] === t ? r = e[1] : (r = (e) => {
47
+ let { queryKey: n, onData: r, onError: a } = e;
48
+ return new i(t, {
49
+ queryKey: n,
49
50
  enabled: !1
50
51
  }).subscribe((e) => {
51
52
  if (e.error) {
52
53
  a?.(e.error);
53
54
  return;
54
55
  }
55
- e.data && i?.(e.data);
56
+ e.data && r?.(e.data);
56
57
  });
57
- }, e[0] = n, e[1] = i), i;
58
+ }, e[0] = t, e[1] = r), r;
58
59
  }
59
- function f(e) {
60
+ function p(e) {
60
61
  return e.getQueryCache().find({
61
- queryKey: [c],
62
+ queryKey: [l],
62
63
  exact: !1,
63
64
  type: "active"
64
65
  })?.state.data;
65
66
  }
66
- function p(e) {
67
+ function m(e) {
67
68
  return typeof e == "object" && !!e && "bestRoute" in e && "srcToken" in e && "destToken" in e && "srcAmount" in e && "destAmount" in e;
68
69
  }
69
- function m({ priceParams: e, chainId: t }) {
70
+ function h({ priceParams: e, chainId: t }) {
70
71
  "use no memo";
71
- let [r] = s(e.amount, { wait: 500 });
72
- return n(() => {
73
- let n = {
74
- amount: r,
72
+ let [n] = c(e.amount, { wait: 500 });
73
+ return r(() => {
74
+ let r = {
75
+ amount: n,
75
76
  userAddress: e.userAddress,
76
77
  side: e.side,
77
78
  srcDecimals: e.srcDecimals,
@@ -101,15 +102,15 @@ function m({ priceParams: e, chainId: t }) {
101
102
  };
102
103
  return {
103
104
  queryKey: [
104
- c,
105
+ l,
105
106
  t,
106
- n
107
+ r
107
108
  ],
108
- sanitizedPriceParams: n
109
+ sanitizedPriceParams: r
109
110
  };
110
111
  }, [
111
112
  t,
112
- r,
113
+ n,
113
114
  e.destDecimals,
114
115
  e.destToken,
115
116
  e.destTokenDexTransferFee,
@@ -137,6 +138,6 @@ function m({ priceParams: e, chainId: t }) {
137
138
  ]);
138
139
  }
139
140
  //#endregion
140
- export { c as MarketPriceQueryKeyPrefix, f as getLastMarketPrice, p as isDataMarketPrice, l as useMarketPriceQuery, d as useSubscribeToMarketPrice };
141
+ export { l as MarketPriceQueryKeyPrefix, p as getLastMarketPrice, m as isDataMarketPrice, u as useMarketPriceQuery, f as useSubscribeToMarketPrice };
141
142
 
142
143
  //# sourceMappingURL=useMarketPriceQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketPriceQuery.js","names":["useMarketSwapSDK","useDebouncedValue","Query","QueryClient","QueryObserver","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","OptimalRate","GetRateInput","GetRateInputSDK","useMemo","assert","MarkOptional","Prettify","RequiredRateParams","Omit","RateParamsInput","MarketQueryParams","Error","TData","MarketPriceQueryKey","MarketQueryResult","MarketPriceQueryInput","priceParams","query","chainId","timeout","MarketPriceQueryKeyPrefix","base","useMarketPriceQuery","t0","$","_c","t1","sdk","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t3","t4","signal","isPriceParamsValid","price","getRate","t5","queryFn","result","t6","destToken","Number","amount","GetMarketPriceQueryForPriceInput","MarketPriceQuery","GetMarketPriceQueryForPrice","input","useMarketPriceQueryForPrice","queryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","SubscribeToMarketPriceInput","onData","onError","error","SubscribeToMarketPriceResult","useSubscribeToMarketPrice","observer","subscribe","getLastMarketPrice","type","isDataMarketPrice","Pick","debouncedAmount","wait","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","partnerFeeBps","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee","degenMode"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n OptimalRate,\n GetRateInput as GetRateInputSDK,\n} from \"@velora-dex/sdk\";\nimport { useMemo } from \"react\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\n\ntype GetRateInput = Prettify<GetRateInputSDK>;\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const MarketPriceQueryKeyPrefix = \"swap/prices/market\";\n\nexport type MarketPriceQueryKey = [\n base: typeof MarketPriceQueryKeyPrefix,\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout,\n}: MarketPriceQueryInput<TData>): {\n result: MarketQueryResult<TData>;\n queryKey: MarketPriceQueryKey;\n} {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useMarketPriceQueryKey({\n priceParams,\n chainId,\n });\n\n const result = useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n\ntype GetMarketPriceQueryForPriceInput = {\n price: OptimalRate;\n chainId: number;\n};\n\ntype MarketPriceQuery = Query<\n OptimalRate,\n Error,\n OptimalRate,\n MarketPriceQueryKey\n>;\n\ntype GetMarketPriceQueryForPrice = (\n input: GetMarketPriceQueryForPriceInput\n) => Query<OptimalRate, Error, OptimalRate, MarketPriceQueryKey> | undefined;\n\n// get query for a given marketPrice\nexport function useMarketPriceQueryForPrice(): GetMarketPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [MarketPriceQueryKey[0], MarketPriceQueryKey[1]] = [\n MarketPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as MarketPriceQuery | undefined;\n };\n}\n\ntype SubscribeToMarketPriceInput = {\n queryKey: MarketPriceQueryKey;\n onData?: (data: OptimalRate) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToMarketPriceResult = (\n input: SubscribeToMarketPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToMarketPrice(): SubscribeToMarketPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n OptimalRate,\n Error,\n OptimalRate,\n OptimalRate,\n MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nexport function getLastMarketPrice(\n queryClient: QueryClient\n): OptimalRate | undefined {\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey: [MarketPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n\n return query?.state.data;\n}\n\nexport function isDataMarketPrice(price: unknown): price is OptimalRate {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bestRoute\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useMarketPriceQueryKey({\n priceParams,\n chainId,\n}: Pick<MarketPriceQueryInput, \"priceParams\" | \"chainId\">) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n degenMode: priceParams.degenMode,\n },\n };\n\n const queryKey: MarketPriceQueryKey = [\n MarketPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n chainId,\n debouncedAmount,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.destTokenDexTransferFee,\n priceParams.destTokenTransferFee,\n priceParams.excludeContractMethods,\n priceParams.excludeContractMethodsWithoutFeeModel,\n priceParams.excludeDEXS,\n priceParams.excludePools,\n priceParams.excludeRFQ,\n priceParams.ignoreBadUsdPrice,\n priceParams.includeContractMethods,\n priceParams.includeDEXS,\n priceParams.maxImpact,\n priceParams.maxUSDImpact,\n priceParams.otherExchangePrices,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.srcTokenDexTransferFee,\n priceParams.srcTokenTransferFee,\n priceParams.userAddress,\n priceParams.degenMode,\n ]);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useMarketPriceQuery.js","names":["useMarketSwapSDK","useDebouncedValue","Query","QueryClient","QueryObserver","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","OptimalRate","GetRateInput","GetRateInputSDK","useMemo","assert","MarkOptional","Prettify","PRICE_FETCH_TIMEOUT_MS","RequiredRateParams","Omit","RateParamsInput","MarketQueryParams","Error","TData","MarketPriceQueryKey","MarketQueryResult","MarketPriceQueryInput","priceParams","query","chainId","timeout","MarketPriceQueryKeyPrefix","base","useMarketPriceQuery","t0","$","_c","t1","undefined","t2","sdk","queryEnabled","enabled","t3","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t4","t5","signal","isPriceParamsValid","price","getRate","t6","queryFn","result","t7","destToken","Number","amount","GetMarketPriceQueryForPriceInput","MarketPriceQuery","GetMarketPriceQueryForPrice","input","useMarketPriceQueryForPrice","queryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","SubscribeToMarketPriceInput","onData","onError","error","SubscribeToMarketPriceResult","useSubscribeToMarketPrice","observer","subscribe","getLastMarketPrice","type","isDataMarketPrice","Pick","debouncedAmount","wait","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","partnerFeeBps","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee","degenMode"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n OptimalRate,\n GetRateInput as GetRateInputSDK,\n} from \"@velora-dex/sdk\";\nimport { useMemo } from \"react\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\nimport { PRICE_FETCH_TIMEOUT_MS } from \"../../constants\";\n\ntype GetRateInput = Prettify<GetRateInputSDK>;\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const MarketPriceQueryKeyPrefix = \"swap/prices/market\";\n\nexport type MarketPriceQueryKey = [\n base: typeof MarketPriceQueryKeyPrefix,\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout = PRICE_FETCH_TIMEOUT_MS,\n}: MarketPriceQueryInput<TData>): {\n result: MarketQueryResult<TData>;\n queryKey: MarketPriceQueryKey;\n} {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useMarketPriceQueryKey({\n priceParams,\n chainId,\n });\n\n const result = useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n\ntype GetMarketPriceQueryForPriceInput = {\n price: OptimalRate;\n chainId: number;\n};\n\ntype MarketPriceQuery = Query<\n OptimalRate,\n Error,\n OptimalRate,\n MarketPriceQueryKey\n>;\n\ntype GetMarketPriceQueryForPrice = (\n input: GetMarketPriceQueryForPriceInput\n) => Query<OptimalRate, Error, OptimalRate, MarketPriceQueryKey> | undefined;\n\n// get query for a given marketPrice\nexport function useMarketPriceQueryForPrice(): GetMarketPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [MarketPriceQueryKey[0], MarketPriceQueryKey[1]] = [\n MarketPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as MarketPriceQuery | undefined;\n };\n}\n\ntype SubscribeToMarketPriceInput = {\n queryKey: MarketPriceQueryKey;\n onData?: (data: OptimalRate) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToMarketPriceResult = (\n input: SubscribeToMarketPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToMarketPrice(): SubscribeToMarketPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n OptimalRate,\n Error,\n OptimalRate,\n OptimalRate,\n MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nexport function getLastMarketPrice(\n queryClient: QueryClient\n): OptimalRate | undefined {\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey: [MarketPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n\n return query?.state.data;\n}\n\nexport function isDataMarketPrice(price: unknown): price is OptimalRate {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bestRoute\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useMarketPriceQueryKey({\n priceParams,\n chainId,\n}: Pick<MarketPriceQueryInput, \"priceParams\" | \"chainId\">) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n degenMode: priceParams.degenMode,\n },\n };\n\n const queryKey: MarketPriceQueryKey = [\n MarketPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n chainId,\n debouncedAmount,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.destTokenDexTransferFee,\n priceParams.destTokenTransferFee,\n priceParams.excludeContractMethods,\n priceParams.excludeContractMethodsWithoutFeeModel,\n priceParams.excludeDEXS,\n priceParams.excludePools,\n priceParams.excludeRFQ,\n priceParams.ignoreBadUsdPrice,\n priceParams.includeContractMethods,\n priceParams.includeDEXS,\n priceParams.maxImpact,\n priceParams.maxUSDImpact,\n priceParams.otherExchangePrices,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.srcTokenDexTransferFee,\n priceParams.srcTokenTransferFee,\n priceParams.userAddress,\n priceParams.degenMode,\n ]);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSpenderAndContracts.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,KAAK,gBAAgB,GAAG,OAAO,CAAC;AAEhC,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,IAAI,CACzD,eAAe,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,EACnE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,cAAc,CACnE,KAAK,EACL,KAAK,CACN,CAAC;AAEF,KAAK,oBAAoB,CAAC,KAAK,GAAG,gBAAgB,IAAI;IACpD,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAOzE,KAAK,kBAAkB,GAAG,uBAAuB,CAAC;AAElD,KAAK,uBAAuB,CAAC,KAAK,GAAG,kBAAkB,IAAI,IAAI,CAC7D,eAAe,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,CAAC,EACvE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,uBAAuB,CAAC,KAAK,GAAG,kBAAkB,IAAI,cAAc,CACvE,KAAK,EACL,KAAK,CACN,CAAC;AAEF,KAAK,sBAAsB,CAAC,KAAK,GAAG,kBAAkB,IAAI;IACxD,KAAK,CAAC,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,oBAAoB,GAAG,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAM7E,wBAAgB,kBAAkB,CAAC,KAAK,GAAG,gBAAgB,EAAE,EAC3D,KAAK,EACL,OAAO,GACR,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAe5D;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,GAAG,kBAAkB,EAAE,EAC/D,KAAK,EACL,OAAO,GACR,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAehE;AAED,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,qBAAqB,EAAE,CAAC,EACtB,MAAM,GACP,EAAE;QACD,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,GACR,EAAE,yBAAyB,GAAG,0BAA0B,CAsBxD"}
1
+ {"version":3,"file":"useSpenderAndContracts.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,KAAK,gBAAgB,GAAG,OAAO,CAAC;AAEhC,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,IAAI,CACzD,eAAe,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,EACnE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,cAAc,CACnE,KAAK,EACL,KAAK,CACN,CAAC;AAEF,KAAK,oBAAoB,CAAC,KAAK,GAAG,gBAAgB,IAAI;IACpD,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAMzE,KAAK,kBAAkB,GAAG,uBAAuB,CAAC;AAElD,KAAK,uBAAuB,CAAC,KAAK,GAAG,kBAAkB,IAAI,IAAI,CAC7D,eAAe,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,CAAC,EACvE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,uBAAuB,CAAC,KAAK,GAAG,kBAAkB,IAAI,cAAc,CACvE,KAAK,EACL,KAAK,CACN,CAAC;AAEF,KAAK,sBAAsB,CAAC,KAAK,GAAG,kBAAkB,IAAI;IACxD,KAAK,CAAC,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,oBAAoB,GAAG,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAM7E,wBAAgB,kBAAkB,CAAC,KAAK,GAAG,gBAAgB,EAAE,EAC3D,KAAK,EACL,OAAO,GACR,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAe5D;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,GAAG,kBAAkB,EAAE,EAC/D,KAAK,EACL,OAAO,GACR,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAehE;AAED,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,qBAAqB,EAAE,CAAC,EACtB,MAAM,GACP,EAAE;QACD,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,GACR,EAAE,yBAAyB,GAAG,0BAA0B,CAsBxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSpenderAndContracts.js","names":["useMarketSwapSDK","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","AdaptersContractsResult","Address","GetSpenderReturn","GetSpenderQueryParams","Omit","Error","TData","GetSpenderQueryKey","GetSpenderQueryResult","GetSpenderQueryInput","query","chainId","base","GetContractsReturn","GetContractsQueryParams","GetContractsQueryKey","GetContractsQueryResult","GetContractsQueryInput","useGetSpenderQuery","t0","$","_c","t1","sdk","t2","t3","t4","signal","spender","getSpender","enabled","t5","queryKey","queryFn","staleTime","Infinity","gcTime","useGetContractsQuery","contracts","getContracts","EnsureContractsQueryInput","EnsureContractsQueryResult","ensureContractsLoaded","AbortSignal","Promise","useEnsureContractsQuery","queryClient","ensureQueryData"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { AdaptersContractsResult } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\n\n// ============================================================================\n// Types for getSpender\n// ============================================================================\n\ntype GetSpenderReturn = Address;\n\ntype GetSpenderQueryParams<TData = GetSpenderReturn> = Omit<\n UseQueryOptions<GetSpenderReturn, Error, TData, GetSpenderQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetSpenderQueryResult<TData = GetSpenderReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetSpenderQueryInput<TData = GetSpenderReturn> = {\n query: GetSpenderQueryParams<TData>;\n chainId: number;\n};\n\ntype GetSpenderQueryKey = [base: \"swap/market/spender\", chainId: number];\n\n// ============================================================================\n// Types for getContracts\n// ============================================================================\n\n// @TODO export AdaptersContractsResult from SDK\ntype GetContractsReturn = AdaptersContractsResult;\n\ntype GetContractsQueryParams<TData = GetContractsReturn> = Omit<\n UseQueryOptions<GetContractsReturn, Error, TData, GetContractsQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetContractsQueryResult<TData = GetContractsReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetContractsQueryInput<TData = GetContractsReturn> = {\n query?: GetContractsQueryParams<TData>;\n chainId: number;\n};\n\ntype GetContractsQueryKey = [base: \"swap/market/contracts\", chainId: number];\n\n// ============================================================================\n// Hook for getSpender\n// ============================================================================\n\nexport function useGetSpenderQuery<TData = GetSpenderReturn>({\n query,\n chainId,\n}: GetSpenderQueryInput<TData>): GetSpenderQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetSpenderReturn, Error, TData, GetSpenderQueryKey>({\n queryKey: [\"swap/market/spender\", chainId],\n queryFn: async ({ signal }) => {\n const spender = await sdk.getSpender({ signal });\n return spender as Address;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n// ============================================================================\n// Hook for getContracts\n// ============================================================================\n\nexport function useGetContractsQuery<TData = GetContractsReturn>({\n query,\n chainId,\n}: GetContractsQueryInput<TData>): GetContractsQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetContractsReturn, Error, TData, GetContractsQueryKey>({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: ({ signal }) => {\n const contracts = sdk.getContracts({ signal });\n return contracts;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\ntype EnsureContractsQueryInput = {\n chainId: number;\n};\n\ntype EnsureContractsQueryResult = {\n ensureContractsLoaded: ({\n signal,\n }: {\n signal?: AbortSignal;\n }) => Promise<GetContractsReturn>;\n};\n\nexport function useEnsureContractsQuery({\n chainId,\n}: EnsureContractsQueryInput): EnsureContractsQueryResult {\n const queryClient = useQueryClient();\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const ensureContractsLoaded: EnsureContractsQueryResult[\"ensureContractsLoaded\"] =\n async ({ signal }) => {\n const contracts = await queryClient.ensureQueryData<\n GetContractsReturn,\n Error,\n GetContractsReturn,\n GetContractsQueryKey\n >({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: () => sdk.getContracts({ signal }),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return contracts;\n };\n\n return { ensureContractsLoaded };\n}\n"],"mappings":";;;;AAkFA,SAAO0C,EAAAlB,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA0D,EAAAX,UAAAC,eAAAQ,GAGjCG;AAAA,CAAAF,EAAA,OAAAT,IACcW,IAAAF,EAAA,MAAXE,IAAA,EAAAX,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgB5B,EAAiB2B,EAAY,EAACE;AAAA,CAAAJ,EAAA,OAAAT,IAGAa,IAAAJ,EAAA,MAAlCI,IAAA,CAAC,yBAAyBb,EAAQ,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAI;CAAA,IAAAC;AAAA,CAAAL,EAAA,OAAAG,IAI3CE,IAAAL,EAAA,MAHQK,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AACuC,SAA7BH,EAAGgB,aAAc,EAAAZ,WAAU,CAAC;IAE/CP,EAAA,KAAAG,GAAAH,EAAA,KAAAK;CAKQ,IAAAC,IAAAhB,GAAKoB,WAAL,IAAsBC;AAChC,QADgCX,EAAA,OAAAV,KAAAU,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAVuCK,IAAA;EAAAC,UAC5DR;EAAkCS,SACnCR;EAGRS,WAEUC;EAAQC,QACXD;EAAQ,GACbzB;EAAKoB,SACCJ;EACV,EAAAN,EAAA,KAAAV,GAAAU,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,MAAAW,KAAAA,IAAAX,EAAA,KAXMxB,EAAiEmC,EAWtE;;AAeJ,SAAOc,EAAA1B,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAiC,EAAAV,eAAAQ,GAGtC2B,IAAoBjD,GAAgB,EAACyB;AAAA,CAAAF,EAAA,OAAAT,IACOW,IAAAF,EAAA,MAAXE,IAAA,EAAAX,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgB5B,EAAiB2B,EAAY,EAACE;AAmBd,QAnBcJ,EAAA,OAAAT,KAAAS,EAAA,OAAA0B,KAAA1B,EAAA,OAAAG,KAmBvCC,IAAA,EAAAkB,uBAhBL,OAAAjB,MAAA;EAAO,IAAA,EAAAE,cAAAF;AAWF,SAVe,MAAMqB,EAAWC,gBAKjC;GAAAf,UACU,CAAC,yBAAyBrB,EAAQ;GAAAsB,eAC7BV,EAAGgB,aAAc,EAAAZ,WAAU,CAAC;GAAAO,WAChCC;GAAQC,QACXD;GACT,CAAC;IAK0B,EAAAf,EAAA,KAAAT,GAAAS,EAAA,KAAA0B,GAAA1B,EAAA,KAAAG,GAAAH,EAAA,KAAAI,KAAAA,IAAAJ,EAAA,IAAzBI"}
1
+ {"version":3,"file":"useSpenderAndContracts.js","names":["useMarketSwapSDK","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","AdaptersContractsResult","Address","GetSpenderReturn","GetSpenderQueryParams","Omit","Error","TData","GetSpenderQueryKey","GetSpenderQueryResult","GetSpenderQueryInput","query","chainId","base","GetContractsReturn","GetContractsQueryParams","GetContractsQueryKey","GetContractsQueryResult","GetContractsQueryInput","useGetSpenderQuery","t0","$","_c","t1","sdk","t2","t3","t4","signal","spender","getSpender","enabled","t5","queryKey","queryFn","staleTime","Infinity","gcTime","useGetContractsQuery","contracts","getContracts","EnsureContractsQueryInput","EnsureContractsQueryResult","ensureContractsLoaded","AbortSignal","Promise","useEnsureContractsQuery","queryClient","ensureQueryData"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { AdaptersContractsResult } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\n\n// ============================================================================\n// Types for getSpender\n// ============================================================================\n\ntype GetSpenderReturn = Address;\n\ntype GetSpenderQueryParams<TData = GetSpenderReturn> = Omit<\n UseQueryOptions<GetSpenderReturn, Error, TData, GetSpenderQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetSpenderQueryResult<TData = GetSpenderReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetSpenderQueryInput<TData = GetSpenderReturn> = {\n query: GetSpenderQueryParams<TData>;\n chainId: number;\n};\n\ntype GetSpenderQueryKey = [base: \"swap/market/spender\", chainId: number];\n\n// ============================================================================\n// Types for getContracts\n// ============================================================================\n\ntype GetContractsReturn = AdaptersContractsResult;\n\ntype GetContractsQueryParams<TData = GetContractsReturn> = Omit<\n UseQueryOptions<GetContractsReturn, Error, TData, GetContractsQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetContractsQueryResult<TData = GetContractsReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetContractsQueryInput<TData = GetContractsReturn> = {\n query?: GetContractsQueryParams<TData>;\n chainId: number;\n};\n\ntype GetContractsQueryKey = [base: \"swap/market/contracts\", chainId: number];\n\n// ============================================================================\n// Hook for getSpender\n// ============================================================================\n\nexport function useGetSpenderQuery<TData = GetSpenderReturn>({\n query,\n chainId,\n}: GetSpenderQueryInput<TData>): GetSpenderQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetSpenderReturn, Error, TData, GetSpenderQueryKey>({\n queryKey: [\"swap/market/spender\", chainId],\n queryFn: async ({ signal }) => {\n const spender = await sdk.getSpender({ signal });\n return spender as Address;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n// ============================================================================\n// Hook for getContracts\n// ============================================================================\n\nexport function useGetContractsQuery<TData = GetContractsReturn>({\n query,\n chainId,\n}: GetContractsQueryInput<TData>): GetContractsQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetContractsReturn, Error, TData, GetContractsQueryKey>({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: ({ signal }) => {\n const contracts = sdk.getContracts({ signal });\n return contracts;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\ntype EnsureContractsQueryInput = {\n chainId: number;\n};\n\ntype EnsureContractsQueryResult = {\n ensureContractsLoaded: ({\n signal,\n }: {\n signal?: AbortSignal;\n }) => Promise<GetContractsReturn>;\n};\n\nexport function useEnsureContractsQuery({\n chainId,\n}: EnsureContractsQueryInput): EnsureContractsQueryResult {\n const queryClient = useQueryClient();\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const ensureContractsLoaded: EnsureContractsQueryResult[\"ensureContractsLoaded\"] =\n async ({ signal }) => {\n const contracts = await queryClient.ensureQueryData<\n GetContractsReturn,\n Error,\n GetContractsReturn,\n GetContractsQueryKey\n >({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: () => sdk.getContracts({ signal }),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return contracts;\n };\n\n return { ensureContractsLoaded };\n}\n"],"mappings":";;;;AAiFA,SAAO0C,EAAAlB,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA0D,EAAAX,UAAAC,eAAAQ,GAGjCG;AAAA,CAAAF,EAAA,OAAAT,IACcW,IAAAF,EAAA,MAAXE,IAAA,EAAAX,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgB5B,EAAiB2B,EAAY,EAACE;AAAA,CAAAJ,EAAA,OAAAT,IAGAa,IAAAJ,EAAA,MAAlCI,IAAA,CAAC,yBAAyBb,EAAQ,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAI;CAAA,IAAAC;AAAA,CAAAL,EAAA,OAAAG,IAI3CE,IAAAL,EAAA,MAHQK,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AACuC,SAA7BH,EAAGgB,aAAc,EAAAZ,WAAU,CAAC;IAE/CP,EAAA,KAAAG,GAAAH,EAAA,KAAAK;CAKQ,IAAAC,IAAAhB,GAAKoB,WAAL,IAAsBC;AAChC,QADgCX,EAAA,OAAAV,KAAAU,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAVuCK,IAAA;EAAAC,UAC5DR;EAAkCS,SACnCR;EAGRS,WAEUC;EAAQC,QACXD;EAAQ,GACbzB;EAAKoB,SACCJ;EACV,EAAAN,EAAA,KAAAV,GAAAU,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,MAAAW,KAAAA,IAAAX,EAAA,KAXMxB,EAAiEmC,EAWtE;;AAeJ,SAAOc,EAAA1B,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAiC,EAAAV,eAAAQ,GAGtC2B,IAAoBjD,GAAgB,EAACyB;AAAA,CAAAF,EAAA,OAAAT,IACOW,IAAAF,EAAA,MAAXE,IAAA,EAAAX,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgB5B,EAAiB2B,EAAY,EAACE;AAmBd,QAnBcJ,EAAA,OAAAT,KAAAS,EAAA,OAAA0B,KAAA1B,EAAA,OAAAG,KAmBvCC,IAAA,EAAAkB,uBAhBL,OAAAjB,MAAA;EAAO,IAAA,EAAAE,cAAAF;AAWF,SAVe,MAAMqB,EAAWC,gBAKjC;GAAAf,UACU,CAAC,yBAAyBrB,EAAQ;GAAAsB,eAC7BV,EAAGgB,aAAc,EAAAZ,WAAU,CAAC;GAAAO,WAChCC;GAAQC,QACXD;GACT,CAAC;IAK0B,EAAAf,EAAA,KAAAT,GAAAS,EAAA,KAAA0B,GAAA1B,EAAA,KAAAG,GAAAH,EAAA,KAAAI,KAAAA,IAAAJ,EAAA,IAAzBI"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAS5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,MAAM,MAAM,gBAAgB,GAAG,YAAY,CACzC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,GACrB,eAAe,GACf,WAAW,GACX,WAAW,CACd,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG;IACrD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAkEA;AAED,wBAAgB,wBAAwB,IAAI;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAUA"}
1
+ {"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAU5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,MAAM,MAAM,gBAAgB,GAAG,YAAY,CACzC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,GACrB,eAAe,GACf,WAAW,GACX,WAAW,CACd,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG;IACrD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAmEA;AAED,wBAAgB,wBAAwB,IAAI;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAUA"}