@velora-dex/widget 0.4.14 → 0.5.1-dev.1

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 (503) hide show
  1. package/dist/components/ui/button.d.ts +1 -1
  2. package/dist/components/ui/button.d.ts.map +1 -1
  3. package/dist/components/ui/button.js +1 -0
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  6. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  7. package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
  8. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  9. package/dist/components/widget/AppHeader/Activities/utils.js +7 -6
  10. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  11. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  12. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +2 -1
  13. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  14. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +26 -4
  16. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  17. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +1 -1
  18. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
  19. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  20. package/dist/components/widget/Duration/Duration.d.ts +1 -1
  21. package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
  22. package/dist/components/widget/Duration/Duration.js +1 -4
  23. package/dist/components/widget/Duration/Duration.js.map +1 -1
  24. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +7 -8
  25. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  26. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +54 -60
  27. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  28. package/dist/components/widget/LimitOrderItem/types.d.ts +3 -2
  29. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
  30. package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
  31. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
  32. package/dist/components/widget/LimitOrderItem/utils.js +19 -10
  33. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  34. package/dist/components/widget/NumberInput/NumberInput.d.ts +18 -0
  35. package/dist/components/widget/NumberInput/NumberInput.d.ts.map +1 -0
  36. package/dist/components/widget/NumberInput/NumberInput.js +242 -0
  37. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -0
  38. package/dist/components/widget/NumberInput/assets/arrow-down.svg.js +12 -0
  39. package/dist/components/widget/NumberInput/assets/arrow-down.svg.js.map +1 -0
  40. package/dist/components/widget/NumberInput/assets/arrow-up.svg.js +12 -0
  41. package/dist/components/widget/NumberInput/assets/arrow-up.svg.js.map +1 -0
  42. package/dist/components/widget/OtcOrderItem/utils.d.ts.map +1 -1
  43. package/dist/components/widget/OtcOrderItem/utils.js +5 -2
  44. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  45. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  46. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +8 -4
  47. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  48. package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -9
  49. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  50. package/dist/components/widget/SwapRate/SwapRate.js +30 -21
  51. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  52. package/dist/components/widget/SwapRate/types.d.ts +13 -0
  53. package/dist/components/widget/SwapRate/types.d.ts.map +1 -0
  54. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts +7 -0
  55. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -0
  56. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +118 -0
  57. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -0
  58. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  59. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +83 -90
  60. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  61. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +28 -46
  62. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  63. package/dist/components/widget/TradeOverview/TradeComplete/constants.d.ts.map +1 -1
  64. package/dist/components/widget/TradeOverview/TradeComplete/constants.js +2 -1
  65. package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
  66. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  67. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +105 -72
  68. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  69. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  70. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +41 -18
  71. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  72. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +7 -2
  73. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
  74. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +19 -7
  75. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  76. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +15 -0
  77. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -0
  78. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +249 -0
  79. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -0
  80. package/dist/components/widget/TradeOverview/steps.d.ts +37 -0
  81. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  82. package/dist/components/widget/TradeOverview/steps.js +10 -1
  83. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  84. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +2 -2
  85. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  86. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  87. package/dist/components/widget/Twap/OrderDuration.d.ts +2 -0
  88. package/dist/components/widget/Twap/OrderDuration.d.ts.map +1 -0
  89. package/dist/components/widget/Twap/OrderDuration.js +77 -0
  90. package/dist/components/widget/Twap/OrderDuration.js.map +1 -0
  91. package/dist/components/widget/Twap/OrderSplit.d.ts +2 -0
  92. package/dist/components/widget/Twap/OrderSplit.d.ts.map +1 -0
  93. package/dist/components/widget/Twap/OrderSplit.js +57 -0
  94. package/dist/components/widget/Twap/OrderSplit.js.map +1 -0
  95. package/dist/components/widget/Twap/RateProtection.d.ts +2 -0
  96. package/dist/components/widget/Twap/RateProtection.d.ts.map +1 -0
  97. package/dist/components/widget/Twap/RateProtection.js +57 -0
  98. package/dist/components/widget/Twap/RateProtection.js.map +1 -0
  99. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +3 -0
  100. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +1 -0
  101. package/dist/components/widget/Twap/TwapDetailWithTooltip.js +33 -0
  102. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -0
  103. package/dist/configurator/Configurator.d.ts.map +1 -1
  104. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  105. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -1
  106. package/dist/core/TradeFlowScreenButton.d.ts +5 -0
  107. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  108. package/dist/core/TradeFlowScreenButton.js +58 -1
  109. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  110. package/dist/core/TwapDetails.d.ts +2 -0
  111. package/dist/core/TwapDetails.d.ts.map +1 -0
  112. package/dist/core/TwapDetails.js +24 -0
  113. package/dist/core/TwapDetails.js.map +1 -0
  114. package/dist/core/Warnings.d.ts +2 -1
  115. package/dist/core/Warnings.d.ts.map +1 -1
  116. package/dist/core/Warnings.js +99 -33
  117. package/dist/core/Warnings.js.map +1 -1
  118. package/dist/core/across/isCrosschainPossible.d.ts +1 -1
  119. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  120. package/dist/core/across/isCrosschainPossible.js +1 -1
  121. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  122. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  123. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  124. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +134 -51
  125. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  126. package/dist/core/constants.d.ts +1 -1
  127. package/dist/core/index.d.ts.map +1 -1
  128. package/dist/core/index.js +205 -4
  129. package/dist/core/index.js.map +1 -1
  130. package/dist/core/inputs/hooks/types.d.ts +1 -1
  131. package/dist/core/inputs/hooks/types.d.ts.map +1 -1
  132. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  133. package/dist/core/inputs/hooks/useTokenToInputProps.js +5 -69
  134. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  135. package/dist/core/inputs/hooks/useWarningMessage.d.ts +10 -0
  136. package/dist/core/inputs/hooks/useWarningMessage.d.ts.map +1 -0
  137. package/dist/core/inputs/hooks/useWarningMessage.js +71 -0
  138. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -0
  139. package/dist/core/inputs/state/common.d.ts +4 -0
  140. package/dist/core/inputs/state/common.d.ts.map +1 -1
  141. package/dist/core/inputs/state/common.js +49 -4
  142. package/dist/core/inputs/state/common.js.map +1 -1
  143. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  144. package/dist/core/inputs/state/setTokenByAddressAtom.js +27 -33
  145. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  146. package/dist/core/limit/state/utils.d.ts +1 -1
  147. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  148. package/dist/core/limit/useLimitRate.js +0 -2
  149. package/dist/core/limit/useLimitRate.js.map +1 -1
  150. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  151. package/dist/core/state/chainToAtom.d.ts +2 -0
  152. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  153. package/dist/core/state/chainToAtom.js +28 -7
  154. package/dist/core/state/chainToAtom.js.map +1 -1
  155. package/dist/core/state/configAtom.js +2 -2
  156. package/dist/core/state/configAtom.js.map +1 -1
  157. package/dist/core/state/configEffectAtom.d.ts.map +1 -1
  158. package/dist/core/state/configEffectAtom.js +10 -15
  159. package/dist/core/state/configEffectAtom.js.map +1 -1
  160. package/dist/core/state/tradeModeAtom.d.ts +1 -1
  161. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  162. package/dist/core/state/tradeModeAtom.js.map +1 -1
  163. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  164. package/dist/core/state/widgetEventsAtom.js +55 -33
  165. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  166. package/dist/core/swapDetails/priceImpact.d.ts +2 -2
  167. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  168. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  169. package/dist/core/swapDetails/types.d.ts +4 -0
  170. package/dist/core/swapDetails/types.d.ts.map +1 -0
  171. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  172. package/dist/core/swapDetails/useSwapDetailsListProps.js +62 -158
  173. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  174. package/dist/core/twap/state/constants.d.ts +20 -0
  175. package/dist/core/twap/state/constants.d.ts.map +1 -0
  176. package/dist/core/twap/state/constants.js +39 -0
  177. package/dist/core/twap/state/constants.js.map +1 -0
  178. package/dist/core/twap/state/currentTwapInputAtom.d.ts +4 -0
  179. package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +1 -0
  180. package/dist/core/twap/state/currentTwapInputAtom.js +6 -0
  181. package/dist/core/twap/state/currentTwapInputAtom.js.map +1 -0
  182. package/dist/core/twap/state/isCrosschainAtom.d.ts +3 -0
  183. package/dist/core/twap/state/isCrosschainAtom.d.ts.map +1 -0
  184. package/dist/core/twap/state/isCrosschainAtom.js +16 -0
  185. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -0
  186. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +13 -0
  187. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -0
  188. package/dist/core/twap/state/selectedTokenActionsAtom.js +194 -0
  189. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -0
  190. package/dist/core/twap/state/twapInputAmountAtom.d.ts +9 -0
  191. package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -0
  192. package/dist/core/twap/state/twapInputAmountAtom.js +21 -0
  193. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -0
  194. package/dist/core/twap/state/twapParamsAtom.d.ts +15 -0
  195. package/dist/core/twap/state/twapParamsAtom.d.ts.map +1 -0
  196. package/dist/core/twap/state/twapParamsAtom.js +22 -0
  197. package/dist/core/twap/state/twapParamsAtom.js.map +1 -0
  198. package/dist/core/twap/state/twapReceiverAddressAtom.d.ts +5 -0
  199. package/dist/core/twap/state/twapReceiverAddressAtom.d.ts.map +1 -0
  200. package/dist/core/twap/state/twapReceiverAddressAtom.js +10 -0
  201. package/dist/core/twap/state/twapReceiverAddressAtom.js.map +1 -0
  202. package/dist/core/twap/state/twapSideAtom.d.ts +4 -0
  203. package/dist/core/twap/state/twapSideAtom.d.ts.map +1 -0
  204. package/dist/core/twap/state/twapSideAtom.js +24 -0
  205. package/dist/core/twap/state/twapSideAtom.js.map +1 -0
  206. package/dist/core/twap/state/twapTokenAtoms.d.ts +10 -0
  207. package/dist/core/twap/state/twapTokenAtoms.d.ts.map +1 -0
  208. package/dist/core/twap/state/twapTokenAtoms.js +17 -0
  209. package/dist/core/twap/state/twapTokenAtoms.js.map +1 -0
  210. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +12 -0
  211. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -0
  212. package/dist/core/twap/twapDetails/minimumReceiveable.js +44 -0
  213. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -0
  214. package/dist/core/twap/useTwapDetailsListProps.d.ts +3 -0
  215. package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -0
  216. package/dist/core/twap/useTwapDetailsListProps.js +143 -0
  217. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -0
  218. package/dist/core/twap/useTwapTokenFromInputProps.d.ts +9 -0
  219. package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +1 -0
  220. package/dist/core/twap/useTwapTokenFromInputProps.js +455 -0
  221. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -0
  222. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +3 -0
  223. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +1 -0
  224. package/dist/core/twap/useTwapTokenSwitcherProps.js +37 -0
  225. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -0
  226. package/dist/core/twap/useTwapTokenToInputProps.d.ts +10 -0
  227. package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -0
  228. package/dist/core/twap/useTwapTokenToInputProps.js +301 -0
  229. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -0
  230. package/dist/events/effects/formInput.d.ts +3 -0
  231. package/dist/events/effects/formInput.d.ts.map +1 -1
  232. package/dist/events/effects/formInput.js +17 -1
  233. package/dist/events/effects/formInput.js.map +1 -1
  234. package/dist/events/getters/twap.d.ts +6 -0
  235. package/dist/events/getters/twap.d.ts.map +1 -0
  236. package/dist/events/getters/twap.js +76 -0
  237. package/dist/events/getters/twap.js.map +1 -0
  238. package/dist/events/getters/widgetState.d.ts.map +1 -1
  239. package/dist/events/getters/widgetState.js +3 -1
  240. package/dist/events/getters/widgetState.js.map +1 -1
  241. package/dist/events/hooks/useActivateEffects.d.ts.map +1 -1
  242. package/dist/events/hooks/useActivateEffects.js +2 -1
  243. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  244. package/dist/events/types/common.d.ts +8 -0
  245. package/dist/events/types/common.d.ts.map +1 -1
  246. package/dist/events/types/formInput.d.ts +11 -2
  247. package/dist/events/types/formInput.d.ts.map +1 -1
  248. package/dist/events/types/index.d.ts +4 -1
  249. package/dist/events/types/index.d.ts.map +1 -1
  250. package/dist/events/types/limit.d.ts +2 -2
  251. package/dist/events/types/limit.d.ts.map +1 -1
  252. package/dist/events/types/swap.d.ts +3 -2
  253. package/dist/events/types/swap.d.ts.map +1 -1
  254. package/dist/events/types/twap.d.ts +26 -0
  255. package/dist/events/types/twap.d.ts.map +1 -0
  256. package/dist/hooks/batch/useSendBatchTx.d.ts +1 -1
  257. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  258. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  259. package/dist/hooks/permit/utils/deadlines.d.ts +0 -3
  260. package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
  261. package/dist/hooks/permit/utils/deadlines.js +3 -9
  262. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  263. package/dist/hooks/swap/prices/constants.d.ts +1 -0
  264. package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
  265. package/dist/hooks/swap/prices/constants.js +2 -1
  266. package/dist/hooks/swap/prices/constants.js.map +1 -1
  267. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +19 -0
  268. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +1 -0
  269. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +86 -0
  270. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -0
  271. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +37 -0
  272. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -0
  273. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +164 -0
  274. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -0
  275. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +69 -0
  276. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +1 -0
  277. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +278 -0
  278. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -0
  279. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +15 -0
  280. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -0
  281. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +89 -0
  282. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -0
  283. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +60 -0
  284. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +1 -0
  285. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +325 -0
  286. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -0
  287. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +18 -0
  288. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -0
  289. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +87 -0
  290. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -0
  291. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +12 -1
  292. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  293. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +2 -5
  294. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
  295. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  296. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -3
  297. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  298. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +4 -5
  299. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  300. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +6 -6
  301. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  302. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  303. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +3 -3
  304. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  305. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +3 -15
  306. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  307. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +4 -4
  308. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  309. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +7 -0
  310. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  311. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +17 -6
  312. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  313. package/dist/hooks/swap/prices/delta/mutations/utils.js +35 -2
  314. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  315. package/dist/hooks/swap/prices/delta/orders/types.d.ts +11 -46
  316. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  317. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
  318. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  319. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  320. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +6 -5
  321. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -1
  322. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +67 -1
  323. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  324. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +24 -6
  325. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  326. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +41 -10
  327. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  328. package/dist/hooks/swap/prices/delta/orders/utils.js +135 -4
  329. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  330. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js +3 -3
  331. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  332. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +1 -1
  333. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
  334. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +0 -1
  335. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -1
  336. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  337. package/dist/hooks/swap/prices/delta/queries/errors.d.ts +10 -0
  338. package/dist/hooks/swap/prices/delta/queries/errors.d.ts.map +1 -1
  339. package/dist/hooks/swap/prices/delta/queries/errors.js +22 -1
  340. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  341. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +5 -6
  342. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  343. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  344. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +7 -7
  345. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  346. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +37 -35
  347. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  348. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +14 -17
  349. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  350. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  351. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  352. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +37 -35
  353. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  354. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  355. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  356. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  357. package/dist/hooks/swap/prices/usePricesParams.js +3 -4
  358. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  359. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -0
  360. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  361. package/dist/hooks/swap/prices/useSwapPrices.js +51 -33
  362. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  363. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +1 -1
  364. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
  365. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  366. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +16 -0
  367. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -0
  368. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +73 -0
  369. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -0
  370. package/dist/hooks/swap/prices/useTwapPrices.d.ts +44 -0
  371. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -0
  372. package/dist/hooks/swap/prices/useTwapPrices.js +241 -0
  373. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -0
  374. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +48 -0
  375. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -0
  376. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +71 -0
  377. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -0
  378. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +50 -0
  379. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -0
  380. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +94 -0
  381. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -0
  382. package/dist/hooks/swap/tradeFlow/common/types.d.ts +4 -2
  383. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  384. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +2 -0
  385. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  386. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +57 -55
  387. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  388. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +6 -6
  389. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
  390. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +263 -152
  391. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  392. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +7 -7
  393. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  394. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +296 -181
  395. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  396. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +2 -1
  397. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
  398. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +85 -83
  399. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  400. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  401. package/dist/hooks/swap/tradeFlow/common/utils.js +1 -1
  402. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  403. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +8 -9
  404. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  405. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +6 -6
  406. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  407. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +5 -6
  408. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  409. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +5 -9
  410. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  411. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +88 -0
  412. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -0
  413. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +595 -0
  414. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -0
  415. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +25 -0
  416. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +1 -0
  417. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +237 -0
  418. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -0
  419. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +1 -1
  420. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
  421. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  422. package/dist/hooks/tokens/useTokensFromAcross.d.ts +1 -1
  423. package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
  424. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  425. package/dist/hooks/useBridgeInfo.d.ts +1 -1
  426. package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
  427. package/dist/hooks/useBridgeInfo.js.map +1 -1
  428. package/dist/hooks/useIsCrosschainPossible.d.ts +1 -1
  429. package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
  430. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  431. package/dist/hooks/useSDK.d.ts +4 -4
  432. package/dist/hooks/useSDK.d.ts.map +1 -1
  433. package/dist/hooks/useSDK.js +4 -4
  434. package/dist/hooks/useSDK.js.map +1 -1
  435. package/dist/hooks/useSelectableDestChains.d.ts +1 -1
  436. package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
  437. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  438. package/dist/hooks/useSlippage.d.ts.map +1 -1
  439. package/dist/hooks/useSlippage.js +2 -1
  440. package/dist/hooks/useSlippage.js.map +1 -1
  441. package/dist/index.d.ts +2 -2
  442. package/dist/index.d.ts.map +1 -1
  443. package/dist/lib/constants/delta.d.ts.map +1 -1
  444. package/dist/lib/constants/delta.js +1 -1
  445. package/dist/lib/constants/delta.js.map +1 -1
  446. package/dist/lib/constants/time.d.ts +1 -0
  447. package/dist/lib/constants/time.d.ts.map +1 -1
  448. package/dist/lib/constants/time.js +2 -1
  449. package/dist/lib/constants/time.js.map +1 -1
  450. package/dist/lib/queryClient.js +2 -2
  451. package/dist/lib/queryClient.js.map +1 -1
  452. package/dist/lib/tradeMode.d.ts +9 -1
  453. package/dist/lib/tradeMode.d.ts.map +1 -1
  454. package/dist/lib/tradeMode.js +4 -2
  455. package/dist/lib/tradeMode.js.map +1 -1
  456. package/dist/lib/utils/delta.d.ts +10 -0
  457. package/dist/lib/utils/delta.d.ts.map +1 -1
  458. package/dist/lib/utils/delta.js +24 -1
  459. package/dist/lib/utils/delta.js.map +1 -1
  460. package/dist/lib/utils/index.d.ts +8 -0
  461. package/dist/lib/utils/index.d.ts.map +1 -1
  462. package/dist/lib/utils/index.js +18 -1
  463. package/dist/lib/utils/index.js.map +1 -1
  464. package/dist/lib/utils/price.d.ts +1 -0
  465. package/dist/lib/utils/price.d.ts.map +1 -1
  466. package/dist/lib/utils/price.js +4 -2
  467. package/dist/lib/utils/price.js.map +1 -1
  468. package/dist/lib/utils/scaleFactor.d.ts +3 -0
  469. package/dist/lib/utils/scaleFactor.d.ts.map +1 -0
  470. package/dist/lib/utils/scaleFactor.js +12 -0
  471. package/dist/lib/utils/scaleFactor.js.map +1 -0
  472. package/dist/lib/utils/time.d.ts +2 -0
  473. package/dist/lib/utils/time.d.ts.map +1 -1
  474. package/dist/lib/utils/time.js +7 -1
  475. package/dist/lib/utils/time.js.map +1 -1
  476. package/dist/lib/utils/toasts.d.ts +4 -4
  477. package/dist/lib/utils/toasts.d.ts.map +1 -1
  478. package/dist/lib/utils/toasts.js.map +1 -1
  479. package/dist/lib/utils/twap.d.ts +24 -0
  480. package/dist/lib/utils/twap.d.ts.map +1 -0
  481. package/dist/lib/utils/twap.js +52 -0
  482. package/dist/lib/utils/twap.js.map +1 -0
  483. package/dist/lib/web3/privy/config.js +1 -1
  484. package/dist/lib/web3/privy/config.js.map +1 -1
  485. package/dist/lib/web3/wagmi/config.js +1 -1
  486. package/dist/lib/web3/wagmi/config.js.map +1 -1
  487. package/dist/styles.css +65 -4
  488. package/dist/tokens/constants.d.ts.map +1 -1
  489. package/dist/tokens/constants.js +9 -9
  490. package/dist/tokens/constants.js.map +1 -1
  491. package/dist/tokens/defaultTokens.js +17 -17
  492. package/dist/tokens/defaultTokens.js.map +1 -1
  493. package/dist/tokens/lists/constants.d.ts +1 -1
  494. package/dist/tokens/lists/constants.d.ts.map +1 -1
  495. package/dist/tokens/lists/constants.js +1 -1
  496. package/dist/tokens/lists/constants.js.map +1 -1
  497. package/dist/transactions/types.d.ts +3 -3
  498. package/dist/transactions/types.d.ts.map +1 -1
  499. package/package.json +2 -2
  500. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +0 -4
  501. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +0 -1
  502. package/dist/hooks/swap/prices/delta/queries/utils.js +0 -16
  503. package/dist/hooks/swap/prices/delta/queries/utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTwapFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useTwapFlow.ts"],"sourcesContent":["import { type BridgePrice, type DeltaPrice } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type Address, type Hash, type TransactionReceipt } from \"viem\";\nimport { deltaOrdersQueryKey } from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useTwapReceiverAddressValue } from \"@/core/twap/state/twapReceiverAddressAtom\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport type { OrderSentObject } from \"@/lib/utils/toasts\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { useLogger } from \"@/core/logger\";\nimport {\n isBridgePrice,\n useSubscribeToDeltaPrice,\n} from \"../prices/delta/queries/useDeltaPriceQuery\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { shouldApproveOrBatch } from \"./common/usePreSignAndSubmitDeltaOrder\";\nimport { getSwapSideFromDeltaPrice } from \"../prices/delta/orders/utils\";\nimport type { DeltaOrBridgePrice } from \"../prices/types\";\n\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useCancelOrWithdrawAndCancelDeltaOrder } from \"../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport type { CancelDeltaOrdersReturn } from \"../prices/delta/mutations/useCancelDeltaOrders\";\n\nimport { useTwapPrices } from \"../prices/useTwapPrices\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport {\n useTwapDuration,\n useTwapSlippage,\n} from \"@/core/twap/state/twapParamsAtom\";\nimport {\n useCreateAndSubmitTwapOrder,\n type CreateAndSubmitTwapOrderInput,\n} from \"../prices/delta/mutations/twap/useCreateTwapOrder\";\nimport type {\n DeltaAuctionWithTwapOrder,\n NullableDeltaAuctionWithTwapOrder,\n} from \"../prices/delta/orders/types\";\nimport type { BuildTWAPSellOrBuySpecificParams } from \"../prices/delta/mutations/types\";\nimport {\n getTwapAmountsFromPrice,\n produceTwapDeadlines,\n} from \"@/lib/utils/twap\";\nimport {\n usePreSignAndSubmitTwapOrder,\n type TwapOrderPreSignResult,\n} from \"../prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder\";\nimport {\n useDepositAndSubmitTwapOrder,\n type TwapOrderDepositResult,\n} from \"../prices/delta/mutations/twap/useDepositAndSubmitTwapOrder\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { DEFAULT_DELTA_BRIDGE } from \"../prices/delta/bridge/const\";\n\nconst twapOrderFlowType = \"twapOrder\";\n\nexport type UseTwapFlowInput = {\n twapPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitTwapOrderResult = {\n tradeFlowType: typeof twapOrderFlowType;\n approve: SubmitTxResult;\n twapOrder: {\n sentOrder: DeltaAuctionWithTwapOrder;\n };\n twapPrice: DeltaPrice | BridgePrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\ntype RunTwapOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\n};\n\ntype TwapOrderSubmissionResult = {\n order?: DeltaAuctionWithTwapOrder;\n isCreatingOrder: boolean;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype TwapOrderExecutionResult = {\n sentOrder?: DeltaAuctionWithTwapOrder;\n lastOrderState?: NullableDeltaAuctionWithTwapOrder;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype TwapOrderCancelationResult = {\n receipt?: TransactionReceipt;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\nexport type UseTwapFlowResult = {\n tradeFlowType: typeof twapOrderFlowType;\n chainId: SupportedChainId;\n runTwapOrderFlow: (\n options?: RunTwapOrderOptions\n ) => Promise<SubmitTwapOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (options?: RunTwapOrderOptions) => Promise<SubmitTwapOrderResult>; // reset and retry flow\n cancelTwapOrder: () => Promise<TransactionReceipt | CancelDeltaOrdersReturn>;\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n twapOrderPreSign: TwapOrderPreSignResult;\n twapOrderDeposit: TwapOrderDepositResult;\n // submission represents either normal signing and POSTing of Order or pre-signing (in a tx) and POSTing\n twapOrderSubmission: TwapOrderSubmissionResult;\n twapOrderExecution: TwapOrderExecutionResult;\n twapOrderCancelation: TwapOrderCancelationResult;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitTwapOrderResult;\n usedPrice?: DeltaPrice | BridgePrice;\n freshPrice?: DeltaPrice | BridgePrice;\n submittedTwapOrder?: DeltaAuctionWithTwapOrder;\n};\n\nconst TWAP_ORDER_MUTATION_KEY = \"runTwapOrderFlow\";\n\nexport function useTwapFlow({\n twapPrice: _twapPrice,\n}: UseTwapFlowInput): UseTwapFlowResult {\n const logger = useLogger(\"TwapFlow\");\n\n const {\n queryKey,\n price,\n chainId,\n refetch,\n totalSrcAmount,\n side: sideFromPrices,\n numSlices,\n } = useTwapPrices({ enabled: false });\n\n const twapPrice: DeltaOrBridgePrice | undefined = price || _twapPrice;\n\n const twapSideFromInput = useTwapSide();\n\n const twapSide = sideFromPrices || twapSideFromInput;\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom\n 2.1. submit Approve tx if necessary\n\n 2.2. sign Permit1\n\n 3. await Approve tx (if not using Permit)\n */\n\n const {\n approval,\n signPermit,\n approveTxMut,\n signPermitMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: twapPrice?.srcToken,\n srcAmount: totalSrcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: twapSide,\n tradeMode: \"twap\",\n chainId,\n tryPermit2: false,\n });\n\n /* 4.1. Build and Submit Twap Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n const queryClient = useQueryClient();\n\n const createAndSubmitOrderMut = useCreateAndSubmitTwapOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Twap Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Twap Order error\", error);\n },\n },\n });\n\n const twapOrderCreateAndSubmit: UseTwapFlowResult[\"twapOrderSubmission\"] = {\n order: createAndSubmitOrderMut.order,\n isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,\n isPostingOrder: createAndSubmitOrderMut.isPostingOrder,\n isOrderSent: createAndSubmitOrderMut.isOrderSent,\n isPending: createAndSubmitOrderMut.isPending,\n isError: createAndSubmitOrderMut.isError,\n isSuccess: createAndSubmitOrderMut.isSuccess,\n error: createAndSubmitOrderMut.error,\n };\n\n /* 4.2.\n 1. submit Batch tx (Approve + Twap pre-sign)\n 2. await Batch tx\n 3. post Pre-signed Order\n */\n\n const {\n twapOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitTwapOrder,\n reset: resetPreSignAndSubmitTwapOrder,\n } = usePreSignAndSubmitTwapOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n const {\n twapOrderDeposit,\n reset: resetDepositAndSubmitTwapOrder,\n depositAndSubmitTwapOrder,\n } = useDepositAndSubmitTwapOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n /* final Twap Order submission for step 4 */\n const twapOrderSubmission: UseTwapFlowResult[\"twapOrderSubmission\"] = {\n order:\n twapOrderCreateAndSubmit.order ||\n twapOrderPreSign.order ||\n twapOrderDeposit.order,\n isPostingOrder:\n twapOrderCreateAndSubmit.isPostingOrder ||\n twapOrderPreSign.postingOrder.isPostingOrder ||\n twapOrderDeposit.postingOrder.isPostingOrder,\n isCreatingOrder:\n twapOrderCreateAndSubmit.isCreatingOrder ||\n twapOrderPreSign.isCreatingOrder ||\n twapOrderDeposit.isCreatingOrder,\n isOrderSent:\n twapOrderCreateAndSubmit.isOrderSent ||\n twapOrderPreSign.isOrderSent ||\n twapOrderDeposit.isOrderSent,\n isPending:\n twapOrderCreateAndSubmit.isPending ||\n twapOrderPreSign.isPending ||\n twapOrderDeposit.isPending,\n isError:\n twapOrderCreateAndSubmit.isError ||\n twapOrderPreSign.isError ||\n twapOrderDeposit.isError,\n isSuccess:\n twapOrderCreateAndSubmit.isSuccess ||\n twapOrderPreSign.isSuccess ||\n twapOrderDeposit.isSuccess,\n error:\n twapOrderCreateAndSubmit.error ||\n twapOrderPreSign.error ||\n twapOrderDeposit.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution =\n useWatchDeltaAuction<NullableDeltaAuctionWithTwapOrder>({\n orderId: twapOrderSubmission.order?.id,\n onAuctionSuccess: (order) => {\n logger.log(\"Twap Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Twap Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Twap Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n logger.log(\"Twap Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const twapOrderExecution: UseTwapFlowResult[\"twapOrderExecution\"] = {\n sentOrder: twapOrderSubmission.order,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: twapOrderExecution.lastOrderState || twapOrderExecution.sentOrder,\n chainId,\n account,\n client: minClient,\n logger,\n });\n\n const twapOrderCancelation: UseTwapFlowResult[\"twapOrderCancelation\"] = {\n receipt: cancelOrderMut.receipt,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCancellable: cancelOrderMut.isOrderCancellable,\n isOrderCanceled: cancelOrderMut.isSuccess,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError,\n isSuccess: cancelOrderMut.isSuccess,\n error: cancelOrderMut.error,\n };\n\n const ensureOrderExecuted =\n useEnsureDeltaOrderExecuted<NullableDeltaAuctionWithTwapOrder>({\n onAuctionSuccess: (order) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onAuctionFailure: (order) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n });\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n const usingPriceRef = useRef<DeltaPrice | BridgePrice | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n\n usingPriceRef.current = null;\n };\n\n const receiverAddress = useTwapReceiverAddressValue();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const { partner, partnerAddress, partnerFeeBps, partnerTakesSurplus } =\n usePartner();\n\n const subscribeToPrice = useSubscribeToDeltaPrice();\n\n const { onTwapOrder } = useWidgetEvents();\n\n const degenMode = useDegenMode();\n\n const twapSlippage = useTwapSlippage();\n const twapDurationMin = useTwapDuration();\n\n const submitTwapOrder = async ({\n onTxSent,\n onOrderSent,\n lastPrice,\n }: RunTwapOrderOptions & {\n lastPrice?: DeltaPrice | BridgePrice | null;\n } = {}): Promise<SubmitTwapOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitTwapOrder();\n resetDepositAndSubmitTwapOrder();\n\n // no sense in starting flow without a price,\n // which may be unavailable only if we are retrying and twapPrice response now returns an error.\n // Otherwise this flow will be stopped by disabling Swap button in the first place\n assert(twapPrice, \"Twap price is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n const { orderDeadline, orderInterval } = produceTwapDeadlines({\n durationMin: twapDurationMin,\n numSlices,\n });\n\n const orderSlippageBps = Math.floor(twapSlippage * 100);\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n const allowanceToPermit = signPermit.amountToPermit;\n // we use this allowance as a max allowance we will accept new prices for\n\n // twapPrice here is the starting price, available before async code and waiting\n let freshPrice = twapPrice;\n if (freshPrice.hmac === lastPrice?.hmac) {\n // we are resubmitting the Twap order, because it failed the last time,\n // but the price hasn't updated yet, so force refetch,\n // comparing raw prices here before mutating to select by bridge preference\n const newPriceResult = await refetch({\n cancelRefetch: false,\n });\n // check if cancelled during refetch\n signal.throwIfAborted();\n\n if (newPriceResult.data) {\n freshPrice = newPriceResult.data;\n }\n }\n let unsubscribeFromPrice: (() => void) | undefined;\n // this also resets previous usingPriceRef\n usingPriceRef.current = freshPrice;\n\n const shouldDepositAndPreSign =\n // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,\n // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits\n isETHaddress(freshPrice.srcToken);\n\n /*\n if connected to Safe, or needs to approve a token with a tx, or needs to pre-wrap ETH\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (wrapETH?+Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially wrap ETH and then Approve Token (tx, not Permit),\n and then sign Order, basically has to make at least one tx, does only one action as well.\n */\n const { shouldDoApprovalTxOrPermit, tryPermit, shouldPreSignBatch } =\n shouldApproveOrBatch({\n approval,\n signPermit,\n canBatchTxs,\n isConnectedToSafe,\n });\n\n try {\n if (shouldDoApprovalTxOrPermit && allowanceToSet) {\n // queryKey used to fetch the current price,\n // it will be used for the subsequent price refetches as long as price params not changed\n const _queryKey = queryKey;\n\n // should always be available\n if (_queryKey) {\n // freeze allowanceToSet\n const approvedAmount = allowanceToSet;\n\n // subscribe to price updates to keep track of new prices for the same price params,\n // independently of the hook itself\n unsubscribeFromPrice = subscribeToPrice({\n queryKey: _queryKey,\n onData: (price) => {\n const newPrice: DeltaOrBridgePrice = price;\n\n if (signal.aborted) {\n // just in case unsubscribe in finally is not yet called\n // for the queued update with the price from an already cancelled flow\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n return;\n }\n\n const { srcAmount: totalSrcAmount } = getTwapAmountsFromPrice({\n price: newPrice,\n numSlices,\n });\n\n // if new price fits into allowance, update it\n if (approvedAmount >= BigInt(totalSrcAmount)) {\n // add this check to resubmit flow\n logger.log(\"~ fresh price ~\", newPrice);\n freshPrice = newPrice;\n usingPriceRef.current = freshPrice;\n }\n },\n });\n }\n\n try {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n } else {\n approveOrPermitEvents.onSignPermit.request({\n allowanceToSet: allowanceToPermit,\n });\n\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n deadline: BigInt(orderDeadline),\n value: allowanceToPermit,\n });\n\n approveOrPermitEvents.onSignPermit.confirmed({\n allowanceToSet: allowanceToPermit,\n permit: signedPermitResult?.permitEncodedArgs,\n });\n }\n } catch (error) {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n } else {\n approveOrPermitEvents.onSignPermit.failed({\n allowanceToSet: allowanceToPermit,\n error: error as Error,\n });\n }\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n // as long as we had set approvedAmount, we will only get new prices that satisfy the allowance\n const twapPriceToUse = freshPrice;\n usingPriceRef.current = twapPriceToUse;\n\n // no longer need updates, unsubscribe\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n\n assert(twapPriceToUse, \"Twap price is not available\");\n const twapSide = getSwapSideFromDeltaPrice(twapPriceToUse);\n const { srcAmount: totalSrcAmount, destAmount: totalDestAmount } =\n getTwapAmountsFromPrice({ price: twapPriceToUse, numSlices });\n\n const permit = signedPermitResult?.permitEncodedArgs;\n\n const destChainId = isBridgePrice(twapPriceToUse)\n ? twapPriceToUse.bridge.destinationChainId\n : chainId;\n\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:request\",\n params: {\n price: twapPriceToUse,\n },\n },\n });\n\n let orderFromAPI: DeltaAuctionWithTwapOrder;\n let sellOrBuyParams: BuildTWAPSellOrBuySpecificParams;\n\n if (twapSide === \"SELL\") {\n sellOrBuyParams = {\n onChainOrderType: \"TWAPOrder\",\n totalSrcAmount,\n // SDK adds destAmountPerSlice internally with slippage applied\n };\n } else {\n sellOrBuyParams = {\n onChainOrderType: \"TWAPBuyOrder\",\n totalDestAmount,\n // SDK applies slippage to maxSrcAmount internally\n maxSrcAmount: totalSrcAmount,\n };\n }\n\n const createOrderInput: CreateAndSubmitTwapOrderInput = {\n signal,\n type: \"MARKET\",\n degenMode,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: twapPriceToUse.srcToken,\n destToken: twapPriceToUse.destToken,\n permit,\n destChainId,\n deltaPrice: {\n ...twapPriceToUse,\n bridge: {\n ...twapPriceToUse.bridge,\n // TWAP: pass nullified protocolSelector\n protocolSelector: DEFAULT_DELTA_BRIDGE.protocolSelector,\n // SDK nullifies protocolData internally\n },\n partner,\n },\n\n partner,\n partnerAddress,\n partnerFeeBps,\n partnerTakesSurplus,\n\n deadline: orderDeadline,\n\n // twap specific params\n ...sellOrBuyParams,\n numSlices: numSlices,\n slippage: orderSlippageBps,\n interval: orderInterval,\n },\n };\n\n if (shouldDepositAndPreSign) {\n const depositAmount = getDepositAmount(sellOrBuyParams, twapSlippage);\n // deposit ETH + depositTx + POST order\n orderFromAPI = await depositAndSubmitTwapOrder({\n createOrderInput,\n depositAmount,\n onTxSent,\n });\n } else if (shouldPreSignBatch) {\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3. construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n orderFromAPI = await preSignAndSubmitTwapOrder({\n createOrderInput,\n approval,\n onTxSent,\n });\n } else {\n // creating signing and POSTing the Order all together in one mutation\n orderFromAPI =\n await createAndSubmitOrderMut.mutateAsync(createOrderInput);\n }\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:sent\",\n params: {\n price: twapPriceToUse,\n order: orderFromAPI,\n },\n },\n });\n\n // will refetch Order on interval until completed.\n // in parallel with useWatchDeltaAuction but independently if useWatchDeltaAuction is unmounted\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted, don't use\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\n });\n }\n\n // no use aborting past this point, Order is already being processed\n\n return {\n tradeFlowType: twapOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n twapOrder: {\n sentOrder: orderFromAPI,\n },\n twapPrice: twapPriceToUse,\n account,\n receiverAddress,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:failed\",\n params: {\n error: error as Error,\n },\n },\n });\n\n throw error;\n } finally {\n // always unsubscribe if subscribed previously\n unsubscribeFromPrice?.();\n }\n };\n\n const cancelTwapOrder = cancelOrderMut.cancelDeltaOrder;\n\n const twapOrderMut = useMutation({\n mutationFn: submitTwapOrder,\n mutationKey: [TWAP_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Twap Order success\", data);\n },\n onError: (error) => {\n logger.error(\"Twap Order error\", error);\n },\n onSettled: () => {\n logger.log(\"Twap Order settled\");\n },\n });\n\n const runTwapOrderFlow = twapOrderMut.mutateAsync;\n\n const reset = () => {\n usingPriceRef.current = null;\n\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n twapOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitTwapOrder();\n resetDepositAndSubmitTwapOrder();\n };\n\n const retryFlow = (\n options?: RunTwapOrderOptions\n ): Promise<SubmitTwapOrderResult> => {\n const lastPrice = usingPriceRef.current;\n reset();\n return runTwapOrderFlow({ ...options, lastPrice });\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice: typeof twapPrice = usingPriceRef.current || twapPrice;\n\n const result = twapOrderMut.data;\n\n /**\n * priority:\n * 1. sentOrder = just sent Order from final result\n * 2. twapOrderExecution.lastOrderState = updated sent Order from watchOrderExecution (intermediate result)\n * 3. twapOrderExecution.sentOrder = just sent Order from watchOrderExecution (intermediate result)\n */\n const submittedTwapOrder: DeltaAuctionWithTwapOrder | undefined =\n result?.twapOrder.sentOrder ||\n twapOrderExecution.lastOrderState ||\n twapOrderExecution.sentOrder;\n\n /* 6. return result */\n return {\n tradeFlowType: twapOrderFlowType,\n chainId,\n runTwapOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelTwapOrder,\n approval,\n signPermit,\n twapOrderPreSign: twapOrderPreSign,\n twapOrderDeposit: twapOrderDeposit,\n twapOrderSubmission,\n twapOrderExecution,\n twapOrderCancelation,\n // twapOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: twapOrderMut.isPending,\n isSuccess: twapOrderSubmission.isSuccess && twapOrderExecution.isSuccess, // approval is an optional step\n isError: twapOrderMut.isError,\n error: twapOrderMut.error,\n result,\n usedPrice,\n freshPrice: twapPrice,\n submittedTwapOrder,\n };\n}\n\nfunction getDepositAmount(\n params: BuildTWAPSellOrBuySpecificParams,\n slippage: number\n) {\n if (\"totalSrcAmount\" in params) {\n return params.totalSrcAmount;\n }\n return amountAfterSlippage(params.maxSrcAmount, slippage, \"BUY\").toFixed(0);\n}\n"],"names":["twapOrderFlowType","TWAP_ORDER_MUTATION_KEY","useTwapFlow","twapPrice","_twapPrice","logger","useLogger","queryKey","price","chainId","refetch","totalSrcAmount","side","sideFromPrices","numSlices","useTwapPrices","enabled","twapSideFromInput","useTwapSide","twapSide","approval","signPermit","approveTxMut","signPermitMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcAmount","spenderContractType","swapSide","tradeMode","tryPermit2","address","account","useAccount","minClient","useMinViemClient","queryClient","useQueryClient","createAndSubmitOrderMut","useCreateAndSubmitTwapOrder","client","mutationOptions","onSuccess","order","log","onError","error","twapOrderCreateAndSubmit","isCreatingOrder","isPostingOrder","isOrderSent","isPending","isError","isSuccess","twapOrderPreSign","canBatchTxs","isConnectedToSafe","preSignAndSubmitTwapOrder","reset","resetPreSignAndSubmitTwapOrder","usePreSignAndSubmitTwapOrder","viemClient","twapOrderDeposit","resetDepositAndSubmitTwapOrder","depositAndSubmitTwapOrder","useDepositAndSubmitTwapOrder","twapOrderSubmission","postingOrder","watchOrderExecution","useWatchDeltaAuction","orderId","id","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","onTimeoutGettingOrder","orderStatus","data","getOverallOrderStatus","neverFetchedFinishedOrder","twapOrderExecution","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","isLoading","isRefetching","cancelOrderMut","useCancelOrWithdrawAndCancelDeltaOrder","twapOrderCancelation","receipt","isCancelingOrder","isOrderCancellable","isOrderCanceled","ensureOrderExecuted","useEnsureDeltaOrderExecuted","invalidateQueries","deltaOrdersQueryKey","userAddress","user","exact","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","usingPriceRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useTwapReceiverAddressValue","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","partner","partnerAddress","partnerFeeBps","partnerTakesSurplus","usePartner","subscribeToPrice","useSubscribeToDeltaPrice","onTwapOrder","useWidgetEvents","degenMode","useDegenMode","twapSlippage","useTwapSlippage","twapDurationMin","useTwapDuration","submitTwapOrder","onTxSent","onOrderSent","lastPrice","assert","abortController","AbortController","signal","orderDeadline","orderInterval","produceTwapDeadlines","durationMin","orderSlippageBps","Math","floor","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","freshPrice","hmac","newPriceResult","cancelRefetch","throwIfAborted","unsubscribeFromPrice","shouldDepositAndPreSign","isETHaddress","shouldDoApprovalTxOrPermit","tryPermit","shouldPreSignBatch","shouldApproveOrBatch","_queryKey","approvedAmount","onData","newPrice","aborted","undefined","getTwapAmountsFromPrice","BigInt","onApproveTx","request","approveAsync","allowanceData","sent","txHash","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","deadline","value","permit","permitEncodedArgs","failed","twapPriceToUse","getSwapSideFromDeltaPrice","destAmount","totalDestAmount","destChainId","isBridgePrice","bridge","destinationChainId","event","name","params","orderFromAPI","sellOrBuyParams","onChainOrderType","maxSrcAmount","createOrderInput","type","orderInput","owner","beneficiary","destToken","deltaPrice","protocolSelector","DEFAULT_DELTA_BRIDGE","slippage","interval","depositAmount","getDepositAmount","mutateAsync","signedPermitData","lastOrderStatePromise","tradeFlowType","approve","twapOrder","cancelTwapOrder","cancelDeltaOrder","twapOrderMut","useMutation","mutationFn","mutationKey","onSettled","runTwapOrderFlow","retryFlow","options","usedPrice","result","submittedTwapOrder","amountAfterSlippage","toFixed"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { GenericStep, TwapOrderStep, TwapOrderStepKey } from '../../../components/widget/TradeOverview/steps';
2
+ import { SubmitTwapOrderResult, UseTwapFlowInput, UseTwapFlowResult } from './useTwapFlow';
3
+ type UseTwapSwapStepResult = {
4
+ startTwapSwap: UseTwapFlowResult["runTwapOrderFlow"];
5
+ cancelTwapOrder: UseTwapFlowResult["cancelTwapOrder"];
6
+ reset: UseTwapFlowResult["reset"];
7
+ cancelFlow: UseTwapFlowResult["cancelFlow"];
8
+ retryFlow: UseTwapFlowResult["retryFlow"];
9
+ goToBeforeSwap: () => void;
10
+ isFlowCancellable: boolean;
11
+ isOrderCancellable: boolean;
12
+ step?: TwapOrderStep;
13
+ orderCancellationStep?: GenericStep;
14
+ isNonFlowStep: boolean;
15
+ explorerLink?: string;
16
+ error: Error | null;
17
+ erroredStep?: TwapOrderStepKey;
18
+ result?: SubmitTwapOrderResult;
19
+ usedPrice: UseTwapFlowResult["usedPrice"];
20
+ submittedTwapOrder?: UseTwapFlowResult["submittedTwapOrder"];
21
+ tradeFlowType: UseTwapFlowResult["tradeFlowType"];
22
+ };
23
+ export declare function useTwapSwapStep(options: UseTwapFlowInput): UseTwapSwapStepResult;
24
+ export {};
25
+ //# sourceMappingURL=useTwapSwapStep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTwapSwapStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useTwapSwapStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,aAAa,EACb,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAMvB,KAAK,qBAAqB,GAAG;IAC3B,aAAa,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACrD,eAAe,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAEtD,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,qBAAqB,CAAC,EAAE,WAAW,CAAC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1C,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC7D,aAAa,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;CACnD,CAAC;AAEF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,GACxB,qBAAqB,CA8KvB"}
@@ -0,0 +1,237 @@
1
+ import { d as distExports } from '../../../_virtual/index.js';
2
+ import { useTwapFlow } from './useTwapFlow.js';
3
+ import { useLogger } from '../../../core/logger.js';
4
+ import { constructExplorerOrderDetailsLink } from '../../../lib/utils/explorer.js';
5
+ import { isUserCancelledError } from './common/errors.js';
6
+ import { useState } from 'react';
7
+
8
+ function useTwapSwapStep(options) {
9
+ const $ = distExports.c(42);
10
+ const logger = useLogger("TwapSwapStep");
11
+ const twapFlow = useTwapFlow(options);
12
+ const startTwapSwap = twapFlow.runTwapOrderFlow;
13
+ const cancelTwapOrder = twapFlow.cancelTwapOrder;
14
+ const reset = twapFlow.reset;
15
+ const cancelFlow = twapFlow.cancelFlow;
16
+ const retryFlow = twapFlow.retryFlow;
17
+ let step;
18
+ const permitSigningHappeningOrNeverHappened = twapFlow.signPermit.isPending || !twapFlow.signPermit.isPermitSigned;
19
+ const approvalHappeningOrNeverHappened = twapFlow.approval.isPending || !twapFlow.approval.isSuccess;
20
+ const willUsePermit = twapFlow.approval.needsApproval && twapFlow.signPermit.isPermitSupported && twapFlow.signPermit.isPermitReadyToSign;
21
+ const permitOrApprovalHappeningOrNeverHappened = willUsePermit ? permitSigningHappeningOrNeverHappened : approvalHappeningOrNeverHappened;
22
+ if (twapFlow.approval.needsApproval && permitOrApprovalHappeningOrNeverHappened) {
23
+ step = {
24
+ key: "signature",
25
+ subStep: "approval-signature"
26
+ };
27
+ } else {
28
+ if (twapFlow.twapOrderSubmission.isPending) {
29
+ const permitOrApprovalHappened = !!(twapFlow.approval.txHash || twapFlow.signPermit.signature);
30
+ step = {
31
+ key: "signature",
32
+ subStep: permitOrApprovalHappened ? "order-signature" : "standalone-order-signature"
33
+ };
34
+ } else {
35
+ if (twapFlow.isPending) {
36
+ step = {
37
+ key: "signature",
38
+ subStep: "standalone-order-signature"
39
+ };
40
+ }
41
+ }
42
+ }
43
+ const approvalIsStarted = step?.key === "signature" && step.subStep === "approval-signature" && twapFlow.approval.isTxPending;
44
+ const isOrderBeingSigned = step?.key === "signature" && (step.subStep === "order-signature" || step.subStep === "standalone-order-signature");
45
+ const isPostingOrder = twapFlow.twapOrderSubmission.isPostingOrder;
46
+ const isFlowCancellable = (approvalIsStarted || isOrderBeingSigned) && !isPostingOrder;
47
+ const isOrderCancellable = twapFlow.twapOrderCancelation.isOrderCancellable;
48
+ const orderId = twapFlow.twapOrderSubmission.order?.id;
49
+ const explorerLink = orderId ? constructExplorerOrderDetailsLink(orderId) : void 0;
50
+ const [nonFlowStep, setNonFlowStep] = useState(null);
51
+ let t0;
52
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
53
+ t0 = () => {
54
+ setNonFlowStep({
55
+ key: "prepare-swap"
56
+ });
57
+ };
58
+ $[0] = t0;
59
+ } else {
60
+ t0 = $[0];
61
+ }
62
+ const goToBeforeSwap = t0;
63
+ let t1;
64
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
65
+ t1 = () => {
66
+ setNonFlowStep(null);
67
+ };
68
+ $[1] = t1;
69
+ } else {
70
+ t1 = $[1];
71
+ }
72
+ const resetStepOverride = t1;
73
+ step = nonFlowStep || step;
74
+ const isNonFlowStep = !!nonFlowStep;
75
+ logger.once.log("step", step, twapFlow, {
76
+ isFlowCancellable,
77
+ explorerLink,
78
+ orderId
79
+ });
80
+ let t2;
81
+ if ($[2] !== twapFlow.error) {
82
+ t2 = isUserCancelledError(twapFlow.error) ? null : twapFlow.error;
83
+ $[2] = twapFlow.error;
84
+ $[3] = t2;
85
+ } else {
86
+ t2 = $[3];
87
+ }
88
+ const error = t2;
89
+ let erroredStep;
90
+ if (twapFlow.isError) {
91
+ if (twapFlow.approval.isError || twapFlow.signPermit.isError) {
92
+ erroredStep = "signature";
93
+ } else {
94
+ if (twapFlow.twapOrderSubmission.isError) {
95
+ erroredStep = "order-submission";
96
+ }
97
+ }
98
+ }
99
+ let orderCancellationStep;
100
+ if (twapFlow.twapOrderCancelation.isCancelingOrder) {
101
+ orderCancellationStep = "pending";
102
+ } else {
103
+ if (twapFlow.twapOrderCancelation.isOrderCanceled) {
104
+ orderCancellationStep = "success";
105
+ } else {
106
+ if (twapFlow.twapOrderCancelation.isError) {
107
+ orderCancellationStep = "error";
108
+ }
109
+ }
110
+ }
111
+ let t3;
112
+ if ($[4] !== error || $[5] !== erroredStep || $[6] !== explorerLink || $[7] !== isFlowCancellable || $[8] !== isNonFlowStep || $[9] !== isOrderCancellable || $[10] !== twapFlow.freshPrice || $[11] !== twapFlow.result || $[12] !== twapFlow.submittedTwapOrder || $[13] !== twapFlow.usedPrice) {
113
+ t3 = isNonFlowStep ? {
114
+ usedPrice: twapFlow.freshPrice,
115
+ isFlowCancellable: false,
116
+ isOrderCancellable: false,
117
+ error: null
118
+ } : {
119
+ result: twapFlow.result,
120
+ usedPrice: twapFlow.usedPrice,
121
+ submittedTwapOrder: twapFlow.submittedTwapOrder,
122
+ erroredStep,
123
+ error,
124
+ isFlowCancellable,
125
+ isOrderCancellable,
126
+ explorerLink
127
+ };
128
+ $[4] = error;
129
+ $[5] = erroredStep;
130
+ $[6] = explorerLink;
131
+ $[7] = isFlowCancellable;
132
+ $[8] = isNonFlowStep;
133
+ $[9] = isOrderCancellable;
134
+ $[10] = twapFlow.freshPrice;
135
+ $[11] = twapFlow.result;
136
+ $[12] = twapFlow.submittedTwapOrder;
137
+ $[13] = twapFlow.usedPrice;
138
+ $[14] = t3;
139
+ } else {
140
+ t3 = $[14];
141
+ }
142
+ const resultProps = t3;
143
+ let t4;
144
+ if ($[15] !== resetStepOverride || $[16] !== startTwapSwap) {
145
+ t4 = (options_0) => {
146
+ resetStepOverride();
147
+ return startTwapSwap(options_0);
148
+ };
149
+ $[15] = resetStepOverride;
150
+ $[16] = startTwapSwap;
151
+ $[17] = t4;
152
+ } else {
153
+ t4 = $[17];
154
+ }
155
+ let t5;
156
+ if ($[18] !== cancelTwapOrder || $[19] !== resetStepOverride) {
157
+ t5 = () => {
158
+ resetStepOverride();
159
+ return cancelTwapOrder();
160
+ };
161
+ $[18] = cancelTwapOrder;
162
+ $[19] = resetStepOverride;
163
+ $[20] = t5;
164
+ } else {
165
+ t5 = $[20];
166
+ }
167
+ let t6;
168
+ if ($[21] !== reset || $[22] !== resetStepOverride) {
169
+ t6 = () => {
170
+ resetStepOverride();
171
+ return reset();
172
+ };
173
+ $[21] = reset;
174
+ $[22] = resetStepOverride;
175
+ $[23] = t6;
176
+ } else {
177
+ t6 = $[23];
178
+ }
179
+ let t7;
180
+ if ($[24] !== cancelFlow || $[25] !== resetStepOverride) {
181
+ t7 = () => {
182
+ resetStepOverride();
183
+ return cancelFlow();
184
+ };
185
+ $[24] = cancelFlow;
186
+ $[25] = resetStepOverride;
187
+ $[26] = t7;
188
+ } else {
189
+ t7 = $[26];
190
+ }
191
+ let t8;
192
+ if ($[27] !== resetStepOverride || $[28] !== retryFlow) {
193
+ t8 = (options_1) => {
194
+ resetStepOverride();
195
+ return retryFlow(options_1);
196
+ };
197
+ $[27] = resetStepOverride;
198
+ $[28] = retryFlow;
199
+ $[29] = t8;
200
+ } else {
201
+ t8 = $[29];
202
+ }
203
+ let t9;
204
+ if ($[30] !== goToBeforeSwap || $[31] !== isNonFlowStep || $[32] !== orderCancellationStep || $[33] !== resultProps || $[34] !== step || $[35] !== t4 || $[36] !== t5 || $[37] !== t6 || $[38] !== t7 || $[39] !== t8 || $[40] !== twapFlow.tradeFlowType) {
205
+ t9 = {
206
+ startTwapSwap: t4,
207
+ cancelTwapOrder: t5,
208
+ reset: t6,
209
+ cancelFlow: t7,
210
+ retryFlow: t8,
211
+ goToBeforeSwap,
212
+ step,
213
+ orderCancellationStep,
214
+ isNonFlowStep,
215
+ ...resultProps,
216
+ tradeFlowType: twapFlow.tradeFlowType
217
+ };
218
+ $[30] = goToBeforeSwap;
219
+ $[31] = isNonFlowStep;
220
+ $[32] = orderCancellationStep;
221
+ $[33] = resultProps;
222
+ $[34] = step;
223
+ $[35] = t4;
224
+ $[36] = t5;
225
+ $[37] = t6;
226
+ $[38] = t7;
227
+ $[39] = t8;
228
+ $[40] = twapFlow.tradeFlowType;
229
+ $[41] = t9;
230
+ } else {
231
+ t9 = $[41];
232
+ }
233
+ return t9;
234
+ }
235
+
236
+ export { useTwapSwapStep };
237
+ //# sourceMappingURL=useTwapSwapStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTwapSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useTwapSwapStep.ts"],"sourcesContent":["import type {\n GenericStep,\n NonFlowStep,\n TwapOrderStep,\n TwapOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useTwapFlow,\n type SubmitTwapOrderResult,\n type UseTwapFlowInput,\n type UseTwapFlowResult,\n} from \"./useTwapFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { isUserCancelledError } from \"./common/errors\";\nimport { useState } from \"react\";\n\ntype UseTwapSwapStepResult = {\n startTwapSwap: UseTwapFlowResult[\"runTwapOrderFlow\"];\n cancelTwapOrder: UseTwapFlowResult[\"cancelTwapOrder\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseTwapFlowResult[\"reset\"];\n cancelFlow: UseTwapFlowResult[\"cancelFlow\"];\n retryFlow: UseTwapFlowResult[\"retryFlow\"];\n goToBeforeSwap: () => void;\n isFlowCancellable: boolean;\n isOrderCancellable: boolean;\n step?: TwapOrderStep;\n orderCancellationStep?: GenericStep;\n isNonFlowStep: boolean;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: TwapOrderStepKey;\n result?: SubmitTwapOrderResult;\n usedPrice: UseTwapFlowResult[\"usedPrice\"];\n submittedTwapOrder?: UseTwapFlowResult[\"submittedTwapOrder\"];\n tradeFlowType: UseTwapFlowResult[\"tradeFlowType\"];\n};\n\nexport function useTwapSwapStep(\n options: UseTwapFlowInput\n): UseTwapSwapStepResult {\n const logger = useLogger(\"TwapSwapStep\");\n const twapFlow = useTwapFlow(options);\n\n const startTwapSwap = twapFlow.runTwapOrderFlow;\n const cancelTwapOrder = twapFlow.cancelTwapOrder;\n const reset = twapFlow.reset;\n const cancelFlow = twapFlow.cancelFlow;\n const retryFlow = twapFlow.retryFlow;\n\n let step: TwapOrderStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n twapFlow.signPermit.isPending || !twapFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n twapFlow.approval.isPending || !twapFlow.approval.isSuccess;\n\n const willUsePermit =\n twapFlow.approval.needsApproval &&\n twapFlow.signPermit.isPermitSupported &&\n twapFlow.signPermit.isPermitReadyToSign;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n twapFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (twapFlow.twapOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!(\n twapFlow.approval.txHash || twapFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (twapFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n twapFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isPostingOrder = twapFlow.twapOrderSubmission.isPostingOrder;\n\n const isFlowCancellable =\n // final Order is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n (approvalIsStarted || isOrderBeingSigned) && !isPostingOrder;\n\n const isOrderCancellable = twapFlow.twapOrderCancelation.isOrderCancellable;\n\n const orderId = twapFlow.twapOrderSubmission.order?.id;\n const explorerLink = orderId\n ? constructExplorerOrderDetailsLink(orderId)\n : undefined;\n\n const [nonFlowStep, setNonFlowStep] = useState<NonFlowStep | null>(null);\n const goToBeforeSwap = () => {\n setNonFlowStep({ key: \"prepare-swap\" });\n };\n const resetStepOverride = () => {\n setNonFlowStep(null);\n };\n\n step = nonFlowStep || step;\n const isNonFlowStep = !!nonFlowStep;\n\n logger.once.log(\"step\", step, twapFlow, {\n isFlowCancellable,\n explorerLink,\n orderId,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(twapFlow.error) ? null : twapFlow.error;\n\n let erroredStep: TwapOrderStepKey | undefined;\n\n if (twapFlow.isError) {\n if (twapFlow.approval.isError || twapFlow.signPermit.isError) {\n erroredStep = \"signature\";\n } else if (twapFlow.twapOrderSubmission.isError) {\n erroredStep = \"order-submission\";\n }\n }\n\n let orderCancellationStep: GenericStep | undefined;\n if (twapFlow.twapOrderCancelation.isCancelingOrder) {\n orderCancellationStep = \"pending\";\n } else if (twapFlow.twapOrderCancelation.isOrderCanceled) {\n orderCancellationStep = \"success\";\n } else if (twapFlow.twapOrderCancelation.isError) {\n orderCancellationStep = \"error\";\n }\n const resultProps: Pick<\n UseTwapSwapStepResult,\n | \"usedPrice\"\n | \"isFlowCancellable\"\n | \"isOrderCancellable\"\n | \"error\"\n | \"erroredStep\"\n | \"result\"\n | \"submittedTwapOrder\"\n | \"explorerLink\"\n > = isNonFlowStep\n ? {\n // don't return previous data when in non-flow step\n usedPrice: twapFlow.freshPrice,\n isFlowCancellable: false,\n isOrderCancellable: false,\n error: null,\n }\n : {\n result: twapFlow.result,\n usedPrice: twapFlow.usedPrice,\n submittedTwapOrder: twapFlow.submittedTwapOrder, // submitted or updated Twap Order\n erroredStep,\n error,\n isFlowCancellable,\n isOrderCancellable,\n explorerLink,\n };\n\n return {\n startTwapSwap: (options) => {\n resetStepOverride();\n return startTwapSwap(options);\n },\n cancelTwapOrder: () => {\n resetStepOverride();\n return cancelTwapOrder();\n },\n reset: () => {\n resetStepOverride();\n return reset();\n },\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow: () => {\n resetStepOverride();\n return cancelFlow();\n },\n retryFlow: (options) => {\n resetStepOverride();\n return retryFlow(options);\n },\n goToBeforeSwap,\n step,\n orderCancellationStep,\n isNonFlowStep,\n ...resultProps,\n tradeFlowType: twapFlow.tradeFlowType,\n };\n}\n"],"names":["useTwapSwapStep","options","$","_c","logger","useLogger","twapFlow","useTwapFlow","startTwapSwap","runTwapOrderFlow","cancelTwapOrder","reset","cancelFlow","retryFlow","step","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","twapOrderSubmission","permitOrApprovalHappened","txHash","signature","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","isPostingOrder","isFlowCancellable","isOrderCancellable","twapOrderCancelation","orderId","order","id","explorerLink","constructExplorerOrderDetailsLink","undefined","nonFlowStep","setNonFlowStep","useState","t0","Symbol","for","goToBeforeSwap","t1","resetStepOverride","isNonFlowStep","once","log","t2","error","isUserCancelledError","erroredStep","isError","orderCancellationStep","isCancelingOrder","isOrderCanceled","t3","freshPrice","result","submittedTwapOrder","usedPrice","resultProps","t4","options_0","t5","t6","t7","t8","options_1","t9","tradeFlowType"],"mappings":";;;;;;;AAuCO,SAAAA,gBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAGL,EAAA,MAAAC,MAAAA,GAAeC,UAAU,cAAc,CAAA;AACvC,EAAA,MAAAC,QAAAA,GAAiBC,YAAYN,OAAO,CAAA;AAEpC,EAAA,MAAAO,gBAAsBF,QAAAA,CAAQG,gBAAAA;AAC9B,EAAA,MAAAC,kBAAwBJ,QAAAA,CAAQI,eAAAA;AAChC,EAAA,MAAAC,QAAcL,QAAAA,CAAQK,KAAAA;AACtB,EAAA,MAAAC,aAAmBN,QAAAA,CAAQM,UAAAA;AAC3B,EAAA,MAAAC,YAAkBP,QAAAA,CAAQO,SAAAA;AAEtBC,EAAAA,IAAAA,IAAAA;AAEJ,EAAA,MAAAC,wCAGET,QAAAA,CAAQU,UAAAA,CAAWC,SAAAA,IAAnB,CAAkCX,SAAQU,UAAAA,CAAWE,cAAAA;AAEvD,EAAA,MAAAC,mCAGEb,QAAAA,CAAQc,QAAAA,CAASH,SAAAA,IAAjB,CAAgCX,SAAQc,QAAAA,CAASC,SAAAA;AAEnD,EAAA,MAAAC,aAAAA,GACEhB,SAAQc,QAAAA,CAASG,aAAAA,IACjBjB,SAAQU,UAAAA,CAAWQ,iBAAAA,IACnBlB,SAAQU,UAAAA,CAAWS,mBAAAA;AAErB,EAAA,MAAAC,wCAAAA,GAAiDJ,gBAAAP,qCAAAA,GAAAI,gCAAAA;AAIjD,EAAA,IACEb,QAAAA,CAAQc,QAAAA,CAASG,aAAAA,IAAjBG,wCAAAA,EACwC;AAExCZ,IAAAA,IAAAA,GAAOA;AAAAA,MAAAA,GAAAA,EAAOA,WAAAA;AAAAA,MAAWA,OAAAA,EAAWA;AAAAA,KAAqBA;AAAAA,EAArD,CAAA,MAAA;AACC,IAAA,IAAIR,QAAAA,CAAQqB,oBAAoBV,SAAAA,EAAU;AAC/C,MAAA,MAAAW,2BAAiC,CAAC,EAChCtB,SAAQc,QAAAA,CAASS,MAAAA,IAAWvB,SAAQU,UAAAA,CAAWc,SAAAA,CAAAA;AAGjDhB,MAAAA,IAAAA,GAAOA;AAAAA,QAAAA,GAAAA,EACAA,WAAAA;AAAAA,QAAWA,OAAAA,EACPc,2BAAA,iBAAA,GAAA;AAAA,OAGX;AAAA,IALI,CAAA,MAAA;AAMC,MAAA,IAAItB,SAAQW,SAAAA,EAAU;AAG3BH,QAAAA,IAAAA,GAAOA;AAAAA,UAAAA,GAAAA,EAAOA,WAAAA;AAAAA,UAAWA,OAAAA,EAAWA;AAAAA,SAA6BA;AAAAA,MAA7D;AAAA,IACL;AAAA,EAAA;AAED,EAAA,MAAAiB,iBAAAA,GACEjB,MAAIkB,GAAAA,KAAU,WAAA,IACdlB,KAAImB,OAAAA,KAAa,oBAAA,IACjB3B,SAAQc,QAAAA,CAASc,WAAAA;AAEnB,EAAA,MAAAC,kBAAAA,GACErB,MAAIkB,GAAAA,KAAU,WAAA,KACblB,KAAImB,OAAAA,KAAa,iBAAA,IAChBnB,KAAImB,OAAAA,KAAa,4BAAA,CAAA;AAErB,EAAA,MAAAG,cAAAA,GAAuB9B,SAAQqB,mBAAAA,CAAoBS,cAAAA;AAEnD,EAAA,MAAAC,iBAAAA,GAAAA,CAGGN,iBAAAA,IAAAI,kBAAAA,KAAD,CAA8CC,cAAAA;AAEhD,EAAA,MAAAE,kBAAAA,GAA2BhC,SAAQiC,oBAAAA,CAAqBD,kBAAAA;AAExD,EAAA,MAAAE,OAAAA,GAAgBlC,QAAAA,CAAQqB,mBAAAA,CAAoBc,KAAAA,EAAUC,EAAAA;AACtD,EAAA,MAAAC,YAAAA,GAAqBH,OAAAA,GACjBI,iCAAAA,CAAkCJ,OAC1B,CAAA,GAFSK,MAAAA;AAIrB,EAAA,MAAA,CAAAC,WAAAA,EAAAC,cAAA,CAAA,GAAsCC,SAA6B,IAAI,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAA/C,EAAA,CAAA,CAAA,KAAAgD,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAClDF,IAAAA,EAAAA,GAAAA,MAAA;AACrBF,MAAAA,cAAAA,CAAe;AAAA,QAAAf,GAAAA,EAAO;AAAA,OAAgB,CAAA;AAAA,IAAC,CAAA;AACxC9B,IAAAA,CAAAA,MAAA+C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/C,EAAA,CAAA,CAAA;AAAA,EAAA;AAFD,EAAA,MAAAkD,cAAAA,GAAuBH,EAAAA;AAErB,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAnD,EAAA,CAAA,CAAA,KAAAgD,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACwBE,IAAAA,EAAAA,GAAAA,MAAA;AACxBN,MAAAA,cAAAA,CAAe,IAAI,CAAA;AAAA,IAAC,CAAA;AACrB7C,IAAAA,CAAAA,MAAAmD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnD,EAAA,CAAA,CAAA;AAAA,EAAA;AAFD,EAAA,MAAAoD,iBAAAA,GAA0BD,EAAAA;AAI1BvC,EAAAA,IAAAA,GAAOA,WAAAA,IAAAA,IAAAA;AACP,EAAA,MAAAyC,aAAAA,GAAsB,CAAC,CAACT,WAAAA;AAExB1C,EAAAA,MAAAA,CAAMoD,IAAAA,CAAKC,GAAAA,CAAK,MAAA,EAAQ3C,IAAAA,EAAMR,QAAAA,EAAU;AAAA,IAAA+B,iBAAAA;AAAAA,IAAAM,YAAAA;AAAAA,IAAAH;AAAAA,GAIvC,CAAA;AAAC,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAxD,CAAAA,CAAA,CAAA,CAAA,KAAAI,QAAAA,CAAAqD,KAAAA,EAAA;AAGYD,IAAAA,EAAAA,GAAAE,oBAAAA,CAAqBtD,QAAAA,CAAQqD,KAA8B,CAAA,GAA3D,OAA8CrD,QAAAA,CAAQqD,KAAAA;AAAMzD,IAAAA,CAAAA,CAAA,CAAA,IAAAI,QAAAA,CAAAqD,KAAAA;AAAAzD,IAAAA,CAAAA,MAAAwD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxD,EAAA,CAAA,CAAA;AAAA,EAAA;AAA1E,EAAA,MAAAyD,KAAAA,GAAcD,EAAAA;AAEVG,EAAAA,IAAAA,WAAAA;AAEJ,EAAA,IAAIvD,SAAQwD,OAAAA,EAAQ;AAClB,IAAA,IAAIxD,QAAAA,CAAQc,QAAAA,CAAS0C,OAAAA,IAAYxD,QAAAA,CAAQU,WAAW8C,OAAAA,EAAQ;AAC1DD,MAAAA,WAAAA,GAAcA,WAAAA;AAAAA,IAAH,CAAA,MAAA;AACN,MAAA,IAAIvD,QAAAA,CAAQqB,oBAAoBmC,OAAAA,EAAQ;AAC7CD,QAAAA,WAAAA,GAAcA,kBAAAA;AAAAA,MAAH;AAAA,IACZ;AAAA,EAAA;AAGCE,EAAAA,IAAAA,qBAAAA;AACJ,EAAA,IAAIzD,QAAAA,CAAQiC,qBAAqByB,gBAAAA,EAAiB;AAChDD,IAAAA,qBAAAA,GAAwBA,SAAAA;AAAAA,EAAH,CAAA,MAAA;AAChB,IAAA,IAAIzD,QAAAA,CAAQiC,qBAAqB0B,eAAAA,EAAgB;AACtDF,MAAAA,qBAAAA,GAAwBA,SAAAA;AAAAA,IAAH,CAAA,MAAA;AAChB,MAAA,IAAIzD,QAAAA,CAAQiC,qBAAqBuB,OAAAA,EAAQ;AAC9CC,QAAAA,qBAAAA,GAAwBA,OAAAA;AAAAA,MAAH;AAAA,IACtB;AAAA,EAAA;AAAA,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAhE,SAAAyD,SAAAzD,CAAAA,CAAA,CAAA,MAAA2D,WAAAA,IAAA3D,CAAAA,CAAA,CAAA,CAAA,KAAAyC,YAAAA,IAAAzC,SAAAmC,qBAAAnC,CAAAA,CAAA,CAAA,MAAAqD,aAAAA,IAAArD,CAAAA,CAAA,CAAA,CAAA,KAAAoC,kBAAAA,IAAApC,EAAA,EAAA,CAAA,KAAAI,SAAA6D,UAAAA,IAAAjE,CAAAA,CAAA,EAAA,CAAA,KAAAI,QAAAA,CAAA8D,UAAAlE,CAAAA,CAAA,EAAA,MAAAI,QAAAA,CAAA+D,kBAAAA,IAAAnE,EAAA,EAAA,CAAA,KAAAI,SAAAgE,SAAAA,EAAA;AAWGJ,IAAAA,EAAAA,GAAAX,aAAAA,GAAA;AAAA,MAAAe,WAGahE,QAAAA,CAAQ6D,UAAAA;AAAAA,MAAW9B,iBAAAA,EACX,KAAA;AAAA,MAAKC,kBAAAA,EACJ,KAAA;AAAA,MAAKqB,KAAAA,EAClB;AAAA,KAWT,GAjBA;AAAA,MAAAS,QASU9D,QAAAA,CAAQ8D,MAAAA;AAAAA,MAAOE,WACZhE,QAAAA,CAAQgE,SAAAA;AAAAA,MAAUD,oBACT/D,QAAAA,CAAQ+D,kBAAAA;AAAAA,MAAmBR,WAAAA;AAAAA,MAAAF,KAAAA;AAAAA,MAAAtB,iBAAAA;AAAAA,MAAAC,kBAAAA;AAAAA,MAAAK;AAAAA,KAMjD;AAACzC,IAAAA,CAAAA,MAAAyD,KAAAA;AAAAzD,IAAAA,CAAAA,MAAA2D,WAAAA;AAAA3D,IAAAA,CAAAA,MAAAyC,YAAAA;AAAAzC,IAAAA,CAAAA,MAAAmC,iBAAAA;AAAAnC,IAAAA,CAAAA,MAAAqD,aAAAA;AAAArD,IAAAA,CAAAA,MAAAoC,kBAAAA;AAAApC,IAAAA,CAAAA,CAAA,EAAA,IAAAI,QAAAA,CAAA6D,UAAAA;AAAAjE,IAAAA,CAAAA,CAAA,EAAA,IAAAI,QAAAA,CAAA8D,MAAAA;AAAAlE,IAAAA,CAAAA,CAAA,EAAA,IAAAI,QAAAA,CAAA+D,kBAAAA;AAAAnE,IAAAA,CAAAA,CAAA,EAAA,IAAAI,QAAAA,CAAAgE,SAAAA;AAAApE,IAAAA,CAAAA,OAAAgE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhE,EAAA,EAAA,CAAA;AAAA,EAAA;AA3BL,EAAA,MAAAqE,WAAAA,GAUIL,EAAAA;AAiBE,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAtE,EAAA,EAAA,CAAA,KAAAoD,qBAAApD,CAAAA,SAAAM,aAAAA,EAAA;AAGWgE,IAAAA,EAAAA,GAAAC,CAAAA,SAAAA,KAAA;AACbnB,MAAAA,iBAAAA,EAAkB;AAAC,MAAA,OACZ9C,cAAcP,SAAO,CAAA;AAAA,IAAC,CAAA;AAC9BC,IAAAA,CAAAA,OAAAoD,iBAAAA;AAAApD,IAAAA,CAAAA,OAAAM,aAAAA;AAAAN,IAAAA,CAAAA,OAAAsE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAtE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwE,EAAAA;AAAA,EAAA,IAAAxE,EAAA,EAAA,CAAA,KAAAQ,mBAAAR,CAAAA,SAAAoD,iBAAAA,EAAA;AACgBoB,IAAAA,EAAAA,GAAAA,MAAA;AACfpB,MAAAA,iBAAAA,EAAkB;AAAC,MAAA,OACZ5C,eAAAA,EAAgB;AAAA,IAAC,CAAA;AACzBR,IAAAA,CAAAA,OAAAQ,eAAAA;AAAAR,IAAAA,CAAAA,OAAAoD,iBAAAA;AAAApD,IAAAA,CAAAA,OAAAwE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAyE,EAAAA;AAAA,EAAA,IAAAzE,EAAA,EAAA,CAAA,KAAAS,SAAAT,CAAAA,SAAAoD,iBAAAA,EAAA;AACMqB,IAAAA,EAAAA,GAAAA,MAAA;AACLrB,MAAAA,iBAAAA,EAAkB;AAAC,MAAA,OACZ3C,KAAAA,EAAM;AAAA,IAAC,CAAA;AACfT,IAAAA,CAAAA,OAAAS,KAAAA;AAAAT,IAAAA,CAAAA,OAAAoD,iBAAAA;AAAApD,IAAAA,CAAAA,OAAAyE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAzE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA0E,EAAAA;AAAA,EAAA,IAAA1E,EAAA,EAAA,CAAA,KAAAU,cAAAV,CAAAA,SAAAoD,iBAAAA,EAAA;AAGWsB,IAAAA,EAAAA,GAAAA,MAAA;AACVtB,MAAAA,iBAAAA,EAAkB;AAAC,MAAA,OACZ1C,UAAAA,EAAW;AAAA,IAAC,CAAA;AACpBV,IAAAA,CAAAA,OAAAU,UAAAA;AAAAV,IAAAA,CAAAA,OAAAoD,iBAAAA;AAAApD,IAAAA,CAAAA,OAAA0E,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1E,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA2E,EAAAA;AAAA,EAAA,IAAA3E,EAAA,EAAA,CAAA,KAAAoD,qBAAApD,CAAAA,SAAAW,SAAAA,EAAA;AACUgE,IAAAA,EAAAA,GAAAC,CAAAA,SAAAA,KAAA;AACTxB,MAAAA,iBAAAA,EAAkB;AAAC,MAAA,OACZzC,UAAUZ,SAAO,CAAA;AAAA,IAAC,CAAA;AAC1BC,IAAAA,CAAAA,OAAAoD,iBAAAA;AAAApD,IAAAA,CAAAA,OAAAW,SAAAA;AAAAX,IAAAA,CAAAA,OAAA2E,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA3E,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA6E,EAAAA;AAAA,EAAA,IAAA7E,CAAAA,SAAAkD,cAAAA,IAAAlD,EAAA,EAAA,CAAA,KAAAqD,iBAAArD,CAAAA,CAAA,EAAA,MAAA6D,qBAAAA,IAAA7D,CAAAA,SAAAqE,WAAAA,IAAArE,EAAA,EAAA,CAAA,KAAAY,QAAAZ,CAAAA,CAAA,EAAA,MAAAsE,EAAAA,IAAAtE,CAAAA,SAAAwE,EAAAA,IAAAxE,EAAA,EAAA,CAAA,KAAAyE,MAAAzE,CAAAA,CAAA,EAAA,MAAA0E,EAAAA,IAAA1E,CAAAA,SAAA2E,EAAAA,IAAA3E,EAAA,EAAA,CAAA,KAAAI,SAAA0E,aAAAA,EAAA;AAtBID,IAAAA,EAAAA,GAAA;AAAA,MAAAvE,aAAAA,EACUgE,EAAAA;AAAAA,MAGd9D,eAAAA,EACgBgE,EAAAA;AAAAA,MAGhB/D,KAAAA,EACMgE,EAAAA;AAAAA,MAGN/D,UAAAA,EAGWgE,EAAAA;AAAAA,MAGX/D,SAAAA,EACUgE,EAAAA;AAAAA,MAGVzB,cAAAA;AAAAA,MAAAtC,IAAAA;AAAAA,MAAAiD,qBAAAA;AAAAA,MAAAR,aAAAA;AAAAA,MAAA,GAKEgB,WAAAA;AAAAA,MAAWS,eACC1E,QAAAA,CAAQ0E;AAAAA,KACzB;AAAC9E,IAAAA,CAAAA,OAAAkD,cAAAA;AAAAlD,IAAAA,CAAAA,OAAAqD,aAAAA;AAAArD,IAAAA,CAAAA,OAAA6D,qBAAAA;AAAA7D,IAAAA,CAAAA,OAAAqE,WAAAA;AAAArE,IAAAA,CAAAA,OAAAY,IAAAA;AAAAZ,IAAAA,CAAAA,OAAAsE,EAAAA;AAAAtE,IAAAA,CAAAA,OAAAwE,EAAAA;AAAAxE,IAAAA,CAAAA,OAAAyE,EAAAA;AAAAzE,IAAAA,CAAAA,OAAA0E,EAAAA;AAAA1E,IAAAA,CAAAA,OAAA2E,EAAAA;AAAA3E,IAAAA,CAAAA,CAAA,EAAA,IAAAI,QAAAA,CAAA0E,aAAAA;AAAA9E,IAAAA,CAAAA,OAAA6E,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA7E,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OA7BM6E,EAAAA;AA6BN;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { Token, TokenMaybeWithUsdBalance } from '../../tokens/state/types';
2
2
  import { SupportedChainId } from '../../lib/web3/wagmi/types';
3
- import { BridgeInfoMode } from '../swap/prices/delta/queries/bridgeInfo/useBridgeInfo';
3
+ import { BridgeInfoMode } from '../swap/prices/delta/queries/bridgeInfo/types';
4
4
  export declare const useAllTokensWithFilter: ({ tokenFilter, forcedChainId, searchOnOtherChainsIfNothingFound, withETH, intent, }: {
5
5
  tokenFilter: string;
6
6
  forcedChainId?: SupportedChainId;
@@ -1 +1 @@
1
- {"version":3,"file":"useAllTokensWithFilter.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAK5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAE5F,eAAO,MAAM,sBAAsB,GAAI,qFAMpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CAC/B,KAAG,wBAAwB,EA+E3B,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAOpC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,aAAa,EACb,aAAa,GACd,EAAE,wBAAwB,GAAG;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC,CAqBA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,8BAuBA"}
1
+ {"version":3,"file":"useAllTokensWithFilter.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAK5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAEpF,eAAO,MAAM,sBAAsB,GAAI,qFAMpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CAC/B,KAAG,wBAAwB,EA+E3B,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAOpC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,aAAa,EACb,aAAa,GACd,EAAE,wBAAwB,GAAG;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC,CAqBA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,8BAuBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAllTokensWithFilter.js","sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"sourcesContent":["import { createSortWithClosestMatch } from \"@/tokens/utils/sorting\";\nimport { filterTokens } from \"@/tokens/utils/filtering\";\nimport { useAllTokens } from \"@/tokens/hooks\";\nimport type { Token, TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { useMemo } from \"react\";\nimport { useNativeToken } from \"./useNativeToken\";\nimport { useAttachTokenBalanceMultichain } from \"./balances/useAttachTokenBalanceMultichain\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useChainId } from \"wagmi\";\nimport { useTokensFromAcross } from \"./useTokensFromAcross\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { isAddress } from \"viem\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport type { BridgeInfoMode } from \"../swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\n\nexport const useAllTokensWithFilter = ({\n tokenFilter,\n forcedChainId,\n searchOnOtherChainsIfNothingFound,\n withETH = true,\n intent = \"fetch\",\n}: {\n tokenFilter: string;\n forcedChainId?: SupportedChainId;\n searchOnOtherChainsIfNothingFound?: boolean;\n withETH?: boolean;\n intent?: \"fetch\" | \"prefetch\";\n}): TokenMaybeWithUsdBalance[] => {\n const appChainId = useChainId();\n\n const allTokens = useAllTokens(forcedChainId);\n const nativeToken = useNativeToken(forcedChainId);\n\n const allIncludedTokens = withETH\n ? [nativeToken].concat(allTokens)\n : allTokens;\n\n const filteredTokens = useMemo(() => {\n return filterTokens({\n filterString: tokenFilter.trim(),\n tokenArray: allIncludedTokens,\n });\n }, [tokenFilter, allIncludedTokens]);\n\n const isTokenFilterValidAddress = isAddress(tokenFilter);\n const searchOnAllChains =\n (isTokenFilterValidAddress && searchOnOtherChainsIfNothingFound) || // if it's a token address, always search on other chains, if allowed\n // -- we want to show this token on all chains.\n (filteredTokens.length === 0 &&\n // not already found tokens on current chain &&\n // filter given, and explicitly asked to search other chains\n !!tokenFilter &&\n searchOnOtherChainsIfNothingFound);\n\n const { tokens: tokensFromAllChains, addressMap: tokensFromAllChainsMap } =\n useAllTokensFromChains({\n // no need to exclude any chains, we actually want to search on all chains in this scenario\n // excludeChains: forcedChainId ? [forcedChainId] : [appChainId],\n includeChains: !searchOnAllChains ? emptyArray : undefined,\n });\n\n const { addressesMap, tokensToDisplay } = useMemo(() => {\n if (searchOnAllChains)\n return {\n tokensToDisplay: tokensFromAllChains,\n addressesMap: tokensFromAllChainsMap,\n };\n\n const currentChainId = forcedChainId ?? appChainId;\n const allTokensWithNativeAddresses = allIncludedTokens.map(\n ({ address }) => address\n );\n\n return {\n tokensToDisplay: allIncludedTokens,\n addressesMap: {\n [currentChainId]: allTokensWithNativeAddresses,\n },\n };\n }, [\n appChainId,\n forcedChainId,\n searchOnAllChains,\n tokensFromAllChains,\n tokensFromAllChainsMap,\n allIncludedTokens,\n ]);\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap,\n intent,\n });\n\n const filteredAndSortedTokens = useMemo<TokenMaybeWithUsdBalance[]>(() => {\n const trimmedTokenFilter = tokenFilter.trim();\n\n const sorter = createSortWithClosestMatch(trimmedTokenFilter);\n return filterTokens({\n filterString: trimmedTokenFilter,\n tokenArray: tokensToDisplay,\n })\n .map(attachTokenBalance)\n .sort(sorter);\n }, [attachTokenBalance, tokenFilter, tokensToDisplay]);\n\n return filteredAndSortedTokens;\n};\n\nexport const usePrefetchTokenBalances = () => {\n // will fetch balances for all tokens from tokenLists for current chain,\n // if necessary, can be made to fetch for all chains, but that may be too many requests\n useAllTokensWithFilter({\n tokenFilter: \"\",\n intent: \"prefetch\",\n });\n};\n\ntype AllTokensFromChainsInput = {\n includeChains?: number[];\n excludeChains?: number[];\n};\n\n/**\n * @description\n * Returns tokens and token address maps from all chains, optionally filtered by include/exclude chains.\n * If no chains are specified, it will return all tokens from all chains.\n * If includeChains is specified, it will only return tokens from those chains.\n * If excludeChains is specified, it will exclude tokens from those chains.\n */\nexport function useAllTokensFromChains({\n includeChains,\n excludeChains,\n}: AllTokensFromChainsInput): {\n tokens: Token[];\n addressMap: Record<number, string[]>;\n} {\n const { listByChainId: tokensListsByChain } =\n useAtomValue(allTokensByChainAtom);\n\n return useMemo(() => {\n const tokens: Token[] = [];\n const addressMap: Record<number, string[]> = {};\n\n for (const [_chainId, { tokens: _tokens }] of Object.entries(\n tokensListsByChain\n )) {\n const chainId = Number(_chainId);\n if (includeChains && !includeChains.includes(chainId)) continue;\n if (excludeChains && excludeChains.includes(chainId)) continue;\n\n tokens.push(..._tokens);\n addressMap[chainId] = _tokens.map((token) => token.address);\n }\n\n return { tokens, addressMap };\n }, [tokensListsByChain, includeChains, excludeChains]);\n}\n\nexport function useAcrossTokenLists({\n tokenFilter,\n fromChainId,\n toChainId,\n mode,\n}: {\n tokenFilter: string;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n}) {\n const { crossTokens } = useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n });\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap: {\n [toChainId]: crossTokens.map((token) => token.address),\n },\n });\n\n return useMemo<TokenMaybeWithUsdBalance[]>(() => {\n const trimmedTokenFilter = tokenFilter.trim();\n\n const sorter = createSortWithClosestMatch(trimmedTokenFilter);\n const filteredTokens = filterTokens({\n filterString: trimmedTokenFilter,\n tokenArray: crossTokens,\n });\n return filteredTokens.map(attachTokenBalance).sort(sorter);\n }, [attachTokenBalance, crossTokens, tokenFilter]);\n}\n"],"names":["useAllTokensWithFilter","t0","$","_c","tokenFilter","forcedChainId","searchOnOtherChainsIfNothingFound","withETH","t1","intent","t2","undefined","appChainId","useChainId","allTokens","useAllTokens","nativeToken","useNativeToken","t3","concat","allIncludedTokens","filteredTokens","filterTokens","filterString","trim","tokenArray","isTokenFilterValidAddress","isAddress","searchOnAllChains","length","t4","emptyArray","t5","includeChains","tokens","tokensFromAllChains","addressMap","tokensFromAllChainsMap","useAllTokensFromChains","t6","bb0","t7","tokensToDisplay","addressesMap","currentChainId","map","_temp","allTokensWithNativeAddresses","t8","t9","attachTokenBalance","useAttachTokenBalanceMultichain","trimmedTokenFilter","sorter","createSortWithClosestMatch","sort","filteredAndSortedTokens","usePrefetchTokenBalances","Symbol","for","excludeChains","listByChainId","tokensListsByChain","useAtomValue","allTokensByChainAtom","useMemo","_chainId","_tokens","Object","entries","chainId","Number","includes","push","token","address","useAcrossTokenLists","fromChainId","toChainId","mode","crossTokens","useTokensFromAcross","_temp3"],"mappings":"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"}
1
+ {"version":3,"file":"useAllTokensWithFilter.js","sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"sourcesContent":["import { createSortWithClosestMatch } from \"@/tokens/utils/sorting\";\nimport { filterTokens } from \"@/tokens/utils/filtering\";\nimport { useAllTokens } from \"@/tokens/hooks\";\nimport type { Token, TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { useMemo } from \"react\";\nimport { useNativeToken } from \"./useNativeToken\";\nimport { useAttachTokenBalanceMultichain } from \"./balances/useAttachTokenBalanceMultichain\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useChainId } from \"wagmi\";\nimport { useTokensFromAcross } from \"./useTokensFromAcross\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { isAddress } from \"viem\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport type { BridgeInfoMode } from \"../swap/prices/delta/queries/bridgeInfo/types\";\n\nexport const useAllTokensWithFilter = ({\n tokenFilter,\n forcedChainId,\n searchOnOtherChainsIfNothingFound,\n withETH = true,\n intent = \"fetch\",\n}: {\n tokenFilter: string;\n forcedChainId?: SupportedChainId;\n searchOnOtherChainsIfNothingFound?: boolean;\n withETH?: boolean;\n intent?: \"fetch\" | \"prefetch\";\n}): TokenMaybeWithUsdBalance[] => {\n const appChainId = useChainId();\n\n const allTokens = useAllTokens(forcedChainId);\n const nativeToken = useNativeToken(forcedChainId);\n\n const allIncludedTokens = withETH\n ? [nativeToken].concat(allTokens)\n : allTokens;\n\n const filteredTokens = useMemo(() => {\n return filterTokens({\n filterString: tokenFilter.trim(),\n tokenArray: allIncludedTokens,\n });\n }, [tokenFilter, allIncludedTokens]);\n\n const isTokenFilterValidAddress = isAddress(tokenFilter);\n const searchOnAllChains =\n (isTokenFilterValidAddress && searchOnOtherChainsIfNothingFound) || // if it's a token address, always search on other chains, if allowed\n // -- we want to show this token on all chains.\n (filteredTokens.length === 0 &&\n // not already found tokens on current chain &&\n // filter given, and explicitly asked to search other chains\n !!tokenFilter &&\n searchOnOtherChainsIfNothingFound);\n\n const { tokens: tokensFromAllChains, addressMap: tokensFromAllChainsMap } =\n useAllTokensFromChains({\n // no need to exclude any chains, we actually want to search on all chains in this scenario\n // excludeChains: forcedChainId ? [forcedChainId] : [appChainId],\n includeChains: !searchOnAllChains ? emptyArray : undefined,\n });\n\n const { addressesMap, tokensToDisplay } = useMemo(() => {\n if (searchOnAllChains)\n return {\n tokensToDisplay: tokensFromAllChains,\n addressesMap: tokensFromAllChainsMap,\n };\n\n const currentChainId = forcedChainId ?? appChainId;\n const allTokensWithNativeAddresses = allIncludedTokens.map(\n ({ address }) => address\n );\n\n return {\n tokensToDisplay: allIncludedTokens,\n addressesMap: {\n [currentChainId]: allTokensWithNativeAddresses,\n },\n };\n }, [\n appChainId,\n forcedChainId,\n searchOnAllChains,\n tokensFromAllChains,\n tokensFromAllChainsMap,\n allIncludedTokens,\n ]);\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap,\n intent,\n });\n\n const filteredAndSortedTokens = useMemo<TokenMaybeWithUsdBalance[]>(() => {\n const trimmedTokenFilter = tokenFilter.trim();\n\n const sorter = createSortWithClosestMatch(trimmedTokenFilter);\n return filterTokens({\n filterString: trimmedTokenFilter,\n tokenArray: tokensToDisplay,\n })\n .map(attachTokenBalance)\n .sort(sorter);\n }, [attachTokenBalance, tokenFilter, tokensToDisplay]);\n\n return filteredAndSortedTokens;\n};\n\nexport const usePrefetchTokenBalances = () => {\n // will fetch balances for all tokens from tokenLists for current chain,\n // if necessary, can be made to fetch for all chains, but that may be too many requests\n useAllTokensWithFilter({\n tokenFilter: \"\",\n intent: \"prefetch\",\n });\n};\n\ntype AllTokensFromChainsInput = {\n includeChains?: number[];\n excludeChains?: number[];\n};\n\n/**\n * @description\n * Returns tokens and token address maps from all chains, optionally filtered by include/exclude chains.\n * If no chains are specified, it will return all tokens from all chains.\n * If includeChains is specified, it will only return tokens from those chains.\n * If excludeChains is specified, it will exclude tokens from those chains.\n */\nexport function useAllTokensFromChains({\n includeChains,\n excludeChains,\n}: AllTokensFromChainsInput): {\n tokens: Token[];\n addressMap: Record<number, string[]>;\n} {\n const { listByChainId: tokensListsByChain } =\n useAtomValue(allTokensByChainAtom);\n\n return useMemo(() => {\n const tokens: Token[] = [];\n const addressMap: Record<number, string[]> = {};\n\n for (const [_chainId, { tokens: _tokens }] of Object.entries(\n tokensListsByChain\n )) {\n const chainId = Number(_chainId);\n if (includeChains && !includeChains.includes(chainId)) continue;\n if (excludeChains && excludeChains.includes(chainId)) continue;\n\n tokens.push(..._tokens);\n addressMap[chainId] = _tokens.map((token) => token.address);\n }\n\n return { tokens, addressMap };\n }, [tokensListsByChain, includeChains, excludeChains]);\n}\n\nexport function useAcrossTokenLists({\n tokenFilter,\n fromChainId,\n toChainId,\n mode,\n}: {\n tokenFilter: string;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n}) {\n const { crossTokens } = useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n });\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap: {\n [toChainId]: crossTokens.map((token) => token.address),\n },\n });\n\n return useMemo<TokenMaybeWithUsdBalance[]>(() => {\n const trimmedTokenFilter = tokenFilter.trim();\n\n const sorter = createSortWithClosestMatch(trimmedTokenFilter);\n const filteredTokens = filterTokens({\n filterString: trimmedTokenFilter,\n tokenArray: crossTokens,\n });\n return filteredTokens.map(attachTokenBalance).sort(sorter);\n }, [attachTokenBalance, crossTokens, tokenFilter]);\n}\n"],"names":["useAllTokensWithFilter","t0","$","_c","tokenFilter","forcedChainId","searchOnOtherChainsIfNothingFound","withETH","t1","intent","t2","undefined","appChainId","useChainId","allTokens","useAllTokens","nativeToken","useNativeToken","t3","concat","allIncludedTokens","filteredTokens","filterTokens","filterString","trim","tokenArray","isTokenFilterValidAddress","isAddress","searchOnAllChains","length","t4","emptyArray","t5","includeChains","tokens","tokensFromAllChains","addressMap","tokensFromAllChainsMap","useAllTokensFromChains","t6","bb0","t7","tokensToDisplay","addressesMap","currentChainId","map","_temp","allTokensWithNativeAddresses","t8","t9","attachTokenBalance","useAttachTokenBalanceMultichain","trimmedTokenFilter","sorter","createSortWithClosestMatch","sort","filteredAndSortedTokens","usePrefetchTokenBalances","Symbol","for","excludeChains","listByChainId","tokensListsByChain","useAtomValue","allTokensByChainAtom","useMemo","_chainId","_tokens","Object","entries","chainId","Number","includes","push","token","address","useAcrossTokenLists","fromChainId","toChainId","mode","crossTokens","useTokensFromAcross","_temp3"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { SupportedChainId } from '../../lib/web3/wagmi/types';
2
2
  import { Token } from '../../tokens/state/types';
3
- import { BridgeInfoMode } from '../swap/prices/delta/queries/bridgeInfo/useBridgeInfo';
3
+ import { BridgeInfoMode } from '../swap/prices/delta/queries/bridgeInfo/types';
4
4
  export declare function useTokensFromAcross({ fromChainId, toChainId, mode, }: {
5
5
  fromChainId: SupportedChainId;
6
6
  toChainId: SupportedChainId;
@@ -1 +1 @@
1
- {"version":3,"file":"useTokensFromAcross.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAE5F,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG;IAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,CAahD"}
1
+ {"version":3,"file":"useTokensFromAcross.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAEpF,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG;IAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,CAahD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokensFromAcross.js","sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"sourcesContent":["import { isTruthy } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGetBridgeInfo } from \"../useBridgeInfo\";\nimport { useTokensByAddress } from \"./useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeInfoMode } from \"../swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\n\nexport function useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n}): { crossTokens: Token[]; error: Error | null } {\n const { data: bridgeInfo, error } = useGetBridgeInfo({ mode });\n\n const acrossTokenAddresses =\n bridgeInfo?.[fromChainId]?.[toChainId] ?? emptyArray;\n\n const tokensMap = useTokensByAddress(toChainId);\n\n const tokensFromAcross = acrossTokenAddresses\n .map((tokenAddress) => tokensMap[tokenAddress.toLowerCase()])\n .filter(isTruthy);\n\n return { crossTokens: tokensFromAcross, error };\n}\n"],"names":["useTokensFromAcross","t0","$","_c","fromChainId","toChainId","mode","t1","data","bridgeInfo","error","useGetBridgeInfo","acrossTokenAddresses","emptyArray","tokensMap","useTokensByAddress","t2","t3","tokenAddress","toLowerCase","map","filter","isTruthy","tokensFromAcross","crossTokens"],"mappings":";;;;;;AAQO,SAAAA,oBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAA6B,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAL,EAAAA;AAQnC,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAI,IAAAA,EAAA;AACsDC,IAAAA,EAAAA,GAAA;AAAA,MAAAD;AAAAA,KAAO;AAACJ,IAAAA,CAAAA,MAAAI,IAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAA7D,EAAA,MAAA;AAAA,IAAAM,IAAAA,EAAAC,UAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAoCC,iBAAiBJ,EAAQ,CAAA;AAE7D,EAAA,MAAAK,oBAAAA,GACEH,UAAAA,GAAaL,WAAW,CAAA,GAAIC,SAAS,CAAA,IAArCQ,UAAAA;AAEF,EAAA,MAAAC,SAAAA,GAAkBC,mBAAmBV,SAAS,CAAA;AAAE,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAU,wBAAAV,CAAAA,QAAAY,SAAAA,EAAA;AAAA,IAAA,IAAAG,GAAAA;AAAA,IAAA,IAAAf,CAAAA,QAAAY,SAAAA,EAAA;AAGzCG,MAAAA,GAAAA,GAAAC,CAAAA,YAAAA,KAAkBJ,SAAAA,CAAUI,YAAAA,CAAYC,aAAc,CAAA;AAACjB,MAAAA,CAAAA,MAAAY,SAAAA;AAAAZ,MAAAA,CAAAA,MAAAe,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,IAAA;AADrCc,IAAAA,EAAAA,GAAAJ,oBAAAA,CAAoBQ,GAAAA,CACtCH,GAAuD,CAAA,CAACI,OACrDC,QAAQ,CAAA;AAACpB,IAAAA,CAAAA,MAAAU,oBAAAA;AAAAV,IAAAA,CAAAA,MAAAY,SAAAA;AAAAZ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAFnB,EAAA,MAAAqB,gBAAAA,GAAyBP,EAAAA;AAEL,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAf,EAAA,CAAA,CAAA,KAAAQ,SAAAR,CAAAA,QAAAqB,gBAAAA,EAAA;AAEbN,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAAeD,gBAAAA;AAAAA,MAAgBb;AAAAA,KAAQ;AAACR,IAAAA,CAAAA,MAAAQ,KAAAA;AAAAR,IAAAA,CAAAA,MAAAqB,gBAAAA;AAAArB,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAxCe,EAAAA;AAAwC;;;;"}
1
+ {"version":3,"file":"useTokensFromAcross.js","sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"sourcesContent":["import { isTruthy } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGetBridgeInfo } from \"../useBridgeInfo\";\nimport { useTokensByAddress } from \"./useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeInfoMode } from \"../swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n}): { crossTokens: Token[]; error: Error | null } {\n const { data: bridgeInfo, error } = useGetBridgeInfo({ mode });\n\n const acrossTokenAddresses =\n bridgeInfo?.[fromChainId]?.[toChainId] ?? emptyArray;\n\n const tokensMap = useTokensByAddress(toChainId);\n\n const tokensFromAcross = acrossTokenAddresses\n .map((tokenAddress) => tokensMap[tokenAddress.toLowerCase()])\n .filter(isTruthy);\n\n return { crossTokens: tokensFromAcross, error };\n}\n"],"names":["useTokensFromAcross","t0","$","_c","fromChainId","toChainId","mode","t1","data","bridgeInfo","error","useGetBridgeInfo","acrossTokenAddresses","emptyArray","tokensMap","useTokensByAddress","t2","t3","tokenAddress","toLowerCase","map","filter","isTruthy","tokensFromAcross","crossTokens"],"mappings":";;;;;;AAQO,SAAAA,oBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAA6B,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAL,EAAAA;AAQnC,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAI,IAAAA,EAAA;AACsDC,IAAAA,EAAAA,GAAA;AAAA,MAAAD;AAAAA,KAAO;AAACJ,IAAAA,CAAAA,MAAAI,IAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAA7D,EAAA,MAAA;AAAA,IAAAM,IAAAA,EAAAC,UAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAoCC,iBAAiBJ,EAAQ,CAAA;AAE7D,EAAA,MAAAK,oBAAAA,GACEH,UAAAA,GAAaL,WAAW,CAAA,GAAIC,SAAS,CAAA,IAArCQ,UAAAA;AAEF,EAAA,MAAAC,SAAAA,GAAkBC,mBAAmBV,SAAS,CAAA;AAAE,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAU,wBAAAV,CAAAA,QAAAY,SAAAA,EAAA;AAAA,IAAA,IAAAG,GAAAA;AAAA,IAAA,IAAAf,CAAAA,QAAAY,SAAAA,EAAA;AAGzCG,MAAAA,GAAAA,GAAAC,CAAAA,YAAAA,KAAkBJ,SAAAA,CAAUI,YAAAA,CAAYC,aAAc,CAAA;AAACjB,MAAAA,CAAAA,MAAAY,SAAAA;AAAAZ,MAAAA,CAAAA,MAAAe,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,IAAA;AADrCc,IAAAA,EAAAA,GAAAJ,oBAAAA,CAAoBQ,GAAAA,CACtCH,GAAuD,CAAA,CAACI,OACrDC,QAAQ,CAAA;AAACpB,IAAAA,CAAAA,MAAAU,oBAAAA;AAAAV,IAAAA,CAAAA,MAAAY,SAAAA;AAAAZ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAFnB,EAAA,MAAAqB,gBAAAA,GAAyBP,EAAAA;AAEL,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAf,EAAA,CAAA,CAAA,KAAAQ,SAAAR,CAAAA,QAAAqB,gBAAAA,EAAA;AAEbN,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAAeD,gBAAAA;AAAAA,MAAgBb;AAAAA,KAAQ;AAACR,IAAAA,CAAAA,MAAAQ,KAAAA;AAAAR,IAAAA,CAAAA,MAAAqB,gBAAAA;AAAArB,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAxCe,EAAAA;AAAwC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
2
  import { BridgeInfo } from '@velora-dex/sdk';
3
- import { BridgeInfoMode } from './swap/prices/delta/queries/bridgeInfo/useBridgeInfo';
3
+ import { BridgeInfoMode } from './swap/prices/delta/queries/bridgeInfo/types';
4
4
  export declare function useGetBridgeInfo({ mode, }: {
5
5
  mode: BridgeInfoMode;
6
6
  }): UseQueryResult<BridgeInfo, Error>;
@@ -1 +1 @@
1
- {"version":3,"file":"useBridgeInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useBridgeInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,sDAAsD,CAAC;AAE9D,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,GACL,EAAE;IACD,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAYpC"}
1
+ {"version":3,"file":"useBridgeInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useBridgeInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAEnF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,GACL,EAAE;IACD,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAYpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBridgeInfo.js","sources":["../../src/hooks/useBridgeInfo.ts"],"sourcesContent":["import { type UseQueryResult } from \"@tanstack/react-query\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport {\n useBridgeInfoQuery,\n type BridgeInfoMode,\n} from \"./swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\n\nexport function useGetBridgeInfo({\n mode,\n}: {\n mode: BridgeInfoMode;\n}): UseQueryResult<BridgeInfo, Error> {\n const result = useBridgeInfoQuery({\n query: {\n staleTime: Infinity,\n gcTime: Infinity,\n },\n input: {\n allowBridgeAndSwap: mode === \"swap\",\n },\n });\n\n return result;\n}\n"],"names":["useGetBridgeInfo","t0","$","_c","mode","t1","Symbol","for","staleTime","Infinity","gcTime","t2","t3","query","input","allowBridgeAndSwap","result","useBridgeInfoQuery"],"mappings":";;;;AAOO,SAAAA,iBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAA0B,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAIhC,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAH,EAAA,CAAA,CAAA,KAAAI,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEUF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,SAAAA,EACMC,QAAAA;AAAAA,MAAQC,MAAAA,EACXD;AAAAA,KACV;AAACP,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAEqB,EAAA,MAAAS,KAAAP,IAAAA,KAAS,MAAA;AAAM,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAV,CAAAA,QAAAS,EAAAA,EAAA;AANLC,IAAAA,EAAAA,GAAA;AAAA,MAAAC,KAAAA,EACzBR,EAAAA;AAAAA,MAGNS,KAAAA,EACM;AAAA,QAAAC,kBAAAA,EACeJ;AAAAA;AACtB,KACF;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AARD,EAAA,MAAAc,MAAAA,GAAeC,mBAAmBL,EAQjC,CAAA;AAAE,EAAA,OAEII,MAAAA;AAAM;;;;"}
1
+ {"version":3,"file":"useBridgeInfo.js","sources":["../../src/hooks/useBridgeInfo.ts"],"sourcesContent":["import { type UseQueryResult } from \"@tanstack/react-query\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { useBridgeInfoQuery } from \"./swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\nimport type { BridgeInfoMode } from \"./swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function useGetBridgeInfo({\n mode,\n}: {\n mode: BridgeInfoMode;\n}): UseQueryResult<BridgeInfo, Error> {\n const result = useBridgeInfoQuery({\n query: {\n staleTime: Infinity,\n gcTime: Infinity,\n },\n input: {\n allowBridgeAndSwap: mode === \"swap\",\n },\n });\n\n return result;\n}\n"],"names":["useGetBridgeInfo","t0","$","_c","mode","t1","Symbol","for","staleTime","Infinity","gcTime","t2","t3","query","input","allowBridgeAndSwap","result","useBridgeInfoQuery"],"mappings":";;;;AAKO,SAAAA,iBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAA0B,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAIhC,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAH,EAAA,CAAA,CAAA,KAAAI,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEUF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,SAAAA,EACMC,QAAAA;AAAAA,MAAQC,MAAAA,EACXD;AAAAA,KACV;AAACP,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAEqB,EAAA,MAAAS,KAAAP,IAAAA,KAAS,MAAA;AAAM,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAV,CAAAA,QAAAS,EAAAA,EAAA;AANLC,IAAAA,EAAAA,GAAA;AAAA,MAAAC,KAAAA,EACzBR,EAAAA;AAAAA,MAGNS,KAAAA,EACM;AAAA,QAAAC,kBAAAA,EACeJ;AAAAA;AACtB,KACF;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AARD,EAAA,MAAAc,MAAAA,GAAeC,mBAAmBL,EAQjC,CAAA;AAAE,EAAA,OAEII,MAAAA;AAAM;;;;"}
@@ -1,4 +1,4 @@
1
- import { BridgeInfoMode } from './swap/prices/delta/queries/bridgeInfo/useBridgeInfo';
1
+ import { BridgeInfoMode } from './swap/prices/delta/queries/bridgeInfo/types';
2
2
  export declare function useIsCrosschainPossible({ fromChainId, toChainId, tokenAddress, mode, }: {
3
3
  fromChainId: number;
4
4
  toChainId?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"useIsCrosschainPossible.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsCrosschainPossible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAI3F,wBAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,SAAS,EACT,YAAY,EACZ,IAAI,GACL,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CA2BA"}
1
+ {"version":3,"file":"useIsCrosschainPossible.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsCrosschainPossible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAInF,wBAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,SAAS,EACT,YAAY,EACZ,IAAI,GACL,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CA2BA"}