@velora-dex/widget 0.8.4-dev.0 → 0.8.5-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  2. package/dist/components/widget/AppHeader/Activities/hooks.js +162 -143
  3. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  4. package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
  5. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  6. package/dist/components/widget/AppHeader/Activities/utils.js +28 -21
  7. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  8. package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
  9. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  10. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  11. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
  12. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
  13. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  14. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +1 -1
  16. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
  17. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  18. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +1 -1
  19. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  20. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +5 -5
  21. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  22. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +107 -105
  23. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  24. package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
  25. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
  26. package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
  27. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
  28. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  29. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js +1 -1
  30. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  31. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js +1 -1
  32. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  33. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.d.ts +2 -2
  34. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.d.ts.map +1 -1
  35. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +23 -23
  36. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  37. package/dist/components/widget/OtcOrderItem/types.d.ts +2 -2
  38. package/dist/components/widget/OtcOrderItem/types.d.ts.map +1 -1
  39. package/dist/components/widget/OtcOrderItem/utils.d.ts +2 -2
  40. package/dist/components/widget/OtcOrderItem/utils.d.ts.map +1 -1
  41. package/dist/components/widget/OtcOrderItem/utils.js +1 -1
  42. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  43. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +1 -1
  44. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  45. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts +2 -2
  46. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
  47. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  48. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  49. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  50. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +86 -86
  51. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  52. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  53. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +37 -37
  54. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  55. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
  56. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
  57. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +83 -83
  58. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  59. package/dist/core/TradeFlowScreenButton.d.ts +3 -3
  60. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  61. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  62. package/dist/core/Updaters.js +1 -1
  63. package/dist/core/Updaters.js.map +1 -1
  64. package/dist/core/across/isCrosschainPossible.d.ts +1 -1
  65. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  66. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  67. package/dist/core/across/utils.d.ts +1 -1
  68. package/dist/core/across/utils.d.ts.map +1 -1
  69. package/dist/core/across/utils.js +15 -25
  70. package/dist/core/across/utils.js.map +1 -1
  71. package/dist/core/index.js.map +1 -1
  72. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  73. package/dist/core/inputs/hooks/useWarningMessage.d.ts +1 -1
  74. package/dist/core/inputs/hooks/useWarningMessage.d.ts.map +1 -1
  75. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  76. package/dist/core/inputs/state/guards.d.ts +3 -0
  77. package/dist/core/inputs/state/guards.d.ts.map +1 -0
  78. package/dist/core/inputs/state/guards.js +12 -0
  79. package/dist/core/inputs/state/guards.js.map +1 -0
  80. package/dist/core/inputs/state/inputAmountAtom.d.ts +2 -2
  81. package/dist/core/inputs/state/inputAmountAtom.d.ts.map +1 -1
  82. package/dist/core/inputs/state/inputAmountAtom.js +8 -7
  83. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  84. package/dist/core/inputs/state/setTokenByAddressAtom.js +1 -1
  85. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  86. package/dist/core/limit/state/limitInputAmountAtom.d.ts +2 -2
  87. package/dist/core/limit/state/limitInputAmountAtom.d.ts.map +1 -1
  88. package/dist/core/limit/state/limitInputAmountAtom.js +14 -13
  89. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  90. package/dist/core/limit/state/utils.d.ts +1 -1
  91. package/dist/core/limit/useLimitRate.d.ts +1 -1
  92. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  93. package/dist/core/otc/state/otcInputAmountAtom.d.ts +2 -2
  94. package/dist/core/otc/state/otcInputAmountAtom.d.ts.map +1 -1
  95. package/dist/core/otc/state/otcInputAmountAtom.js +14 -13
  96. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  97. package/dist/core/state/configAtom.js +2 -2
  98. package/dist/core/state/configAtom.js.map +1 -1
  99. package/dist/core/state/configEffectAtom.js +1 -1
  100. package/dist/core/state/configEffectAtom.js.map +1 -1
  101. package/dist/core/state/getSelectableDestChains.d.ts +1 -1
  102. package/dist/core/state/getSelectableDestChains.d.ts.map +1 -1
  103. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  104. package/dist/core/twap/state/twapInputAmountAtom.d.ts +2 -2
  105. package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -1
  106. package/dist/core/twap/state/twapInputAmountAtom.js +10 -9
  107. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  108. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
  109. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
  110. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  111. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  112. package/dist/events/types/cancelOrder.d.ts +3 -3
  113. package/dist/events/types/cancelOrder.d.ts.map +1 -1
  114. package/dist/events/types/fill.d.ts +2 -2
  115. package/dist/events/types/fill.d.ts.map +1 -1
  116. package/dist/events/types/otc.d.ts +2 -2
  117. package/dist/events/types/otc.d.ts.map +1 -1
  118. package/dist/events/types/priceChange.d.ts +2 -2
  119. package/dist/events/types/priceChange.d.ts.map +1 -1
  120. package/dist/events/types/swap.d.ts +3 -3
  121. package/dist/events/types/swap.d.ts.map +1 -1
  122. package/dist/events/types/twap.d.ts +2 -2
  123. package/dist/events/types/twap.d.ts.map +1 -1
  124. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts +2 -2
  125. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  126. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +4 -7
  127. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  128. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts +3 -3
  129. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
  130. package/dist/hooks/otc/mutations/useCreateLimitOrder.js +7 -10
  131. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  132. package/dist/hooks/otc/mutations/useFillOrder.d.ts +2 -2
  133. package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
  134. package/dist/hooks/otc/mutations/useFillOrder.js +2 -2
  135. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  136. package/dist/hooks/otc/mutations/utils.d.ts +2 -2
  137. package/dist/hooks/otc/mutations/utils.d.ts.map +1 -1
  138. package/dist/hooks/otc/mutations/utils.js.map +1 -1
  139. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js +1 -1
  140. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  141. package/dist/hooks/otc/queries/useLimitOrders.d.ts +29 -29
  142. package/dist/hooks/otc/queries/useLimitOrders.d.ts.map +1 -1
  143. package/dist/hooks/otc/queries/useLimitOrders.js +7 -7
  144. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  145. package/dist/hooks/otc/queries/utils.d.ts +6 -6
  146. package/dist/hooks/otc/queries/utils.d.ts.map +1 -1
  147. package/dist/hooks/otc/queries/utils.js +1 -1
  148. package/dist/hooks/otc/queries/utils.js.map +1 -1
  149. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts +2 -2
  150. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  151. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +1 -1
  152. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  153. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts +5 -5
  154. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  155. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +1 -1
  156. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  157. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +1 -1
  158. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  159. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +3 -3
  160. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
  161. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  162. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +6 -39
  163. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  164. package/dist/hooks/swap/prices/delta/bridge/utils.js +0 -1
  165. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  166. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
  167. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
  168. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +1 -1
  169. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  170. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
  171. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
  172. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +1 -1
  173. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  174. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +1 -1
  175. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  176. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
  177. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  178. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +1 -1
  179. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  180. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +2 -2
  181. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +1 -1
  182. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  183. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -2
  184. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  185. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +62 -60
  186. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  187. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  188. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  189. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +1 -1
  190. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  191. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +1 -1
  192. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  193. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts +2 -2
  194. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -1
  195. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js +22 -20
  196. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  197. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  198. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  199. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +1 -1
  200. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  201. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
  202. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  203. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +1 -1
  204. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  205. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +5 -5
  206. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  207. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  208. package/dist/hooks/swap/prices/delta/orders/types.d.ts +10 -7
  209. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  210. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
  211. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  212. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  213. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +15 -13
  214. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  215. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +18 -18
  216. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  217. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +43 -18
  218. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  219. package/dist/hooks/swap/prices/delta/orders/utils.js +28 -18
  220. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  221. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts +2 -0
  222. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts.map +1 -0
  223. package/dist/hooks/swap/prices/delta/queries/{bridgeRoutes/bridgeRoutesLoadedAtom.js → bridgeInfo/bridgeInfosLoadedAtom.js} +4 -4
  224. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -0
  225. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +8 -0
  226. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -0
  227. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js +17 -0
  228. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -0
  229. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts +3 -0
  230. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +1 -0
  231. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js +11 -0
  232. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -0
  233. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +19 -0
  234. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -0
  235. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +3 -0
  236. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -0
  237. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js +31 -0
  238. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -0
  239. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js +1 -1
  240. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  241. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  242. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.js +1 -1
  243. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.js.map +1 -1
  244. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +6 -6
  245. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  246. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +1 -1
  247. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  248. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +13 -13
  249. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  250. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -2
  251. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  252. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +1 -1
  253. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  254. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +14 -14
  255. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  256. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +58 -72
  257. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  258. package/dist/hooks/swap/prices/types.d.ts +2 -2
  259. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  260. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
  261. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  262. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  263. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
  264. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
  265. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  266. package/dist/hooks/swap/prices/useTwapPrices.d.ts +4 -4
  267. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
  268. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  269. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +5 -5
  270. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  271. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  272. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +4 -4
  273. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
  274. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  275. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
  276. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  277. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  278. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  279. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
  280. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  281. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  282. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
  283. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
  284. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  285. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +1 -1
  286. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
  287. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  288. package/dist/hooks/tokens/useTokensFromAcross.d.ts +1 -1
  289. package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
  290. package/dist/hooks/tokens/useTokensFromAcross.js +10 -7
  291. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  292. package/dist/hooks/useAvailableCrosses.d.ts +1 -1
  293. package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
  294. package/dist/hooks/useAvailableCrosses.js +17 -18
  295. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  296. package/dist/hooks/useBridgeInfo.d.ts +6 -0
  297. package/dist/hooks/useBridgeInfo.d.ts.map +1 -0
  298. package/dist/hooks/{useBridgeRoutes.js → useBridgeInfo.js} +4 -4
  299. package/dist/hooks/useBridgeInfo.js.map +1 -0
  300. package/dist/hooks/useIsCrosschainPossible.d.ts +1 -1
  301. package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
  302. package/dist/hooks/useIsCrosschainPossible.js +13 -15
  303. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  304. package/dist/hooks/useSDK.d.ts +19 -19
  305. package/dist/hooks/useSDK.d.ts.map +1 -1
  306. package/dist/hooks/useSDK.js +42 -42
  307. package/dist/hooks/useSDK.js.map +1 -1
  308. package/dist/hooks/useSelectableDestChains.d.ts +1 -1
  309. package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
  310. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  311. package/dist/lib/queryClient.js +1 -1
  312. package/dist/lib/queryClient.js.map +1 -1
  313. package/dist/lib/utils/toasts.d.ts +3 -3
  314. package/dist/lib/utils/toasts.d.ts.map +1 -1
  315. package/dist/lib/utils/toasts.js.map +1 -1
  316. package/dist/lib/utils/twap.d.ts +3 -3
  317. package/dist/lib/utils/twap.d.ts.map +1 -1
  318. package/dist/lib/utils/twap.js +0 -1
  319. package/dist/lib/utils/twap.js.map +1 -1
  320. package/package.json +2 -2
  321. package/dist/hooks/swap/prices/delta/bridge/types.d.ts +0 -43
  322. package/dist/hooks/swap/prices/delta/bridge/types.d.ts.map +0 -1
  323. package/dist/hooks/swap/prices/delta/bridge/useBridgedDeposit.d.ts +0 -18
  324. package/dist/hooks/swap/prices/delta/bridge/useBridgedDeposit.d.ts.map +0 -1
  325. package/dist/hooks/swap/prices/delta/bridge/useSuggestedFees.d.ts +0 -5
  326. package/dist/hooks/swap/prices/delta/bridge/useSuggestedFees.d.ts.map +0 -1
  327. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.d.ts +0 -2
  328. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.d.ts.map +0 -1
  329. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.js.map +0 -1
  330. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.d.ts +0 -6
  331. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.d.ts.map +0 -1
  332. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.js +0 -9
  333. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.js.map +0 -1
  334. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.d.ts +0 -3
  335. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.d.ts.map +0 -1
  336. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.js +0 -11
  337. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.js.map +0 -1
  338. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/types.d.ts +0 -19
  339. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/types.d.ts.map +0 -1
  340. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.d.ts +0 -3
  341. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.d.ts.map +0 -1
  342. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.js +0 -31
  343. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.js.map +0 -1
  344. package/dist/hooks/useBridgeRoutes.d.ts +0 -6
  345. package/dist/hooks/useBridgeRoutes.d.ts.map +0 -1
  346. package/dist/hooks/useBridgeRoutes.js.map +0 -1
@@ -1,122 +1,108 @@
1
1
  import { getLogger as e, useLogger as t } from "../../../../../core/logger.js";
2
- import { useDeltaV2SDK as n } from "../../../../useSDK.js";
3
- import { DeltaOrderFailedError as r } from "./errors.js";
4
- import { c as i } from "react-compiler-runtime";
5
- import { useLayoutEffect as a, useMemo as o, useRef as s } from "react";
6
- import { QueryObserver as c, useQuery as l, useQueryClient as u } from "@tanstack/react-query";
7
- import { assert as d } from "ts-essentials";
2
+ import { useDeltaSDK as n } from "../../../../useSDK.js";
3
+ import { DeltaOrderStatusChecker as r, isCanceledAuction as i, isCompletedAuction as a, isExpiredAuction as o, isFailedAuction as s } from "../orders/utils.js";
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";
8
9
  //#region src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts
9
- var f = new Set([
10
- "COMPLETED",
11
- "FAILED",
12
- "EXPIRED",
13
- "CANCELLED",
14
- "REFUNDED"
15
- ]), p = new Set([
16
- "FAILED",
17
- "EXPIRED",
18
- "CANCELLED",
19
- "REFUNDED"
20
- ]), m = (e) => f.has(e.status), h = (e) => e.status === "COMPLETED", g = (e) => p.has(e.status), _ = "single_delta_auction";
10
+ var _ = "single_delta_auction";
21
11
  function v({ orderId: e } = {}) {
22
12
  return [_, e];
23
13
  }
24
14
  var y = 3e3, b = 6e4;
25
- function x({ orderId: t, enabled: n = !0, refetchInterval: r = y, select: i, getAuction: a, onUpdatedAuction: o, onAuctionSuccess: s, onAuctionFailure: c }) {
26
- let l = (e) => "doneState" in e && typeof e.doneState == "boolean";
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";
27
17
  return {
28
18
  queryKey: v({ orderId: t }),
29
- queryFn: ({ signal: e }) => (d(t, "orderId is required"), a(t, { signal: e })),
19
+ queryFn: ({ signal: e }) => (g(t, "orderId is required"), u(t, { signal: e })),
30
20
  meta: { doneState: !1 },
31
21
  refetchInterval: (t) => {
32
- let n = t.state.data, i = t.options.meta, a = !!i && l(i);
33
- if (a && i.doneState) return e("DeltaAuctionPollingQueryOptions").log("Shortcut return for refetchInterval"), !1;
34
- if (n && o?.(n), n && m(n)) {
35
- if (h(n)) return s?.(n), a && (i.doneState = !0), !1;
36
- if (g(n)) return c?.(n), a && (i.doneState = !0), !1;
37
- }
38
- return r;
22
+ let n = t.state.data, l = t.options.meta, u = !!l && m(l);
23
+ return u && l.doneState ? (e("DeltaAuctionPollingQueryOptions").log("Shortcut return for refetchInterval"), !1) : (n && d?.(n), n && r.completed.has(n.status) ? a(n) ? (f?.(n), u && (l.doneState = !0), !1) : s(n) || o(n) || i(n) ? (p?.(n), u && (l.doneState = !0), !1) : !1 : c);
39
24
  },
40
25
  enabled: !!t && n,
41
- select: i
26
+ select: l
42
27
  };
43
28
  }
44
- function S({ orderId: e, enabled: t = !0, refetchInterval: r, select: i, onAuctionSuccess: c, onAuctionFailure: u, onUpdatedAuction: d }) {
45
- let { sdk: f } = n({ chainId: 1 }), p = s({
46
- onAuctionSuccess: c,
47
- onAuctionFailure: u,
48
- onUpdatedAuction: d
29
+ function S({ orderId: e, enabled: t = !0, refetchInterval: r, select: i, onAuctionSuccess: a, onAuctionFailure: o, onUpdatedAuction: s }) {
30
+ let { sdk: c } = n({ chainId: 1 }), l = f({
31
+ onAuctionSuccess: a,
32
+ onAuctionFailure: o,
33
+ onUpdatedAuction: s
49
34
  });
50
- return a(() => {
51
- p.current = {
52
- onAuctionSuccess: c,
53
- onAuctionFailure: u,
54
- onUpdatedAuction: d
35
+ return u(() => {
36
+ l.current = {
37
+ onAuctionSuccess: a,
38
+ onAuctionFailure: o,
39
+ onUpdatedAuction: s
55
40
  };
56
41
  }, [
57
- c,
58
- u,
59
- d
60
- ]), l(o(() => x({
42
+ a,
43
+ o,
44
+ s
45
+ ]), m(d(() => x({
61
46
  orderId: e,
62
47
  enabled: t,
63
48
  refetchInterval: r,
64
49
  select: i,
65
- getAuction: f.getDeltaOrderById,
66
- onUpdatedAuction: p.current.onUpdatedAuction,
67
- onAuctionSuccess: p.current.onAuctionSuccess,
68
- onAuctionFailure: p.current.onAuctionFailure
50
+ getAuction: c.getDeltaOrderById,
51
+ onUpdatedAuction: l.current.onUpdatedAuction,
52
+ onAuctionSuccess: l.current.onAuctionSuccess,
53
+ onAuctionFailure: l.current.onAuctionFailure
69
54
  }), [
70
55
  e,
71
56
  t,
72
57
  r,
73
58
  i,
74
- f.getDeltaOrderById
59
+ c.getDeltaOrderById
75
60
  ]));
76
61
  }
77
62
  function C(e) {
78
- let a = i(10), o;
79
- a[0] === e ? o = a[1] : (o = e === void 0 ? {} : e, a[0] = e, a[1] = o);
80
- let { onAuctionSuccess: s, onAuctionFailure: l, refetchInterval: d } = o, f = u(), p = t("EnsureDeltaOrderExecuted"), _;
81
- a[2] === Symbol.for("react.memo_cache_sentinel") ? (_ = { chainId: 1 }, a[2] = _) : _ = a[2];
82
- let { sdk: y } = n(_), S;
83
- return a[3] !== p || a[4] !== l || a[5] !== s || a[6] !== f || a[7] !== d || a[8] !== y.getDeltaOrderById ? (S = async (e) => {
84
- let { orderId: t, signal: n } = e, i = v({ orderId: t }), a = new c(f, x({
63
+ let u = l(10), d;
64
+ u[0] === e ? d = u[1] : (d = e === void 0 ? {} : e, u[0] = e, u[1] = d);
65
+ let { onAuctionSuccess: f, onAuctionFailure: m, refetchInterval: g } = d, _ = h(), y = t("EnsureDeltaOrderExecuted"), S;
66
+ u[2] === Symbol.for("react.memo_cache_sentinel") ? (S = { chainId: 1 }, u[2] = S) : S = u[2];
67
+ let { sdk: C } = n(S), w;
68
+ return u[3] !== y || u[4] !== m || u[5] !== f || u[6] !== _ || u[7] !== g || u[8] !== C.getDeltaOrderById ? (w = async (e) => {
69
+ let { orderId: t, signal: n } = e, l = v({ orderId: t }), u = new p(_, x({
85
70
  orderId: t,
86
71
  enabled: !0,
87
- refetchInterval: d,
88
- getAuction: y.getDeltaOrderById
72
+ refetchInterval: g,
73
+ getAuction: C.getDeltaOrderById
89
74
  }));
90
- return new Promise((e, o) => {
91
- let c = setTimeout(() => {
92
- p.log("QueryObserver", i, "timeout"), u(), o(/* @__PURE__ */ Error(`Order ${t} not found`));
75
+ return new Promise((e, d) => {
76
+ let p = setTimeout(() => {
77
+ y.log("QueryObserver", l, "timeout"), h(), d(/* @__PURE__ */ Error(`Order ${t} not found`));
93
78
  }, b + 1e3);
94
79
  n?.addEventListener("abort", () => {
95
- c && clearTimeout(c), u(), o(/* @__PURE__ */ Error(`Order execution aborted: ${n.reason}`));
80
+ p && clearTimeout(p), h(), d(/* @__PURE__ */ Error(`Order execution aborted: ${n.reason}`));
96
81
  });
97
- let u = a.subscribe((t) => {
82
+ let h = u.subscribe((t) => {
98
83
  let n = () => {
99
- p.log("QueryObserver", i, "cleanup"), u();
84
+ y.log("QueryObserver", l, "cleanup"), h();
100
85
  };
101
- p.log("QueryObserver", i, t);
102
- let a = t.data;
103
- if (a && c !== null && (clearTimeout(c), c = null), a && m(a)) {
104
- if (h(a)) {
105
- s?.(a), n(), e(a);
86
+ y.log("QueryObserver", l, t);
87
+ let u = t.data;
88
+ if (u && p !== null && (clearTimeout(p), p = null), u && r.completed.has(u.status)) {
89
+ let t = u;
90
+ if (a(t)) {
91
+ f?.(t), n(), e(u);
106
92
  return;
107
93
  }
108
- if (g(a)) {
109
- l?.(a), n(), o(new r({ order: a }));
94
+ if (s(t) || o(t) || i(t)) {
95
+ m?.(t), n(), d(new c({ order: t }));
110
96
  return;
111
97
  }
112
98
  }
113
99
  if (t.error) {
114
- n(), o(t.error);
100
+ n(), d(t.error);
115
101
  return;
116
102
  }
117
103
  });
118
104
  });
119
- }, a[3] = p, a[4] = l, a[5] = s, a[6] = f, a[7] = d, a[8] = y.getDeltaOrderById, a[9] = S) : S = a[9], S;
105
+ }, 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;
120
106
  }
121
107
  //#endregion
122
108
  export { v as deltaAuctionPollingQueryKey, C as useEnsureDeltaOrderExecuted, S as useWatchDeltaAuction };
@@ -1 +1 @@
1
- {"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","QueryObserverOptions","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","useDeltaV2SDK","getLogger","useLogger","DeltaOrderFailedError","DeltaV2","V2_TERMINAL_STATUSES","ReadonlySet","DeltaAuction","Set","V2_FAILURE_STATUSES","isV2OrderDone","order","has","status","isV2OrderExecuted","isV2OrderFailed","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","DeltaV2Order","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","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","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults"],"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 { useDeltaV2SDK } from \"@/hooks/useSDK\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\nimport type { DeltaV2 } from \"@velora-dex/sdk\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\n// v2-aware status helpers. v2 COMPLETED already accounts for crosschain bridge settlement.\nconst V2_TERMINAL_STATUSES: ReadonlySet<DeltaV2.DeltaAuction[\"status\"]> =\n new Set([\"COMPLETED\", \"FAILED\", \"EXPIRED\", \"CANCELLED\", \"REFUNDED\"]);\nconst V2_FAILURE_STATUSES: ReadonlySet<DeltaV2.DeltaAuction[\"status\"]> =\n new Set([\"FAILED\", \"EXPIRED\", \"CANCELLED\", \"REFUNDED\"]);\n\nconst isV2OrderDone = (order: DeltaV2.DeltaAuction) =>\n V2_TERMINAL_STATUSES.has(order.status);\nconst isV2OrderExecuted = (order: DeltaV2.DeltaAuction) =>\n order.status === \"COMPLETED\";\nconst isV2OrderFailed = (order: DeltaV2.DeltaAuction) =>\n V2_FAILURE_STATUSES.has(order.status);\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 DeltaV2Order = DeltaV2.DeltaAuction;\n\ntype UseDeltaAuctionQueryOptions<TData = DeltaV2Order> = UseQueryOptions<\n DeltaV2Order,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n>;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<TData = DeltaV2Order> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaV2Order) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<DeltaV2Order>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"onUpdatedAuction\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<TData = DeltaV2Order>({\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 // v2's COMPLETED already accounts for destChain bridge settlement.\n if (maybeOrder && isV2OrderDone(maybeOrder)) {\n if (isV2OrderExecuted(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (isV2OrderFailed(maybeOrder)) {\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 = DeltaV2Order> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaV2Order) => TData;\n onAuctionSuccess?: (auction: DeltaV2Order) => void;\n onAuctionFailure?: (auction: DeltaV2Order) => void;\n onUpdatedAuction?: (auction: DeltaV2Order) => void;\n};\n\nexport function useWatchDeltaAuction<TData = DeltaV2Order>({\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 } = useDeltaV2SDK({ 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<DeltaV2Order, Error, TData, SingleDeltaAuctionQueryKey>(\n queryOptions\n );\n}\n\ntype EnsureOrderExecutedFn<TData extends DeltaV2Order = DeltaV2Order> =\n (options: { orderId: string; signal?: AbortSignal }) => Promise<TData>;\n\nexport function useEnsureDeltaOrderExecuted<\n TData extends DeltaV2Order = DeltaV2Order,\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 } = useDeltaV2SDK({ 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 // v2's COMPLETED already accounts for destChain bridge settlement.\n if (maybeOrder && isV2OrderDone(maybeOrder)) {\n if (isV2OrderExecuted(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (isV2OrderFailed(maybeOrder)) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n // DeltaOrderFailedError.order is typed against v1 FailedDeltaAuction;\n // not migrating that surface per scope of this change.\n order: maybeOrder as never,\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: DeltaV2Order) => void;\n onAuctionFailure?: (auction: DeltaV2Order) => void;\n onUpdatedAuction?: (auction: DeltaV2Order) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<DeltaV2Order>[] {\n const { sdk } = useDeltaV2SDK({ 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<DeltaV2Order>[]>(\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"],"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","DeltaOrderStatusChecker","isCompletedDeltaAuction","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"],"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 DeltaOrderStatusChecker,\n isCompletedDeltaAuction,\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 (isCompletedDeltaAuction(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 // defensive stop polling just in case\n return false;\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 >(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\n const auction: DeltaAuction = maybeOrder;\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isCompletedDeltaAuction(auction)) {\n onAuctionSuccess?.(auction);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(auction) ||\n isDeltaAuctionExpired(auction) ||\n isCanceledDeltaAuction(auction)\n ) {\n onAuctionFailure?.(auction);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: auction,\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"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { DeltaV2, OptimalRate } from '@velora-dex/sdk';
2
- export type DeltaOrMarketPrice = OptimalRate | DeltaV2.DeltaPrice;
1
+ import { DeltaPrice, OptimalRate } from '@velora-dex/sdk';
2
+ export type DeltaOrMarketPrice = OptimalRate | DeltaPrice;
3
3
  export type UseSwapPricesInput = {
4
4
  enabled?: boolean;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { MarketPriceQueryKey } from './market/queries/useMarketPriceQuery';
2
2
  import { DeltaPriceQueryKey } from './delta/queries/useDeltaPriceQuery';
3
3
  import { SwapMode } from '../../../components/widget/SwapModeSwitcher/state/types';
4
- import { DeltaV2, OptimalRate, SwapSideUnion } from '@velora-dex/sdk';
4
+ import { DeltaPrice, OptimalRate, SwapSideUnion } from '@velora-dex/sdk';
5
5
  import { DeltaOrMarketPrice, UseSwapPricesInput } from './types';
6
6
  import { QueryObserverResult, RefetchOptions } from '@tanstack/react-query';
7
7
  import { PriceImpactResult } from '../../../lib/utils/priceImpact';
@@ -23,7 +23,7 @@ type UseSwapPricesReturn = {
23
23
  queryKey: MarketPriceQueryKey;
24
24
  };
25
25
  delta: {
26
- price?: DeltaV2.DeltaPrice;
26
+ price?: DeltaPrice;
27
27
  side?: SwapSideUnion;
28
28
  /** @description whether the delta price can be used for the current price params && widget config */
29
29
  canBeUsed: boolean;
@@ -31,7 +31,7 @@ type UseSwapPricesReturn = {
31
31
  isFetching: boolean;
32
32
  isRefetching: boolean;
33
33
  isError: boolean;
34
- refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<DeltaV2.DeltaPrice, Error>>;
34
+ refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<DeltaPrice, Error>>;
35
35
  error: Error | null;
36
36
  cachedError: Error | null;
37
37
  queryKey: DeltaPriceQueryKey;
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.js","names":["useMarketPriceQuery","MarketPriceQueryKey","useExtraDeltaPriceParams","useExtraMarketPriceParams","usePricesParams","useDeltaPriceQuery","DeltaPriceQueryKey","swapModeAtom","SwapMode","useAtomValue","DeltaV2","OptimalRate","SwapSideUnion","DeltaOrMarketPrice","UseSwapPricesInput","useGlobalDeltaEnabled","isETH","isWETH","useIsTokenSupportedInDeltaQuery","useCachedQueryError","useSelectedBridgePrice","PRICE_REFETCH_INTERVAL_MS","QueryObserverResult","RefetchOptions","PriceImpactResult","getDeltaPriceErrorType","isMarketPriceImpactError","isMarketBadUsdPriceError","isMarketNoLiquidityError","getPriceImpactFromPriceFactory","UseSwapPricesReturn","priceMode","userSelectedPriceMode","market","price","side","canBeUsed","isLoading","isFetching","isRefetching","isError","refetch","options","Promise","Error","error","cachedError","queryKey","delta","DeltaPrice","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","swapMode","extraMarketPriceParams","extraDeltaPriceParams","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","fetchAnyPrice","amount","destToken","t2","srcToken","address","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","t8","enabled","t9","refetchInterval","staleTime","retry","t10","query","result","deltaPriceQuery","deltaPriceQueryKey","deltaErrorCached","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","marketRefetchInterval","t11","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","marketErrorCached","t15","t16","t17","t18","t19","UseCurrentSwapPriceReturn","getPriceImpact","Pick","useCurrentSwapPrice","selectedBridgePrice","priceError","UseCurrentSwapPriceErrorReturn","isMaxImpactReachedError","isNoUsdPriceError","isNoLiquidityError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","isDeltaNoAvailableBridgeOptionsError","useCurrentSwapPriceError","deltaPriceErrorType"],"sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport {\n useExtraDeltaPriceParams,\n useExtraMarketPriceParams,\n usePricesParams,\n} from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type { DeltaV2, OptimalRate, SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { DeltaOrMarketPrice, UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { type PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { getDeltaPriceErrorType } from \"./delta/queries/errors\";\nimport {\n isMarketPriceImpactError,\n isMarketBadUsdPriceError,\n isMarketNoLiquidityError,\n} from \"./market/queries/errors\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaV2.DeltaPrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaV2.DeltaPrice, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n // extra market params include excludedDEXS\n const extraMarketPriceParams = useExtraMarketPriceParams();\n // extra delta params include excluded bridges and beneficiary\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraMarketPriceParams,\n },\n chainId,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n const marketErrorCached = useCachedQueryError(marketPriceQuery);\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n cachedError: marketErrorCached,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data?.side,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n cachedError: deltaErrorCached,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n side?: SwapSideUnion;\n getPriceImpact: () => PriceImpactResult;\n} & (\n | ({\n priceMode: \"market\";\n } & Pick<UseSwapPricesReturn[\"market\"], \"refetch\" | \"queryKey\" | \"price\">)\n | ({\n priceMode: \"delta\";\n } & Pick<UseSwapPricesReturn[\"delta\"], \"refetch\" | \"queryKey\" | \"price\">)\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isFetching: market.isFetching,\n isError: market.isError,\n error: market.error,\n cachedError: market.cachedError,\n queryKey: market.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: market.cachedError,\n price: market.price,\n }),\n refetch: market.refetch,\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isFetching: delta.isFetching,\n isError: delta.isError,\n error: delta.error,\n cachedError: delta.cachedError,\n queryKey: delta.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: delta.cachedError,\n price: selectedBridgePrice || delta.price,\n }),\n refetch: delta.refetch,\n };\n}\n\ntype UseCurrentSwapPriceErrorReturn = {\n price?: DeltaOrMarketPrice;\n priceMode: SwapMode;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoLiquidityError: boolean;\n isDeltaNoAvailablePricesError: boolean;\n isDeltaUnsupportedTokenError: boolean;\n isDeltaNoAvailableBridgeOptionsError: boolean;\n};\n\nexport function useCurrentSwapPriceError(\n params: UseSwapPricesInput = { enabled: false }\n): UseCurrentSwapPriceErrorReturn {\n const { price, priceMode, cachedError, getPriceImpact } =\n useCurrentSwapPrice(params);\n\n const deltaPriceErrorType = getDeltaPriceErrorType(cachedError);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const isMaxImpactReachedError =\n isMarketPriceImpactError(cachedError) ||\n deltaPriceErrorType === \"MaxImpactReached\";\n const isNoUsdPriceError =\n isMarketBadUsdPriceError(cachedError) ||\n deltaPriceErrorType === \"NoUSDPriceForToken\";\n const isNoLiquidityError = isMarketNoLiquidityError(cachedError);\n\n const isDeltaNoAvailablePricesError =\n deltaPriceErrorType === \"NoAvailablePrices\";\n const isDeltaUnsupportedTokenError =\n deltaPriceErrorType === \"UnsupportedToken\";\n const isDeltaNoAvailableBridgeOptionsError =\n deltaPriceErrorType === \"NoAvailableBridgeOptions\";\n\n return {\n price,\n priceMode,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n isDeltaNoAvailableBridgeOptionsError,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSwapPrices.js","names":["useMarketPriceQuery","MarketPriceQueryKey","useExtraDeltaPriceParams","useExtraMarketPriceParams","usePricesParams","useDeltaPriceQuery","DeltaPriceQueryKey","swapModeAtom","SwapMode","useAtomValue","DeltaPrice","OptimalRate","SwapSideUnion","DeltaOrMarketPrice","UseSwapPricesInput","useGlobalDeltaEnabled","isETH","isWETH","useIsTokenSupportedInDeltaQuery","useCachedQueryError","useSelectedBridgePrice","PRICE_REFETCH_INTERVAL_MS","QueryObserverResult","RefetchOptions","PriceImpactResult","getDeltaPriceErrorType","isMarketPriceImpactError","isMarketBadUsdPriceError","isMarketNoLiquidityError","getPriceImpactFromPriceFactory","UseSwapPricesReturn","priceMode","userSelectedPriceMode","market","price","side","canBeUsed","isLoading","isFetching","isRefetching","isError","refetch","options","Promise","Error","error","cachedError","queryKey","delta","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","swapMode","extraMarketPriceParams","extraDeltaPriceParams","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","fetchAnyPrice","amount","destToken","t2","srcToken","address","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","t8","enabled","t9","refetchInterval","staleTime","retry","t10","query","result","deltaPriceQuery","deltaPriceQueryKey","deltaErrorCached","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","marketRefetchInterval","t11","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","marketErrorCached","t15","t16","t17","t18","t19","UseCurrentSwapPriceReturn","getPriceImpact","Pick","useCurrentSwapPrice","selectedBridgePrice","priceError","UseCurrentSwapPriceErrorReturn","isMaxImpactReachedError","isNoUsdPriceError","isNoLiquidityError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","isDeltaNoAvailableBridgeOptionsError","useCurrentSwapPriceError","deltaPriceErrorType"],"sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport {\n useExtraDeltaPriceParams,\n useExtraMarketPriceParams,\n usePricesParams,\n} from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { DeltaOrMarketPrice, UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { type PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { getDeltaPriceErrorType } from \"./delta/queries/errors\";\nimport {\n isMarketPriceImpactError,\n isMarketBadUsdPriceError,\n isMarketNoLiquidityError,\n} from \"./market/queries/errors\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n // extra market params include excludedDEXS\n const extraMarketPriceParams = useExtraMarketPriceParams();\n // extra delta params include excluded bridges and beneficiary\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraMarketPriceParams,\n },\n chainId,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n const marketErrorCached = useCachedQueryError(marketPriceQuery);\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n cachedError: marketErrorCached,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data?.side,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n cachedError: deltaErrorCached,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n side?: SwapSideUnion;\n getPriceImpact: () => PriceImpactResult;\n} & (\n | ({\n priceMode: \"market\";\n } & Pick<UseSwapPricesReturn[\"market\"], \"refetch\" | \"queryKey\" | \"price\">)\n | ({\n priceMode: \"delta\";\n } & Pick<UseSwapPricesReturn[\"delta\"], \"refetch\" | \"queryKey\" | \"price\">)\n );\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isFetching: market.isFetching,\n isError: market.isError,\n error: market.error,\n cachedError: market.cachedError,\n queryKey: market.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: market.cachedError,\n price: market.price,\n }),\n refetch: market.refetch,\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isFetching: delta.isFetching,\n isError: delta.isError,\n error: delta.error,\n cachedError: delta.cachedError,\n queryKey: delta.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: delta.cachedError,\n price: selectedBridgePrice || delta.price,\n }),\n refetch: delta.refetch,\n };\n}\n\ntype UseCurrentSwapPriceErrorReturn = {\n price?: DeltaOrMarketPrice;\n priceMode: SwapMode;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoLiquidityError: boolean;\n isDeltaNoAvailablePricesError: boolean;\n isDeltaUnsupportedTokenError: boolean;\n isDeltaNoAvailableBridgeOptionsError: boolean;\n};\n\nexport function useCurrentSwapPriceError(\n params: UseSwapPricesInput = { enabled: false }\n): UseCurrentSwapPriceErrorReturn {\n const { price, priceMode, cachedError, getPriceImpact } =\n useCurrentSwapPrice(params);\n\n const deltaPriceErrorType = getDeltaPriceErrorType(cachedError);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const isMaxImpactReachedError =\n isMarketPriceImpactError(cachedError) ||\n deltaPriceErrorType === \"MaxImpactReached\";\n const isNoUsdPriceError =\n isMarketBadUsdPriceError(cachedError) ||\n deltaPriceErrorType === \"NoUSDPriceForToken\";\n const isNoLiquidityError = isMarketNoLiquidityError(cachedError);\n\n const isDeltaNoAvailablePricesError =\n deltaPriceErrorType === \"NoAvailablePrices\";\n const isDeltaUnsupportedTokenError =\n deltaPriceErrorType === \"UnsupportedToken\";\n const isDeltaNoAvailableBridgeOptionsError =\n deltaPriceErrorType === \"NoAvailableBridgeOptions\";\n\n return {\n price,\n priceMode,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n isDeltaNoAvailableBridgeOptionsError,\n };\n}\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { InputOverridesFromPrice } from './useTokenInputsFromPrice';
2
- import { DeltaV2, SwapSideUnion } from '@velora-dex/sdk';
2
+ import { DeltaPrice, SwapSideUnion } from '@velora-dex/sdk';
3
3
  import { DeltaPriceQueryKey } from './delta/queries/useDeltaPriceQuery';
4
4
  type UseTokenInputsFromTwapPriceReturn = InputOverridesFromPrice & {
5
- price?: DeltaV2.DeltaPrice;
5
+ price?: DeltaPrice;
6
6
  side: SwapSideUnion;
7
7
  isLoading: boolean;
8
8
  isError: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenInputsFromTwapPrice.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useTokenInputsFromTwapPrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,KAAK,iCAAiC,GAAG,uBAAuB,GAAG;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAwBF,wBAAgB,2BAA2B,IAAI,iCAAiC,CAsB/E"}
1
+ {"version":3,"file":"useTokenInputsFromTwapPrice.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useTokenInputsFromTwapPrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,KAAK,iCAAiC,GAAG,uBAAuB,GAAG;IACjE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAwBF,wBAAgB,2BAA2B,IAAI,iCAAiC,CAsB/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenInputsFromTwapPrice.js","names":["InputOverridesFromPrice","useTwapPrices","UseTwapPricesReturn","useTwapSide","DeltaV2","SwapSideUnion","DeltaPriceQueryKey","UseTokenInputsFromTwapPriceReturn","price","DeltaPrice","side","isLoading","isError","error","Error","cachedError","queryKey","numSlices","getTwapOverridesFromPrice","totalSrcAmount","totalDestAmount","Pick","tokenFromAmount","amountWei","tokenToAmount","useTokenInputsFromTwapPrice","$","_c","twapPrices","swapSideFromInput","t0","overrides","t1"],"sources":["../../../../src/hooks/swap/prices/useTokenInputsFromTwapPrice.ts"],"sourcesContent":["import type { InputOverridesFromPrice } from \"./useTokenInputsFromPrice\";\nimport { useTwapPrices, type UseTwapPricesReturn } from \"./useTwapPrices\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport type { DeltaV2, SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { DeltaPriceQueryKey } from \"./delta/queries/useDeltaPriceQuery\";\n\ntype UseTokenInputsFromTwapPriceReturn = InputOverridesFromPrice & {\n price?: DeltaV2.DeltaPrice;\n side: SwapSideUnion;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n numSlices: number;\n};\n\nfunction getTwapOverridesFromPrice({\n totalSrcAmount,\n totalDestAmount,\n side,\n}: Pick<UseTwapPricesReturn, \"totalSrcAmount\" | \"totalDestAmount\"> & {\n side: SwapSideUnion;\n}): InputOverridesFromPrice | undefined {\n if (side === \"BUY\") {\n return {\n tokenFromAmount: {\n amountWei: totalSrcAmount || \"0\",\n },\n };\n }\n\n return {\n tokenToAmount: {\n amountWei: totalDestAmount || \"0\",\n },\n };\n}\n\nexport function useTokenInputsFromTwapPrice(): UseTokenInputsFromTwapPriceReturn {\n const twapPrices = useTwapPrices();\n const swapSideFromInput = useTwapSide();\n const side = twapPrices.side || swapSideFromInput;\n\n const overrides = getTwapOverridesFromPrice({\n totalSrcAmount: twapPrices.totalSrcAmount,\n totalDestAmount: twapPrices.totalDestAmount,\n side,\n });\n\n return {\n ...overrides,\n price: twapPrices.price,\n side,\n isLoading: twapPrices.isLoading,\n isError: twapPrices.isError,\n error: twapPrices.error,\n cachedError: twapPrices.cachedError,\n queryKey: twapPrices.queryKey,\n numSlices: twapPrices.numSlices,\n };\n}\n"],"mappings":";;;;AAiBA,SAASkB,EAA0B,EACjCC,mBACAC,oBACAV,WAGsC;CAStC,OARIA,MAAS,QACJ,EACLY,iBAAiB,EACfC,WAAWJ,KAAkB,KAC/B,EACD,GAGI,EACLK,eAAe,EACbD,WAAWH,KAAmB,KAChC,EACD;;AAGH,SAAOK,IAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACLC,IAAmB3B,GAAe,EAClC4B,IAA0B1B,GAAa,EACvCO,IAAakB,EAAUlB,QAAVmB,GAAqCC;CAAA,AAAAJ,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAR,mBAAAM,EAAA,OAAAE,EAAAT,kBAEhCW,IAAAZ,EAA0B;EAAAC,gBAC1BS,EAAUT;EAAeC,iBACxBQ,EAAUR;EAAgBV;EAE5C,CAAC,EAAAgB,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAR,iBAAAM,EAAA,KAAAE,EAAAT,gBAAAO,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAJF,IAAAK,IAAkBD,GAIfE;CAYF,OAZEN,EAAA,OAAAK,KAAAL,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAb,eAAAW,EAAA,OAAAE,EAAAf,SAAAa,EAAA,OAAAE,EAAAhB,WAAAc,EAAA,OAAAE,EAAAjB,aAAAe,EAAA,QAAAE,EAAAX,aAAAS,EAAA,QAAAE,EAAApB,SAAAkB,EAAA,QAAAE,EAAAZ,YAEIgB,IAAA;EAAA,GACFD;EAASvB,OACLoB,EAAUpB;EAAME;EAAAC,WAEZiB,EAAUjB;EAAUC,SACtBgB,EAAUhB;EAAQC,OACpBe,EAAUf;EAAME,aACVa,EAAUb;EAAYC,UACzBY,EAAUZ;EAASC,WAClBW,EAAUX;EACtB,EAAAS,EAAA,KAAAK,GAAAL,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAb,aAAAW,EAAA,KAAAE,EAAAf,OAAAa,EAAA,KAAAE,EAAAhB,SAAAc,EAAA,KAAAE,EAAAjB,WAAAe,EAAA,MAAAE,EAAAX,WAAAS,EAAA,MAAAE,EAAApB,OAAAkB,EAAA,MAAAE,EAAAZ,UAAAU,EAAA,MAAAM,KAAAA,IAAAN,EAAA,KAVMM"}
1
+ {"version":3,"file":"useTokenInputsFromTwapPrice.js","names":["InputOverridesFromPrice","useTwapPrices","UseTwapPricesReturn","useTwapSide","DeltaPrice","SwapSideUnion","DeltaPriceQueryKey","UseTokenInputsFromTwapPriceReturn","price","side","isLoading","isError","error","Error","cachedError","queryKey","numSlices","getTwapOverridesFromPrice","totalSrcAmount","totalDestAmount","Pick","tokenFromAmount","amountWei","tokenToAmount","useTokenInputsFromTwapPrice","$","_c","twapPrices","swapSideFromInput","t0","overrides","t1"],"sources":["../../../../src/hooks/swap/prices/useTokenInputsFromTwapPrice.ts"],"sourcesContent":["import type { InputOverridesFromPrice } from \"./useTokenInputsFromPrice\";\nimport { useTwapPrices, type UseTwapPricesReturn } from \"./useTwapPrices\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport type { DeltaPrice, SwapSideUnion } from \"@velora-dex/sdk\";\nimport type { DeltaPriceQueryKey } from \"./delta/queries/useDeltaPriceQuery\";\n\ntype UseTokenInputsFromTwapPriceReturn = InputOverridesFromPrice & {\n price?: DeltaPrice;\n side: SwapSideUnion;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n numSlices: number;\n};\n\nfunction getTwapOverridesFromPrice({\n totalSrcAmount,\n totalDestAmount,\n side,\n}: Pick<UseTwapPricesReturn, \"totalSrcAmount\" | \"totalDestAmount\"> & {\n side: SwapSideUnion;\n}): InputOverridesFromPrice | undefined {\n if (side === \"BUY\") {\n return {\n tokenFromAmount: {\n amountWei: totalSrcAmount || \"0\",\n },\n };\n }\n\n return {\n tokenToAmount: {\n amountWei: totalDestAmount || \"0\",\n },\n };\n}\n\nexport function useTokenInputsFromTwapPrice(): UseTokenInputsFromTwapPriceReturn {\n const twapPrices = useTwapPrices();\n const swapSideFromInput = useTwapSide();\n const side = twapPrices.side || swapSideFromInput;\n\n const overrides = getTwapOverridesFromPrice({\n totalSrcAmount: twapPrices.totalSrcAmount,\n totalDestAmount: twapPrices.totalDestAmount,\n side,\n });\n\n return {\n ...overrides,\n price: twapPrices.price,\n side,\n isLoading: twapPrices.isLoading,\n isError: twapPrices.isError,\n error: twapPrices.error,\n cachedError: twapPrices.cachedError,\n queryKey: twapPrices.queryKey,\n numSlices: twapPrices.numSlices,\n };\n}\n"],"mappings":";;;;AAiBA,SAASiB,EAA0B,EACjCC,mBACAC,oBACAV,WAGsC;CAStC,OARIA,MAAS,QACJ,EACLY,iBAAiB,EACfC,WAAWJ,KAAkB,KAC/B,EACD,GAGI,EACLK,eAAe,EACbD,WAAWH,KAAmB,KAChC,EACD;;AAGH,SAAOK,IAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACLC,IAAmB1B,GAAe,EAClC2B,IAA0BzB,GAAa,EACvCM,IAAakB,EAAUlB,QAAVmB,GAAqCC;CAAA,AAAAJ,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAR,mBAAAM,EAAA,OAAAE,EAAAT,kBAEhCW,IAAAZ,EAA0B;EAAAC,gBAC1BS,EAAUT;EAAeC,iBACxBQ,EAAUR;EAAgBV;EAE5C,CAAC,EAAAgB,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAR,iBAAAM,EAAA,KAAAE,EAAAT,gBAAAO,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAJF,IAAAK,IAAkBD,GAIfE;CAYF,OAZEN,EAAA,OAAAK,KAAAL,EAAA,OAAAhB,KAAAgB,EAAA,OAAAE,EAAAb,eAAAW,EAAA,OAAAE,EAAAf,SAAAa,EAAA,OAAAE,EAAAhB,WAAAc,EAAA,OAAAE,EAAAjB,aAAAe,EAAA,QAAAE,EAAAX,aAAAS,EAAA,QAAAE,EAAAnB,SAAAiB,EAAA,QAAAE,EAAAZ,YAEIgB,IAAA;EAAA,GACFD;EAAStB,OACLmB,EAAUnB;EAAMC;EAAAC,WAEZiB,EAAUjB;EAAUC,SACtBgB,EAAUhB;EAAQC,OACpBe,EAAUf;EAAME,aACVa,EAAUb;EAAYC,UACzBY,EAAUZ;EAASC,WAClBW,EAAUX;EACtB,EAAAS,EAAA,KAAAK,GAAAL,EAAA,KAAAhB,GAAAgB,EAAA,KAAAE,EAAAb,aAAAW,EAAA,KAAAE,EAAAf,OAAAa,EAAA,KAAAE,EAAAhB,SAAAc,EAAA,KAAAE,EAAAjB,WAAAe,EAAA,MAAAE,EAAAX,WAAAS,EAAA,MAAAE,EAAAnB,OAAAiB,EAAA,MAAAE,EAAAZ,UAAAU,EAAA,MAAAM,KAAAA,IAAAN,EAAA,KAVMM"}
@@ -1,4 +1,4 @@
1
- import { DeltaV2, SwapSideUnion } from '@velora-dex/sdk';
1
+ import { DeltaPrice, SwapSideUnion } from '@velora-dex/sdk';
2
2
  import { DeltaPriceQueryKey, DeltaPriceQueryParams } from './delta/queries/useDeltaPriceQuery';
3
3
  import { SupportedChainId } from '../../../lib/web3/wagmi/types';
4
4
  import { QueryObserverResult, RefetchOptions } from '@tanstack/react-query';
@@ -8,7 +8,7 @@ export type UseTwapPricesReturn = {
8
8
  totalSrcAmount?: string;
9
9
  /** @description price.receivedDestAmount multiplied by numSlices */
10
10
  totalDestAmount?: string;
11
- price?: DeltaV2.DeltaPrice;
11
+ price?: DeltaPrice;
12
12
  priceParams: DeltaPriceQueryParams;
13
13
  side?: SwapSideUnion;
14
14
  isLoading: boolean;
@@ -16,7 +16,7 @@ export type UseTwapPricesReturn = {
16
16
  isError: boolean;
17
17
  error: Error | null;
18
18
  cachedError: Error | null;
19
- refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<DeltaV2.DeltaPrice, Error>>;
19
+ refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<DeltaPrice, Error>>;
20
20
  getPriceImpact: () => PriceImpactResult;
21
21
  queryKey: DeltaPriceQueryKey;
22
22
  numSlices: number;
@@ -28,7 +28,7 @@ export declare function useTwapPrices({ enabled }?: {
28
28
  enabled: boolean;
29
29
  }): UseTwapPricesReturn;
30
30
  type UseCurrentTwapPriceErrorReturn = {
31
- price?: DeltaV2.DeltaPrice;
31
+ price?: DeltaPrice;
32
32
  cachedError: Error | null;
33
33
  getPriceImpact: () => PriceImpactResult;
34
34
  isMaxImpactReachedError: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useTwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useTwapPrices.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,oCAAoC,CAAC;AAY5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,WAAW,EAAE,qBAAqB,CAAC;IACnC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,iBAAiB,CAAC;IACxC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,aAAa,CAC3B,EAAE,OAAO,EAAE;;CAAoB,GAC9B,mBAAmB,CAqErB;AAED,KAAK,8BAA8B,GAAG;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,iBAAiB,CAAC;IACxC,uBAAuB,EAAE,OAAO,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,OAAO,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;IACjC,+BAA+B,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,MAAM,GAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAuB,GAChD,8BAA8B,CAmBhC"}
1
+ {"version":3,"file":"useTwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useTwapPrices.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,oCAAoC,CAAC;AAY5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,qBAAqB,CAAC;IACnC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IACrD,cAAc,EAAE,MAAM,iBAAiB,CAAC;IACxC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,aAAa,CAC3B,EAAE,OAAO,EAAE;;CAAoB,GAC9B,mBAAmB,CAqErB;AAED,KAAK,8BAA8B,GAAG;IACpC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,iBAAiB,CAAC;IACxC,uBAAuB,EAAE,OAAO,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,OAAO,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;IACjC,+BAA+B,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,MAAM,GAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAuB,GAChD,8BAA8B,CAmBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTwapPrices.js","names":["useAtomValue","DeltaV2","SwapSideUnion","useDeltaPriceQuery","DeltaPriceQueryKey","DeltaPriceQueryParams","useGlobalDeltaEnabled","useCachedQueryError","PRICE_REFETCH_INTERVAL_MS","useExtraDeltaPriceParams","usePricesParams","twapPayInputAmountWeiAtom","twapReceiveInputAmountWeiAtom","useTwapSplit","useTwapSide","SupportedChainId","getTwapChunkAmount","getTwapAmountsFromPrice","QueryObserverResult","RefetchOptions","getPriceImpactFromPriceFactory","PriceImpactResult","getDeltaPriceErrorType","UseTwapPricesReturn","totalSrcAmount","totalDestAmount","price","DeltaPrice","priceParams","side","isLoading","isFetching","isError","error","Error","cachedError","refetch","options","Promise","getPriceImpact","queryKey","numSlices","chainId","destChainId","isCrossChain","useTwapPrices","t0","$","_c","t1","undefined","enabled","payAmountWei","receiveAmountWei","isSell","totalAmount","t2","totalWei","chunkAmount","extraDeltaPriceParams","t3","allowBridgeAndSwap","amount","twapPriceParams","enabledGlobally","t4","t5","refetchInterval","staleTime","retry","t6","query","result","deltaPriceQuery","data","t7","total","t8","t9","t10","t11","t12","t13","t14","srcAmount","t15","destAmount","t16","priceError","t17","UseCurrentTwapPriceErrorReturn","isMaxImpactReachedError","isNoUsdPriceError","isNoAvailablePricesError","isUnsupportedTokenError","isNoAvailableBridgeOptionsError","useCurrentTwapPriceError","params","deltaPriceErrorType"],"sources":["../../../../src/hooks/swap/prices/useTwapPrices.ts"],"sourcesContent":["import { useAtomValue } from \"@/core/store\";\nimport type { DeltaV2, SwapSideUnion } from \"@velora-dex/sdk\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n type DeltaPriceQueryParams,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport { useExtraDeltaPriceParams, usePricesParams } from \"./usePricesParams\";\n\nimport {\n twapPayInputAmountWeiAtom,\n twapReceiveInputAmountWeiAtom,\n} from \"@/core/twap/state/twapInputAmountAtom\";\nimport { useTwapSplit } from \"@/core/twap/state/twapParamsAtom\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getTwapChunkAmount, getTwapAmountsFromPrice } from \"@/lib/utils/twap\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\nimport type { PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { getDeltaPriceErrorType } from \"./delta/queries/errors\";\n\nexport type UseTwapPricesReturn = {\n /** @description price.srcAmount multiplied by numSlices */\n totalSrcAmount?: string;\n /** @description price.receivedDestAmount multiplied by numSlices */\n totalDestAmount?: string;\n price?: DeltaV2.DeltaPrice;\n priceParams: DeltaPriceQueryParams;\n side?: SwapSideUnion;\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaV2.DeltaPrice, Error>>;\n getPriceImpact: () => PriceImpactResult;\n queryKey: DeltaPriceQueryKey;\n numSlices: number;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n isCrossChain: boolean;\n};\n\nexport function useTwapPrices(\n { enabled } = { enabled: true }\n): UseTwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"twap\");\n\n const payAmountWei = useAtomValue(twapPayInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(twapReceiveInputAmountWeiAtom) ?? \"0\";\n\n const numSlices = useTwapSplit();\n\n const side = useTwapSide();\n const isSell = side === \"SELL\";\n\n const totalAmount = isSell ? payAmountWei : receiveAmountWei;\n // Request a quote for a single slice amount\n const chunkAmount = getTwapChunkAmount({ totalWei: totalAmount, numSlices });\n\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const twapPriceParams: DeltaPriceQueryParams = {\n ...priceParams,\n ...extraDeltaPriceParams,\n // allowBridgeAndSwap=true isn't supported for TWAP for now\n allowBridgeAndSwap: false,\n amount: chunkAmount,\n };\n\n const { enabledGlobally } = useGlobalDeltaEnabled();\n\n const { result: deltaPriceQuery, queryKey } = useDeltaPriceQuery({\n priceParams: twapPriceParams,\n chainId,\n destChainId,\n query: {\n enabled: enabled && enabledGlobally,\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n retry: false,\n },\n });\n\n const cachedError = useCachedQueryError(deltaPriceQuery);\n const price = deltaPriceQuery.data;\n\n const total = price\n ? getTwapAmountsFromPrice({ price, numSlices })\n : undefined;\n\n return {\n price,\n priceParams: twapPriceParams,\n side: price?.side,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isError: deltaPriceQuery.isError,\n error: deltaPriceQuery.error,\n refetch: deltaPriceQuery.refetch,\n cachedError,\n queryKey,\n numSlices: numSlices,\n chainId,\n destChainId,\n isCrossChain,\n totalSrcAmount: total?.srcAmount,\n totalDestAmount: total?.destAmount,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: cachedError,\n price,\n }),\n };\n}\n\ntype UseCurrentTwapPriceErrorReturn = {\n price?: DeltaV2.DeltaPrice;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoAvailablePricesError: boolean;\n isUnsupportedTokenError: boolean;\n isNoAvailableBridgeOptionsError: boolean;\n};\n\nexport function useCurrentTwapPriceError(\n params: { enabled: boolean } = { enabled: false }\n): UseCurrentTwapPriceErrorReturn {\n const { price, cachedError, getPriceImpact } = useTwapPrices(params);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const deltaPriceErrorType = getDeltaPriceErrorType(cachedError);\n\n return {\n price,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError: deltaPriceErrorType === \"MaxImpactReached\",\n isNoUsdPriceError: deltaPriceErrorType === \"NoUSDPriceForToken\",\n isNoAvailablePricesError: deltaPriceErrorType === \"NoAvailablePrices\",\n isUnsupportedTokenError: deltaPriceErrorType === \"UnsupportedToken\",\n isNoAvailableBridgeOptionsError:\n deltaPriceErrorType === \"NoAvailableBridgeOptions\",\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useTwapPrices.js","names":["useAtomValue","DeltaPrice","SwapSideUnion","useDeltaPriceQuery","DeltaPriceQueryKey","DeltaPriceQueryParams","useGlobalDeltaEnabled","useCachedQueryError","PRICE_REFETCH_INTERVAL_MS","useExtraDeltaPriceParams","usePricesParams","twapPayInputAmountWeiAtom","twapReceiveInputAmountWeiAtom","useTwapSplit","useTwapSide","SupportedChainId","getTwapChunkAmount","getTwapAmountsFromPrice","QueryObserverResult","RefetchOptions","getPriceImpactFromPriceFactory","PriceImpactResult","getDeltaPriceErrorType","UseTwapPricesReturn","totalSrcAmount","totalDestAmount","price","priceParams","side","isLoading","isFetching","isError","error","Error","cachedError","refetch","options","Promise","getPriceImpact","queryKey","numSlices","chainId","destChainId","isCrossChain","useTwapPrices","t0","$","_c","t1","undefined","enabled","payAmountWei","receiveAmountWei","isSell","totalAmount","t2","totalWei","chunkAmount","extraDeltaPriceParams","t3","allowBridgeAndSwap","amount","twapPriceParams","enabledGlobally","t4","t5","refetchInterval","staleTime","retry","t6","query","result","deltaPriceQuery","data","t7","total","t8","t9","t10","t11","t12","t13","t14","srcAmount","t15","destAmount","t16","priceError","t17","UseCurrentTwapPriceErrorReturn","isMaxImpactReachedError","isNoUsdPriceError","isNoAvailablePricesError","isUnsupportedTokenError","isNoAvailableBridgeOptionsError","useCurrentTwapPriceError","params","deltaPriceErrorType"],"sources":["../../../../src/hooks/swap/prices/useTwapPrices.ts"],"sourcesContent":["import { useAtomValue } from \"@/core/store\";\nimport type { DeltaPrice, SwapSideUnion } from \"@velora-dex/sdk\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n type DeltaPriceQueryParams,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport { useExtraDeltaPriceParams, usePricesParams } from \"./usePricesParams\";\n\nimport {\n twapPayInputAmountWeiAtom,\n twapReceiveInputAmountWeiAtom,\n} from \"@/core/twap/state/twapInputAmountAtom\";\nimport { useTwapSplit } from \"@/core/twap/state/twapParamsAtom\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getTwapChunkAmount, getTwapAmountsFromPrice } from \"@/lib/utils/twap\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\nimport type { PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { getDeltaPriceErrorType } from \"./delta/queries/errors\";\n\nexport type UseTwapPricesReturn = {\n /** @description price.srcAmount multiplied by numSlices */\n totalSrcAmount?: string;\n /** @description price.receivedDestAmount multiplied by numSlices */\n totalDestAmount?: string;\n price?: DeltaPrice;\n priceParams: DeltaPriceQueryParams;\n side?: SwapSideUnion;\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice, Error>>;\n getPriceImpact: () => PriceImpactResult;\n queryKey: DeltaPriceQueryKey;\n numSlices: number;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n isCrossChain: boolean;\n};\n\nexport function useTwapPrices(\n { enabled } = { enabled: true }\n): UseTwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"twap\");\n\n const payAmountWei = useAtomValue(twapPayInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(twapReceiveInputAmountWeiAtom) ?? \"0\";\n\n const numSlices = useTwapSplit();\n\n const side = useTwapSide();\n const isSell = side === \"SELL\";\n\n const totalAmount = isSell ? payAmountWei : receiveAmountWei;\n // Request a quote for a single slice amount\n const chunkAmount = getTwapChunkAmount({ totalWei: totalAmount, numSlices });\n\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const twapPriceParams: DeltaPriceQueryParams = {\n ...priceParams,\n ...extraDeltaPriceParams,\n // allowBridgeAndSwap=true isn't supported for TWAP for now\n allowBridgeAndSwap: false,\n amount: chunkAmount,\n };\n\n const { enabledGlobally } = useGlobalDeltaEnabled();\n\n const { result: deltaPriceQuery, queryKey } = useDeltaPriceQuery({\n priceParams: twapPriceParams,\n chainId,\n destChainId,\n query: {\n enabled: enabled && enabledGlobally,\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n retry: false,\n },\n });\n\n const cachedError = useCachedQueryError(deltaPriceQuery);\n const price = deltaPriceQuery.data;\n\n const total = price\n ? getTwapAmountsFromPrice({ price, numSlices })\n : undefined;\n\n return {\n price,\n priceParams: twapPriceParams,\n side: price?.side,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isError: deltaPriceQuery.isError,\n error: deltaPriceQuery.error,\n refetch: deltaPriceQuery.refetch,\n cachedError,\n queryKey,\n numSlices: numSlices,\n chainId,\n destChainId,\n isCrossChain,\n totalSrcAmount: total?.srcAmount,\n totalDestAmount: total?.destAmount,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: cachedError,\n price,\n }),\n };\n}\n\ntype UseCurrentTwapPriceErrorReturn = {\n price?: DeltaPrice;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoAvailablePricesError: boolean;\n isUnsupportedTokenError: boolean;\n isNoAvailableBridgeOptionsError: boolean;\n};\n\nexport function useCurrentTwapPriceError(\n params: { enabled: boolean } = { enabled: false }\n): UseCurrentTwapPriceErrorReturn {\n const { price, cachedError, getPriceImpact } = useTwapPrices(params);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const deltaPriceErrorType = getDeltaPriceErrorType(cachedError);\n\n return {\n price,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError: deltaPriceErrorType === \"MaxImpactReached\",\n isNoUsdPriceError: deltaPriceErrorType === \"NoUSDPriceForToken\",\n isNoAvailablePricesError: deltaPriceErrorType === \"NoAvailablePrices\",\n isUnsupportedTokenError: deltaPriceErrorType === \"UnsupportedToken\",\n isNoAvailableBridgeOptionsError:\n deltaPriceErrorType === \"NoAvailableBridgeOptions\",\n };\n}\n"],"mappings":"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"}