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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  2. package/dist/components/widget/AppHeader/Activities/hooks.js +51 -51
  3. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  4. package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
  5. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  6. package/dist/components/widget/AppHeader/Activities/utils.js +25 -26
  7. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  8. package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
  9. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  10. package/dist/components/widget/BridgeList/hooks.js +78 -72
  11. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  12. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
  13. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
  14. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  16. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +2 -2
  17. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
  18. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  19. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
  20. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +18 -22
  21. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  22. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -1
  23. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  24. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +6 -3
  25. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  26. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +58 -54
  27. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  28. package/dist/components/widget/LimitOrderItem/constants.d.ts +1 -1
  29. package/dist/components/widget/LimitOrderItem/constants.js +1 -1
  30. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
  31. package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
  32. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
  33. package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -4
  34. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
  35. package/dist/components/widget/LimitOrderItem/utils.js +1 -4
  36. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  37. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js +9 -9
  38. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +15 -10
  39. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  40. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  41. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  42. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +86 -86
  43. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  44. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +1 -1
  45. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  46. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +1 -1
  47. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  48. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
  49. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
  50. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +83 -83
  51. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  52. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +4 -1
  53. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  54. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
  55. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  56. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  57. package/dist/core/LimitOrderButton.js +47 -53
  58. package/dist/core/LimitOrderButton.js.map +1 -1
  59. package/dist/core/TradeFlowScreenButton.d.ts +3 -4
  60. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  61. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  62. package/dist/core/Updaters.js +1 -1
  63. package/dist/core/Updaters.js.map +1 -1
  64. package/dist/core/across/isCrosschainPossible.d.ts +2 -2
  65. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  66. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  67. package/dist/core/across/utils.d.ts +4 -4
  68. package/dist/core/across/utils.d.ts.map +1 -1
  69. package/dist/core/across/utils.js +25 -15
  70. package/dist/core/across/utils.js.map +1 -1
  71. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  72. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +1 -4
  73. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  74. package/dist/core/index.js.map +1 -1
  75. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  76. package/dist/core/inputs/hooks/useTokenFromInputProps.js +3 -3
  77. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  78. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  79. package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
  80. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  81. package/dist/core/inputs/hooks/useWarningMessage.d.ts +2 -2
  82. package/dist/core/inputs/hooks/useWarningMessage.d.ts.map +1 -1
  83. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  84. package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
  85. package/dist/core/inputs/hooks/utils.js +7 -5
  86. package/dist/core/inputs/hooks/utils.js.map +1 -1
  87. package/dist/core/inputs/state/setTokenByAddressAtom.js +1 -1
  88. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  89. package/dist/core/limit/state/utils.d.ts +1 -1
  90. package/dist/core/limit/useLimitRate.d.ts +2 -3
  91. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  92. package/dist/core/limit/useLimitRate.js +54 -110
  93. package/dist/core/limit/useLimitRate.js.map +1 -1
  94. package/dist/core/limit/useLimitTokenFromInputProps.js +1 -1
  95. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  96. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  97. package/dist/core/limit/useLimitTokenToInputProps.js +1 -4
  98. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  99. package/dist/core/state/configEffectAtom.js +1 -1
  100. package/dist/core/state/configEffectAtom.js.map +1 -1
  101. package/dist/core/state/getSelectableDestChains.d.ts +2 -2
  102. package/dist/core/state/getSelectableDestChains.d.ts.map +1 -1
  103. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  104. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  105. package/dist/core/swapDetails/fees.js +16 -11
  106. package/dist/core/swapDetails/fees.js.map +1 -1
  107. package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
  108. package/dist/core/swapDetails/maxToPay.js +18 -17
  109. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  110. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
  111. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
  112. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  113. package/dist/core/twap/useTwapTokenFromInputProps.js +3 -3
  114. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
  115. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  116. package/dist/events/types/cancelOrder.d.ts +2 -2
  117. package/dist/events/types/cancelOrder.d.ts.map +1 -1
  118. package/dist/events/types/priceChange.d.ts +2 -2
  119. package/dist/events/types/priceChange.d.ts.map +1 -1
  120. package/dist/events/types/swap.d.ts +3 -3
  121. package/dist/events/types/swap.d.ts.map +1 -1
  122. package/dist/events/types/twap.d.ts +2 -2
  123. package/dist/events/types/twap.d.ts.map +1 -1
  124. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +3 -4
  125. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
  126. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  127. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +6 -3
  128. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  129. package/dist/hooks/swap/prices/delta/bridge/utils.js +20 -17
  130. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  131. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
  132. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
  133. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +6 -6
  134. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  135. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +1 -1
  136. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
  137. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
  138. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
  139. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +1 -1
  140. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  141. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +1 -1
  142. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
  143. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
  144. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +27 -28
  145. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  146. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
  147. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  148. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +3 -3
  149. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  150. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +2 -2
  151. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +1 -1
  152. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  153. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -2
  154. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  155. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +85 -84
  156. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  157. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  158. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  159. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +4 -4
  160. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  161. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  162. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +27 -28
  163. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  164. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts +2 -2
  165. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -1
  166. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js +2 -2
  167. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  168. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  169. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  170. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +1 -1
  171. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  172. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
  173. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  174. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +2 -2
  175. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  176. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +5 -6
  177. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  178. package/dist/hooks/swap/prices/delta/mutations/utils.js +5 -5
  179. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  180. package/dist/hooks/swap/prices/delta/orders/types.d.ts +8 -28
  181. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  182. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
  183. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  184. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  185. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +31 -42
  186. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  187. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +18 -18
  188. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  189. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +19 -49
  190. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  191. package/dist/hooks/swap/prices/delta/orders/utils.js +23 -58
  192. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  193. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js +1 -1
  194. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  195. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.d.ts +2 -0
  196. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.d.ts.map +1 -0
  197. package/dist/hooks/swap/prices/delta/queries/{bridgeInfo/bridgeInfosLoadedAtom.js → bridgeRoutes/bridgeRoutesLoadedAtom.js} +4 -4
  198. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.js.map +1 -0
  199. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.d.ts +6 -0
  200. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.d.ts.map +1 -0
  201. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.js +9 -0
  202. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.js.map +1 -0
  203. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.d.ts +3 -0
  204. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.d.ts.map +1 -0
  205. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.js +11 -0
  206. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.js.map +1 -0
  207. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/types.d.ts +19 -0
  208. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/types.d.ts.map +1 -0
  209. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.d.ts +3 -0
  210. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.d.ts.map +1 -0
  211. package/dist/hooks/swap/prices/delta/queries/{bridgeInfo/useBridgeInfo.js → bridgeRoutes/useBridgeRoutes.js} +6 -6
  212. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.js.map +1 -0
  213. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  214. package/dist/hooks/swap/prices/delta/queries/{useDeltaLimitOrderRequiredBalance.d.ts → useDeltaOrderRequiredBalance.d.ts} +10 -10
  215. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.d.ts.map +1 -0
  216. package/dist/hooks/swap/prices/delta/queries/{useDeltaLimitOrderRequiredBalance.js → useDeltaOrderRequiredBalance.js} +5 -5
  217. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.js.map +1 -0
  218. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +6 -6
  219. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  220. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +1 -1
  221. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  222. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +19 -36
  223. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  224. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +5 -5
  225. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  226. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +1 -1
  227. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  228. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +14 -22
  229. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  230. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +71 -62
  231. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  232. package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
  233. package/dist/hooks/swap/prices/factory.js +1 -1
  234. package/dist/hooks/swap/prices/factory.js.map +1 -1
  235. package/dist/hooks/swap/prices/types.d.ts +2 -3
  236. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  237. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
  238. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  239. package/dist/hooks/swap/prices/useSwapPrices.js +108 -111
  240. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  241. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
  242. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  243. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
  244. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
  245. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  246. package/dist/hooks/swap/prices/useTwapPrices.d.ts +4 -5
  247. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
  248. package/dist/hooks/swap/prices/useTwapPrices.js +70 -73
  249. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  250. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +12 -19
  251. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  252. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
  253. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  254. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +4 -4
  255. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
  256. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  257. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +1 -1
  258. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  259. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +1 -1
  260. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  261. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js +1 -1
  262. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
  263. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
  264. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  265. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +222 -227
  266. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  267. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  268. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +1 -1
  269. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  270. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
  271. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  272. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +159 -196
  273. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  274. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
  275. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
  276. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +221 -233
  277. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  278. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
  279. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  280. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +2 -2
  281. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
  282. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  283. package/dist/hooks/tokens/useTokensFromAcross.d.ts +2 -2
  284. package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
  285. package/dist/hooks/tokens/useTokensFromAcross.js +7 -10
  286. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  287. package/dist/hooks/useAvailableCrosses.d.ts +3 -3
  288. package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
  289. package/dist/hooks/useAvailableCrosses.js +18 -17
  290. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  291. package/dist/hooks/useBridgeRoutes.d.ts +6 -0
  292. package/dist/hooks/useBridgeRoutes.d.ts.map +1 -0
  293. package/dist/hooks/{useBridgeInfo.js → useBridgeRoutes.js} +4 -4
  294. package/dist/hooks/useBridgeRoutes.js.map +1 -0
  295. package/dist/hooks/useIsCrosschainPossible.d.ts +2 -2
  296. package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
  297. package/dist/hooks/useIsCrosschainPossible.js +15 -13
  298. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  299. package/dist/hooks/useSDK.d.ts +11 -11
  300. package/dist/hooks/useSDK.d.ts.map +1 -1
  301. package/dist/hooks/useSDK.js +42 -42
  302. package/dist/hooks/useSDK.js.map +1 -1
  303. package/dist/hooks/useSelectableDestChains.d.ts +2 -2
  304. package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
  305. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  306. package/dist/lib/queryClient.js +3 -3
  307. package/dist/lib/queryClient.js.map +1 -1
  308. package/dist/lib/utils/price.d.ts +5 -2
  309. package/dist/lib/utils/price.d.ts.map +1 -1
  310. package/dist/lib/utils/price.js +8 -5
  311. package/dist/lib/utils/price.js.map +1 -1
  312. package/dist/lib/utils/toasts.d.ts +3 -3
  313. package/dist/lib/utils/toasts.d.ts.map +1 -1
  314. package/dist/lib/utils/toasts.js.map +1 -1
  315. package/dist/lib/utils/twap.d.ts +19 -4
  316. package/dist/lib/utils/twap.d.ts.map +1 -1
  317. package/dist/lib/utils/twap.js +29 -18
  318. package/dist/lib/utils/twap.js.map +1 -1
  319. package/package.json +2 -2
  320. package/dist/hooks/swap/prices/delta/bridge/const.d.ts +0 -8
  321. package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +0 -1
  322. package/dist/hooks/swap/prices/delta/bridge/const.js +0 -13
  323. package/dist/hooks/swap/prices/delta/bridge/const.js.map +0 -1
  324. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts +0 -2
  325. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts.map +0 -1
  326. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +0 -1
  327. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +0 -6
  328. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +0 -1
  329. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js +0 -9
  330. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +0 -1
  331. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts +0 -4
  332. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +0 -1
  333. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js +0 -11
  334. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +0 -1
  335. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +0 -19
  336. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +0 -1
  337. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +0 -3
  338. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +0 -1
  339. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +0 -1
  340. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +0 -1
  341. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +0 -1
  342. package/dist/hooks/useBridgeInfo.d.ts +0 -7
  343. package/dist/hooks/useBridgeInfo.d.ts.map +0 -1
  344. package/dist/hooks/useBridgeInfo.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TradeFlowScreenButton.js","names":["Button","MinTradeOverviewProps","cn","BridgePrice","DeltaPrice","OptimalRate","useAccount","useSetScreen","useWidgetEvents","UserDefinedLimitPrice","UserDefinedOtcPrice","DeltaOrBridgePrice","BaseTradeFlowButtonProps","React","ComponentProps","orderProps","labelOverride","SwapTradeFlowButtonProps","price","priceMode","SwapTradeFlowScreenButton","t0","$","_c","buttonProps","onSwap","showTradeOverviewScreen","closeScreen","isConnected","hasOnClickOverride","onClick","disabled","event","name","params","swapMode","flowType","flowProps","marketPrice","onClose","deltaPrice","undefined","T0","t1","t2","t3","className","t4","t5","LimitOrderTradeFlowButtonProps","limitPrice","LimitTradeFlowScreenButton","onLimitOrder","OtcOrderTradeFlowButtonProps","otcPrice","OtcTradeFlowScreenButton","onOTCOrder","TwapTradeFlowButtonProps","twapPrice","TwapTradeFlowScreenButton","onTwapOrder"],"sources":["../../src/core/TradeFlowScreenButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { cn } from \"@/lib/utils\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { useSetScreen } from \"./screen/state/hooks/useSetScreen\";\nimport { useWidgetEvents } from \"./state/widgetEventsAtom\";\n\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport type { UserDefinedOtcPrice } from \"@/hooks/otc/tradeFlow/useOtcOrderFlow\";\nimport type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\n\ntype BaseTradeFlowButtonProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n labelOverride?: string;\n};\n\ntype SwapTradeFlowButtonProps = BaseTradeFlowButtonProps &\n (\n | { price?: OptimalRate; priceMode: \"market\" }\n | { price?: DeltaPrice | BridgePrice; priceMode: \"delta\" }\n );\nexport function SwapTradeFlowScreenButton({\n orderProps,\n price,\n priceMode,\n labelOverride,\n ...buttonProps\n}: SwapTradeFlowButtonProps) {\n const { onSwap } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const hasOnClickOverride = !!buttonProps.onClick;\n\n const disabled =\n buttonProps.disabled ||\n !isConnected ||\n (!hasOnClickOverride && (!orderProps || !price));\n\n const onClick =\n buttonProps.onClick ??\n (orderProps && price\n ? () => {\n if (priceMode === \"market\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"marketSwap\",\n flowProps: {\n orderProps,\n marketPrice: price,\n onClose: closeScreen,\n },\n });\n } else if (priceMode === \"delta\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"deltaOrder\",\n flowProps: {\n orderProps,\n deltaPrice: price,\n onClose: closeScreen,\n },\n });\n }\n }\n : undefined);\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Swap\"}\n </Button>\n );\n}\n\ntype LimitOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport function LimitTradeFlowScreenButton({\n orderProps,\n limitPrice,\n labelOverride,\n ...buttonProps\n}: LimitOrderTradeFlowButtonProps) {\n const { onLimitOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const hasOnClickOverride = !!buttonProps.onClick;\n\n const disabled =\n buttonProps.disabled ||\n !isConnected ||\n (!hasOnClickOverride && (!orderProps || !limitPrice));\n\n const onClick =\n buttonProps.onClick ??\n (orderProps && limitPrice\n ? () => {\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:click\",\n params: {\n price: limitPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"limitOrder\",\n flowProps: {\n orderProps,\n limitPrice,\n onClose: closeScreen,\n },\n });\n }\n : undefined);\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype OtcOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n otcPrice?: UserDefinedOtcPrice;\n};\n\nexport function OtcTradeFlowScreenButton({\n orderProps,\n otcPrice,\n labelOverride,\n ...buttonProps\n}: OtcOrderTradeFlowButtonProps) {\n const { onOTCOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const hasOnClickOverride = !!buttonProps.onClick;\n\n const disabled =\n buttonProps.disabled ||\n !isConnected ||\n (!hasOnClickOverride && (!orderProps || !otcPrice));\n\n const onClick =\n buttonProps.onClick ??\n (orderProps && otcPrice\n ? () => {\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:click\",\n params: {\n price: otcPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"otcOrder\",\n flowProps: {\n orderProps,\n otcPrice,\n onClose: closeScreen,\n },\n });\n }\n : undefined);\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype TwapTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n twapPrice?: DeltaOrBridgePrice;\n};\n\nexport function TwapTradeFlowScreenButton({\n orderProps,\n twapPrice,\n labelOverride,\n ...buttonProps\n}: TwapTradeFlowButtonProps) {\n const { onTwapOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !twapPrice;\n\n const onClick =\n orderProps && twapPrice\n ? () => {\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:click\",\n params: {\n price: twapPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"twapOrder\",\n flowProps: {\n orderProps,\n twapPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Confirm\"}\n </Button>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TradeFlowScreenButton.js","names":["Button","MinTradeOverviewProps","cn","DeltaV2","OptimalRate","useAccount","useSetScreen","useWidgetEvents","UserDefinedLimitPrice","UserDefinedOtcPrice","BaseTradeFlowButtonProps","React","ComponentProps","orderProps","labelOverride","SwapTradeFlowButtonProps","price","priceMode","DeltaPrice","SwapTradeFlowScreenButton","t0","$","_c","buttonProps","onSwap","showTradeOverviewScreen","closeScreen","isConnected","hasOnClickOverride","onClick","disabled","event","name","params","swapMode","flowType","flowProps","marketPrice","onClose","deltaPrice","undefined","T0","t1","t2","t3","className","t4","t5","LimitOrderTradeFlowButtonProps","limitPrice","LimitTradeFlowScreenButton","onLimitOrder","OtcOrderTradeFlowButtonProps","otcPrice","OtcTradeFlowScreenButton","onOTCOrder","TwapTradeFlowButtonProps","twapPrice","TwapTradeFlowScreenButton","onTwapOrder"],"sources":["../../src/core/TradeFlowScreenButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { cn } from \"@/lib/utils\";\nimport type { DeltaV2, OptimalRate } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { useSetScreen } from \"./screen/state/hooks/useSetScreen\";\nimport { useWidgetEvents } from \"./state/widgetEventsAtom\";\n\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport type { UserDefinedOtcPrice } from \"@/hooks/otc/tradeFlow/useOtcOrderFlow\";\n\ntype BaseTradeFlowButtonProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n labelOverride?: string;\n};\n\ntype SwapTradeFlowButtonProps = BaseTradeFlowButtonProps &\n (\n | { price?: OptimalRate; priceMode: \"market\" }\n | { price?: DeltaV2.DeltaPrice; priceMode: \"delta\" }\n );\nexport function SwapTradeFlowScreenButton({\n orderProps,\n price,\n priceMode,\n labelOverride,\n ...buttonProps\n}: SwapTradeFlowButtonProps) {\n const { onSwap } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const hasOnClickOverride = !!buttonProps.onClick;\n\n const disabled =\n buttonProps.disabled ||\n !isConnected ||\n (!hasOnClickOverride && (!orderProps || !price));\n\n const onClick =\n buttonProps.onClick ??\n (orderProps && price\n ? () => {\n if (priceMode === \"market\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"marketSwap\",\n flowProps: {\n orderProps,\n marketPrice: price,\n onClose: closeScreen,\n },\n });\n } else if (priceMode === \"delta\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"deltaOrder\",\n flowProps: {\n orderProps,\n deltaPrice: price,\n onClose: closeScreen,\n },\n });\n }\n }\n : undefined);\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Swap\"}\n </Button>\n );\n}\n\ntype LimitOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport function LimitTradeFlowScreenButton({\n orderProps,\n limitPrice,\n labelOverride,\n ...buttonProps\n}: LimitOrderTradeFlowButtonProps) {\n const { onLimitOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const hasOnClickOverride = !!buttonProps.onClick;\n\n const disabled =\n buttonProps.disabled ||\n !isConnected ||\n (!hasOnClickOverride && (!orderProps || !limitPrice));\n\n const onClick =\n buttonProps.onClick ??\n (orderProps && limitPrice\n ? () => {\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:click\",\n params: {\n price: limitPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"limitOrder\",\n flowProps: {\n orderProps,\n limitPrice,\n onClose: closeScreen,\n },\n });\n }\n : undefined);\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype OtcOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n otcPrice?: UserDefinedOtcPrice;\n};\n\nexport function OtcTradeFlowScreenButton({\n orderProps,\n otcPrice,\n labelOverride,\n ...buttonProps\n}: OtcOrderTradeFlowButtonProps) {\n const { onOTCOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const hasOnClickOverride = !!buttonProps.onClick;\n\n const disabled =\n buttonProps.disabled ||\n !isConnected ||\n (!hasOnClickOverride && (!orderProps || !otcPrice));\n\n const onClick =\n buttonProps.onClick ??\n (orderProps && otcPrice\n ? () => {\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:click\",\n params: {\n price: otcPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"otcOrder\",\n flowProps: {\n orderProps,\n otcPrice,\n onClose: closeScreen,\n },\n });\n }\n : undefined);\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype TwapTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n twapPrice?: DeltaV2.DeltaPrice;\n};\n\nexport function TwapTradeFlowScreenButton({\n orderProps,\n twapPrice,\n labelOverride,\n ...buttonProps\n}: TwapTradeFlowButtonProps) {\n const { onTwapOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !twapPrice;\n\n const onClick =\n orderProps && twapPrice\n ? () => {\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:click\",\n params: {\n price: twapPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"twapOrder\",\n flowProps: {\n orderProps,\n twapPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Confirm\"}\n </Button>\n );\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useGetContracts as e } from "../hooks/sdk/useGetContracts.js";
2
2
  import { useFetchTokenLists as t } from "../tokens/queries.js";
3
- import { useGetBridgeInfo as n } from "../hooks/useBridgeInfo.js";
3
+ import { useGetBridgeRoutes as n } from "../hooks/useBridgeRoutes.js";
4
4
  import { useCacheMinViemClient as r } from "../hooks/useMinViemClient.js";
5
5
  import { useIsAccountContract as i } from "../hooks/getCode/useIsAccountContract.js";
6
6
  import { useTokenFromPermit1Nonce as a } from "../hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Updaters.js","names":["useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useTokenFromPermit2AllowanceQuery","useTokenFromPermitInfo","useGetContracts","useGetBridgeInfo","useFetchTokenLists","usePrefetchTokenBalances","useSafeInfo","useCanBatchTxs","useOnWalletConnected","useActivateEffects","useActivateEventEffects","useActivateTransactionEffects","useActivateTokenListEffects","useActivateFormInputEffects","useActivateConfigEffect","useOnPriceUpdates","useBridgeProtocolsQuery","useCacheMinViemClient","useIsAccountContract","useWatchWalletMetadata","useActivateUnpostedOrdersEffect","Updaters","$","_c","t0","Symbol","for","mode","t1"],"sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\nimport { useTokenFromPermit2AllowanceQuery } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance\";\nimport { useTokenFromPermitInfo } from \"@/hooks/permit/hooks/permit1/useTokenFromPermitInfo\";\nimport { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { useGetBridgeInfo } from \"@/hooks/useBridgeInfo\";\nimport { useFetchTokenLists } from \"@/tokens/queries\";\nimport { usePrefetchTokenBalances } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport { useSafeInfo } from \"@/lib/web3/wagmi/isInsideSafeIframe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useOnWalletConnected } from \"@/events/hooks/useOnWalletConnect\";\nimport { useActivateEffects as useActivateEventEffects } from \"@/events/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTransactionEffects } from \"@/transactions/state/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTokenListEffects } from \"@/tokens/lists/state/effects\";\nimport { useActivateFormInputEffects } from \"./inputs/state/setTokenByAddressAtom\";\nimport { useActivateConfigEffect } from \"./state/configEffectAtom\";\nimport { useOnPriceUpdates } from \"@/events/hooks/useOnPriceUpdates\";\nimport { useBridgeProtocolsQuery } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols\";\nimport { useCacheMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useWatchWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useActivateUnpostedOrdersEffect } from \"@/hooks/swap/prices/delta/orders/unposted/effect\";\n\nexport const Updaters = () => {\n // fetch tokens from currently enabled lists\n useFetchTokenLists();\n // activate effects for token lists\n useActivateTokenListEffects();\n\n // all balances that would be fetched in TokenSelector for current chain\n usePrefetchTokenBalances();\n useGetBridgeInfo({ mode: \"swap\" }); // @TODO: prefetch instead\n useGetBridgeInfo({ mode: \"limit\" });\n useGetContracts(); // @TODO: prefetch instead\n useBridgeProtocolsQuery();\n\n // for each selected tokenFrom detect its supported Permit1\n useTokenFromPermitInfo();\n // for each selected tokenFrom keep track of Token.nonce if available on Token\n useTokenFromPermit1Nonce();\n // for each selected tokenFrom keep track of given allowance to Permit2 contract\n useTokenFromPermit2AllowanceQuery();\n // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\n\n // check if wallet is a contract on every network\n useIsAccountContract();\n // keep fresh wallet metadata for all connections\n useWatchWalletMetadata();\n\n // check ahead of opening ConnectWallets drawer to prevent Safe button appearing\n // if we are not in a non-Safe iframe\n useSafeInfo();\n\n // check if wallet can batch txs\n useCanBatchTxs();\n\n // events when wallet is connected\n useOnWalletConnected();\n\n // events when price state updates\n useOnPriceUpdates();\n\n // activate effects for state atoms\n useActivateEventEffects();\n\n // activate effects for transaction atoms\n useActivateTransactionEffects();\n\n // activate effects for form input atoms\n useActivateFormInputEffects();\n\n // activate widget config effects\n useActivateConfigEffect();\n\n // POST unposted orders effect\n useActivateUnpostedOrdersEffect();\n\n // keep one subscriber to useConnectorClient query at all times\n // to avoid async client creation on useMinViemClient mount\n // and first minClient being undefined for a short time\n useCacheMinViemClient();\n\n return null;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAauB,UAAW;CAAA,IAAAC,IAAAC,EAAA,EAAA;CAOtBlB,AALAD,GAAoB,EAEpBQ,GAA6B,EAG7BP,GAA0B;CAAA,IAAAmB;CAC1BrB,AAD0BmB,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IACTF,IAAA,EAAAG,MAAQ,QAAQ,EAAAL,EAAA,KAAAE,KAAAA,IAAAF,EAAA,IAAjCnB,EAAiBqB,EAAiB;CAAA,IAAAI;CAkDX,OAlDWN,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IACjBE,IAAA,EAAAD,MAAQ,SAAS,EAAAL,EAAA,KAAAM,KAAAA,IAAAN,EAAA,IAAlCnB,EAAiByB,EAAkB,EACnC1B,GAAiB,EACjBc,GAAyB,EAGzBf,GAAwB,EAExBH,GAA0B,EAE1BE,GAAmC,EAEnCD,GAAsC,EAGtCmB,GAAsB,EAEtBC,GAAwB,EAIxBb,GAAa,EAGbC,GAAgB,EAGhBC,GAAsB,EAGtBO,GAAmB,EAGnBL,GAAyB,EAGzBC,GAA+B,EAG/BE,GAA6B,EAG7BC,GAAyB,EAGzBM,GAAiC,EAKjCH,GAAuB,EAEhB"}
1
+ {"version":3,"file":"Updaters.js","names":["useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useTokenFromPermit2AllowanceQuery","useTokenFromPermitInfo","useGetContracts","useGetBridgeRoutes","useFetchTokenLists","usePrefetchTokenBalances","useSafeInfo","useCanBatchTxs","useOnWalletConnected","useActivateEffects","useActivateEventEffects","useActivateTransactionEffects","useActivateTokenListEffects","useActivateFormInputEffects","useActivateConfigEffect","useOnPriceUpdates","useBridgeProtocolsQuery","useCacheMinViemClient","useIsAccountContract","useWatchWalletMetadata","useActivateUnpostedOrdersEffect","Updaters","$","_c","t0","Symbol","for","mode","t1"],"sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\nimport { useTokenFromPermit2AllowanceQuery } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance\";\nimport { useTokenFromPermitInfo } from \"@/hooks/permit/hooks/permit1/useTokenFromPermitInfo\";\nimport { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { useGetBridgeRoutes } from \"@/hooks/useBridgeRoutes\";\nimport { useFetchTokenLists } from \"@/tokens/queries\";\nimport { usePrefetchTokenBalances } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport { useSafeInfo } from \"@/lib/web3/wagmi/isInsideSafeIframe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useOnWalletConnected } from \"@/events/hooks/useOnWalletConnect\";\nimport { useActivateEffects as useActivateEventEffects } from \"@/events/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTransactionEffects } from \"@/transactions/state/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTokenListEffects } from \"@/tokens/lists/state/effects\";\nimport { useActivateFormInputEffects } from \"./inputs/state/setTokenByAddressAtom\";\nimport { useActivateConfigEffect } from \"./state/configEffectAtom\";\nimport { useOnPriceUpdates } from \"@/events/hooks/useOnPriceUpdates\";\nimport { useBridgeProtocolsQuery } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols\";\nimport { useCacheMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useWatchWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useActivateUnpostedOrdersEffect } from \"@/hooks/swap/prices/delta/orders/unposted/effect\";\n\nexport const Updaters = () => {\n // fetch tokens from currently enabled lists\n useFetchTokenLists();\n // activate effects for token lists\n useActivateTokenListEffects();\n\n // all balances that would be fetched in TokenSelector for current chain\n usePrefetchTokenBalances();\n useGetBridgeRoutes({ mode: \"swap\" }); // @TODO: prefetch instead\n useGetBridgeRoutes({ mode: \"limit\" });\n useGetContracts(); // @TODO: prefetch instead\n useBridgeProtocolsQuery();\n\n // for each selected tokenFrom detect its supported Permit1\n useTokenFromPermitInfo();\n // for each selected tokenFrom keep track of Token.nonce if available on Token\n useTokenFromPermit1Nonce();\n // for each selected tokenFrom keep track of given allowance to Permit2 contract\n useTokenFromPermit2AllowanceQuery();\n // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\n\n // check if wallet is a contract on every network\n useIsAccountContract();\n // keep fresh wallet metadata for all connections\n useWatchWalletMetadata();\n\n // check ahead of opening ConnectWallets drawer to prevent Safe button appearing\n // if we are not in a non-Safe iframe\n useSafeInfo();\n\n // check if wallet can batch txs\n useCanBatchTxs();\n\n // events when wallet is connected\n useOnWalletConnected();\n\n // events when price state updates\n useOnPriceUpdates();\n\n // activate effects for state atoms\n useActivateEventEffects();\n\n // activate effects for transaction atoms\n useActivateTransactionEffects();\n\n // activate effects for form input atoms\n useActivateFormInputEffects();\n\n // activate widget config effects\n useActivateConfigEffect();\n\n // POST unposted orders effect\n useActivateUnpostedOrdersEffect();\n\n // keep one subscriber to useConnectorClient query at all times\n // to avoid async client creation on useMinViemClient mount\n // and first minClient being undefined for a short time\n useCacheMinViemClient();\n\n return null;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAauB,UAAW;CAAA,IAAAC,IAAAC,EAAA,EAAA;CAOtBlB,AALAD,GAAoB,EAEpBQ,GAA6B,EAG7BP,GAA0B;CAAA,IAAAmB;CAC1BrB,AAD0BmB,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IACPF,IAAA,EAAAG,MAAQ,QAAQ,EAAAL,EAAA,KAAAE,KAAAA,IAAAF,EAAA,IAAnCnB,EAAmBqB,EAAiB;CAAA,IAAAI;CAkDb,OAlDaN,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IACjBE,IAAA,EAAAD,MAAQ,SAAS,EAAAL,EAAA,KAAAM,KAAAA,IAAAN,EAAA,IAApCnB,EAAmByB,EAAkB,EACrC1B,GAAiB,EACjBc,GAAyB,EAGzBf,GAAwB,EAExBH,GAA0B,EAE1BE,GAAmC,EAEnCD,GAAsC,EAGtCmB,GAAsB,EAEtBC,GAAwB,EAIxBb,GAAa,EAGbC,GAAgB,EAGhBC,GAAsB,EAGtBO,GAAmB,EAGnBL,GAAyB,EAGzBC,GAA+B,EAG/BE,GAA6B,EAG7BC,GAAyB,EAGzBM,GAAiC,EAKjCH,GAAuB,EAEhB"}
@@ -1,10 +1,10 @@
1
1
  import { SupportedChainId } from '../../lib/web3/wagmi/types';
2
2
  import { Getter } from 'jotai';
3
- import { BridgeInfoMode } from '../../hooks/swap/prices/delta/queries/bridgeInfo/types';
3
+ import { BridgeRoutesMode } from '../../hooks/swap/prices/delta/queries/bridgeRoutes/types';
4
4
  export declare function isCrosschainPossible({ get, chainIdFrom, chainIdTo, mode, }: {
5
5
  get: Getter;
6
6
  chainIdFrom: SupportedChainId;
7
7
  chainIdTo: SupportedChainId;
8
- mode: BridgeInfoMode;
8
+ mode: BridgeRoutesMode;
9
9
  }): boolean;
10
10
  //# sourceMappingURL=isCrosschainPossible.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isCrosschainPossible.d.ts","sourceRoot":"","sources":["../../../src/core/across/isCrosschainPossible.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAEzF,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CA0BV"}
1
+ {"version":3,"file":"isCrosschainPossible.d.ts","sourceRoot":"","sources":["../../../src/core/across/isCrosschainPossible.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,gBAAgB,CAAC;CACxB,GAAG,OAAO,CA0BV"}
@@ -1 +1 @@
1
- {"version":3,"file":"isCrosschainPossible.js","names":["deltaParamAtom","tradeModeAtom","isAcrossAvailable","widgetConfigAtom","enabledSrcChainsAtom","getSelectableDestChains","SupportedChainId","deltaEnabledOnAPI","Getter","BridgeInfoMode","isCrosschainPossible","get","chainIdFrom","chainIdTo","mode","tradeMode","deltaEnabledInSettings","enableDelta","enableCrossChain","enabledSrcChains","includes","selectableDestChains","fromChainId"],"sources":["../../../src/core/across/isCrosschainPossible.ts"],"sourcesContent":["import { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { tradeModeAtom } from \"../state/tradeModeAtom\";\nimport { isAcrossAvailable } from \"./utils\";\nimport { widgetConfigAtom } from \"../state/configAtom\";\nimport { enabledSrcChainsAtom } from \"../state/enabledChainsAtom\";\nimport { getSelectableDestChains } from \"../state/getSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport type { Getter } from \"jotai\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function isCrosschainPossible({\n get,\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n get: Getter;\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n if (!deltaEnabledOnAPI[chainIdFrom]) return false;\n\n if (!isAcrossAvailable({ chainIdFrom, chainIdTo, mode })) return false;\n\n const tradeMode = get(tradeModeAtom);\n // @TODO reenable TWAP crosschain when ready on the API\n if (tradeMode !== \"swap\" && tradeMode !== \"limit\" /*&& tradeMode !== \"twap\"*/)\n return false;\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n if (!deltaEnabledInSettings) return false;\n\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n if (!enableDelta || !enableCrossChain) return false;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainIdFrom)) return false;\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: chainIdFrom,\n mode,\n });\n if (!selectableDestChains.includes(chainIdTo)) return false;\n\n return true;\n}\n"],"mappings":";;;;;;;;AAWA,SAAgBU,EAAqB,EACnCC,QACAC,gBACAC,cACAC,WAMU;CAGV,IAFI,CAACP,EAAkBK,MAEnB,CAACV,EAAkB;EAAEU;EAAaC;EAAWC;EAAM,CAAC,EAAE,OAAO;CAEjE,IAAMC,IAAYJ,EAAIV,EAAc;CAMpC,IAJIc,MAAc,UAAUA,MAAc,WAItC,CAD2BJ,EAAIX,EAC9BgB,EAAwB,OAAO;CAEpC,IAAM,EAAEC,gBAAaC,wBAAqBP,EAAIR,EAAiB;CAY/D,OAFA,EATI,CAACc,KAAe,CAACC,KAGjB,CADqBP,EAAIP,EACxBe,CAAiBC,SAASR,EAAY,IAMvC,CAJyBP,EAAwBM,GAAK;EACxDW,aAAaV;EACbE;EACD,CACIO,CAAqBD,SAASP,EAAU"}
1
+ {"version":3,"file":"isCrosschainPossible.js","names":["deltaParamAtom","tradeModeAtom","isAcrossAvailable","widgetConfigAtom","enabledSrcChainsAtom","getSelectableDestChains","SupportedChainId","deltaEnabledOnAPI","Getter","BridgeRoutesMode","isCrosschainPossible","get","chainIdFrom","chainIdTo","mode","tradeMode","deltaEnabledInSettings","enableDelta","enableCrossChain","enabledSrcChains","includes","selectableDestChains","fromChainId"],"sources":["../../../src/core/across/isCrosschainPossible.ts"],"sourcesContent":["import { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { tradeModeAtom } from \"../state/tradeModeAtom\";\nimport { isAcrossAvailable } from \"./utils\";\nimport { widgetConfigAtom } from \"../state/configAtom\";\nimport { enabledSrcChainsAtom } from \"../state/enabledChainsAtom\";\nimport { getSelectableDestChains } from \"../state/getSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport type { Getter } from \"jotai\";\nimport type { BridgeRoutesMode } from \"@/hooks/swap/prices/delta/queries/bridgeRoutes/types\";\n\nexport function isCrosschainPossible({\n get,\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n get: Getter;\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeRoutesMode;\n}): boolean {\n if (!deltaEnabledOnAPI[chainIdFrom]) return false;\n\n if (!isAcrossAvailable({ chainIdFrom, chainIdTo, mode })) return false;\n\n const tradeMode = get(tradeModeAtom);\n // @TODO reenable TWAP crosschain when ready on the API\n if (tradeMode !== \"swap\" && tradeMode !== \"limit\" /*&& tradeMode !== \"twap\"*/)\n return false;\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n if (!deltaEnabledInSettings) return false;\n\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n if (!enableDelta || !enableCrossChain) return false;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainIdFrom)) return false;\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: chainIdFrom,\n mode,\n });\n if (!selectableDestChains.includes(chainIdTo)) return false;\n\n return true;\n}\n"],"mappings":";;;;;;;;AAWA,SAAgBU,EAAqB,EACnCC,QACAC,gBACAC,cACAC,WAMU;CAGV,IAFI,CAACP,EAAkBK,MAEnB,CAACV,EAAkB;EAAEU;EAAaC;EAAWC;EAAM,CAAC,EAAE,OAAO;CAEjE,IAAMC,IAAYJ,EAAIV,EAAc;CAMpC,IAJIc,MAAc,UAAUA,MAAc,WAItC,CAD2BJ,EAAIX,EAC9BgB,EAAwB,OAAO;CAEpC,IAAM,EAAEC,gBAAaC,wBAAqBP,EAAIR,EAAiB;CAY/D,OAFA,EATI,CAACc,KAAe,CAACC,KAGjB,CADqBP,EAAIP,EACxBe,CAAiBC,SAASR,EAAY,IAMvC,CAJyBP,EAAwBM,GAAK;EACxDW,aAAaV;EACbE;EACD,CACIO,CAAqBD,SAASP,EAAU"}
@@ -1,23 +1,23 @@
1
1
  import { Token } from '../../tokens/state/types';
2
2
  import { SupportedChainId } from '../../lib/web3/wagmi/types';
3
3
  import { TokensFromLists } from '../../tokens/state/fromListsAtom';
4
- import { BridgeInfoMode } from '../../hooks/swap/prices/delta/queries/bridgeInfo/types';
4
+ import { BridgeRoutesMode } from '../../hooks/swap/prices/delta/queries/bridgeRoutes/types';
5
5
  export declare function isAcrossAvailable({ chainIdFrom, chainIdTo, mode, }: {
6
6
  chainIdFrom: SupportedChainId;
7
7
  chainIdTo: SupportedChainId;
8
- mode: BridgeInfoMode;
8
+ mode: BridgeRoutesMode;
9
9
  }): boolean;
10
10
  export declare function findFirstTokenFromAcross({ fromChainId, toChainId, listByChainId, mode, }: {
11
11
  fromChainId: SupportedChainId;
12
12
  toChainId: SupportedChainId;
13
13
  listByChainId: Record<number, TokensFromLists<Token>>;
14
- mode: BridgeInfoMode;
14
+ mode: BridgeRoutesMode;
15
15
  }): Token | undefined;
16
16
  type IsTokenFromAcrossInput = {
17
17
  token: Pick<Token, "address">;
18
18
  fromChainId: SupportedChainId;
19
19
  toChainId: SupportedChainId;
20
- mode: BridgeInfoMode;
20
+ mode: BridgeRoutesMode;
21
21
  };
22
22
  export declare function isTokenFromAcross({ token, fromChainId, toChainId, mode, }: IsTokenFromAcrossInput): boolean | undefined;
23
23
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/across/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAGzF,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CAQV;AAED,wBAAgB,wBAAwB,CAAC,EACvC,WAAW,EACX,SAAS,EACT,aAAa,EACb,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG,KAAK,GAAG,SAAS,CAcpB;AAED,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAW9C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/across/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAoB7F,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,gBAAgB,CAAC;CACxB,GAAG,OAAO,CAQV;AAED,wBAAgB,wBAAwB,CAAC,EACvC,WAAW,EACX,SAAS,EACT,aAAa,EACb,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,EAAE,gBAAgB,CAAC;CACxB,GAAG,KAAK,GAAG,SAAS,CAUpB;AAED,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAS9C"}
@@ -1,22 +1,32 @@
1
- import { getBridgeInfoQueryData as e } from "../../hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js";
1
+ import { getBridgeRoutesQueryData as e } from "../../hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.js";
2
2
  //#region src/core/across/utils.ts
3
- function t({ chainIdFrom: t, chainIdTo: n, mode: r }) {
4
- let i = e(r);
5
- return i ? !!i[t]?.[n]?.length : !1;
3
+ function t({ fromChainId: t, toChainId: n, mode: r }) {
4
+ return e(r)?.find((e) => e.srcChainId === t && e.destChainId === n)?.tokens;
6
5
  }
7
- function n({ fromChainId: t, toChainId: n, listByChainId: r, mode: i }) {
8
- let a = e(i);
9
- if (!a) return;
10
- let o = r[n]?.addressMap, s = (a[t]?.[n])?.find((e) => o?.[e.toLowerCase()]);
11
- return s ? o?.[s.toLowerCase()] : void 0;
6
+ function n({ chainIdFrom: e, chainIdTo: n, mode: r }) {
7
+ return !!t({
8
+ fromChainId: e,
9
+ toChainId: n,
10
+ mode: r
11
+ })?.length;
12
12
  }
13
- function r({ token: t, fromChainId: n, toChainId: r, mode: i }) {
14
- let a = e(i);
15
- if (!a) return;
16
- let o = a[n]?.[r];
17
- return o ? !!o.find((e) => e.toLowerCase() === t.address.toLowerCase()) : !1;
13
+ function r({ fromChainId: e, toChainId: n, listByChainId: r, mode: i }) {
14
+ let a = r[n]?.addressMap, o = t({
15
+ fromChainId: e,
16
+ toChainId: n,
17
+ mode: i
18
+ })?.find((e) => a?.[e.toLowerCase()]);
19
+ return o ? a?.[o.toLowerCase()] : void 0;
20
+ }
21
+ function i({ token: e, fromChainId: n, toChainId: r, mode: i }) {
22
+ let a = t({
23
+ fromChainId: n,
24
+ toChainId: r,
25
+ mode: i
26
+ });
27
+ return a ? !!a.find((t) => t.toLowerCase() === e.address.toLowerCase()) : !1;
18
28
  }
19
29
  //#endregion
20
- export { n as findFirstTokenFromAcross, t as isAcrossAvailable, r as isTokenFromAcross };
30
+ export { r as findFirstTokenFromAcross, n as isAcrossAvailable, i as isTokenFromAcross };
21
31
 
22
32
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["Token","SupportedChainId","TokensFromLists","BridgeInfoMode","getBridgeInfoQueryData","isAcrossAvailable","chainIdFrom","chainIdTo","mode","cachedBridgeInfo","acrossTokens","length","findFirstTokenFromAcross","fromChainId","toChainId","listByChainId","Record","tokenMap","addressMap","tokenToAddress","find","address","toLowerCase","undefined","IsTokenFromAcrossInput","token","Pick","isTokenFromAcross","tokenAddresses","isIncluded"],"sources":["../../../src/core/across/utils.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\n\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { TokensFromLists } from \"@/tokens/state/fromListsAtom\";\nimport { type BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport { getBridgeInfoQueryData } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData\";\n\nexport function isAcrossAvailable({\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n\n if (!cachedBridgeInfo) return false;\n\n const acrossTokens = cachedBridgeInfo[chainIdFrom]?.[chainIdTo];\n\n return !!acrossTokens?.length;\n}\n\nexport function findFirstTokenFromAcross({\n fromChainId,\n toChainId,\n listByChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n listByChainId: Record<number, TokensFromLists<Token>>;\n mode: BridgeInfoMode;\n}): Token | undefined {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n\n if (!cachedBridgeInfo) return;\n\n const tokenMap = listByChainId[toChainId]?.addressMap;\n\n const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n const tokenToAddress = acrossTokens?.find(\n (address) => tokenMap?.[address.toLowerCase()]\n );\n\n return tokenToAddress ? tokenMap?.[tokenToAddress.toLowerCase()] : undefined;\n}\n\ntype IsTokenFromAcrossInput = {\n token: Pick<Token, \"address\">;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n};\n\nexport function isTokenFromAcross({\n token,\n fromChainId,\n toChainId,\n mode,\n}: IsTokenFromAcrossInput): boolean | undefined {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n if (!cachedBridgeInfo) return;\n const tokenAddresses = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n if (!tokenAddresses) return false;\n const isIncluded = tokenAddresses.find(\n (address) => address.toLowerCase() === token.address.toLowerCase()\n );\n\n return !!isIncluded;\n}\n"],"mappings":";;AAOA,SAAgBK,EAAkB,EAChCC,gBACAC,cACAC,WAKU;CACV,IAAMC,IAAmBL,EAAuBI,EAAK;CAMrD,OAJKC,IAIE,CAAC,CAFaA,EAAiBH,KAAeC,IAE9BI,SAJO;;AAOhC,SAAgBC,EAAyB,EACvCC,gBACAC,cACAC,kBACAP,WAMoB;CACpB,IAAMC,IAAmBL,EAAuBI,EAAK;CAErD,IAAI,CAACC,GAAkB;CAEvB,IAAMQ,IAAWF,EAAcD,IAAYI,YAIrCC,KAFeV,EAAiBI,KAAeC,KAEhBM,MAClCC,MAAYJ,IAAWI,EAAQC,aAAa,EAC9C;CAED,OAAOH,IAAiBF,IAAWE,EAAeG,aAAa,IAAIC,KAAAA;;AAUrE,SAAgBI,EAAkB,EAChCF,UACAZ,gBACAC,cACAN,WAC8C;CAC9C,IAAMC,IAAmBL,EAAuBI,EAAK;CACrD,IAAI,CAACC,GAAkB;CACvB,IAAMmB,IAAiBnB,EAAiBI,KAAeC;CAOvD,OALKc,IAKE,CAAC,CAJWA,EAAeR,MAC/BC,MAAYA,EAAQC,aAAa,KAAKG,EAAMJ,QAAQC,aACvD,CAESO,GALmB"}
1
+ {"version":3,"file":"utils.js","names":["Token","SupportedChainId","TokensFromLists","BridgeRoutesMode","getBridgeRoutesQueryData","findBridgeRouteTokens","fromChainId","toChainId","mode","cachedBridgeRoutes","find","route","srcChainId","destChainId","tokens","isAcrossAvailable","chainIdFrom","chainIdTo","acrossTokens","length","findFirstTokenFromAcross","listByChainId","Record","tokenMap","addressMap","tokenToAddress","address","toLowerCase","undefined","IsTokenFromAcrossInput","token","Pick","isTokenFromAcross","tokenAddresses","isIncluded"],"sources":["../../../src/core/across/utils.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\n\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { TokensFromLists } from \"@/tokens/state/fromListsAtom\";\nimport { type BridgeRoutesMode } from \"@/hooks/swap/prices/delta/queries/bridgeRoutes/types\";\nimport { getBridgeRoutesQueryData } from \"@/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData\";\n\nfunction findBridgeRouteTokens({\n fromChainId,\n toChainId,\n mode,\n}: {\n fromChainId: number;\n toChainId: number;\n mode: BridgeRoutesMode;\n}): string[] | undefined {\n const cachedBridgeRoutes = getBridgeRoutesQueryData(mode);\n\n return cachedBridgeRoutes?.find(\n (route) =>\n route.srcChainId === fromChainId && route.destChainId === toChainId\n )?.tokens;\n}\n\nexport function isAcrossAvailable({\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeRoutesMode;\n}): boolean {\n const acrossTokens = findBridgeRouteTokens({\n fromChainId: chainIdFrom,\n toChainId: chainIdTo,\n mode,\n });\n\n return !!acrossTokens?.length;\n}\n\nexport function findFirstTokenFromAcross({\n fromChainId,\n toChainId,\n listByChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n listByChainId: Record<number, TokensFromLists<Token>>;\n mode: BridgeRoutesMode;\n}): Token | undefined {\n const tokenMap = listByChainId[toChainId]?.addressMap;\n\n const acrossTokens = findBridgeRouteTokens({ fromChainId, toChainId, mode });\n\n const tokenToAddress = acrossTokens?.find(\n (address) => tokenMap?.[address.toLowerCase()]\n );\n\n return tokenToAddress ? tokenMap?.[tokenToAddress.toLowerCase()] : undefined;\n}\n\ntype IsTokenFromAcrossInput = {\n token: Pick<Token, \"address\">;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeRoutesMode;\n};\n\nexport function isTokenFromAcross({\n token,\n fromChainId,\n toChainId,\n mode,\n}: IsTokenFromAcrossInput): boolean | undefined {\n const tokenAddresses = findBridgeRouteTokens({ fromChainId, toChainId, mode });\n\n if (!tokenAddresses) return false;\n const isIncluded = tokenAddresses.find(\n (address) => address.toLowerCase() === token.address.toLowerCase()\n );\n\n return !!isIncluded;\n}\n"],"mappings":";;AAOA,SAASK,EAAsB,EAC7BC,gBACAC,cACAC,WAKuB;CAGvB,OAF2BJ,EAAyBI,EAE7CC,EAAoBC,MACxBC,MACCA,EAAMC,eAAeN,KAAeK,EAAME,gBAAgBN,EAC7D,EAAEO;;AAGL,SAAgBC,EAAkB,EAChCC,gBACAC,cACAT,WAKU;CAOV,OAAO,CAAC,CANaH,EAAsB;EACzCC,aAAaU;EACbT,WAAWU;EACXT;EACD,CAEQU,EAAcC;;AAGzB,SAAgBC,EAAyB,EACvCd,gBACAC,cACAc,kBACAb,WAMoB;CACpB,IAAMe,IAAWF,EAAcd,IAAYiB,YAIrCC,IAFepB,EAAsB;EAAEC;EAAaC;EAAWC;EAAM,CAEpDU,EAAcR,MAClCgB,MAAYH,IAAWG,EAAQC,aAAa,EAC9C;CAED,OAAOF,IAAiBF,IAAWE,EAAeE,aAAa,IAAIC,KAAAA;;AAUrE,SAAgBI,EAAkB,EAChCF,UACAxB,gBACAC,cACAC,WAC8C;CAC9C,IAAMyB,IAAiB5B,EAAsB;EAAEC;EAAaC;EAAWC;EAAM,CAAC;CAO9E,OALKyB,IAKE,CAAC,CAJWA,EAAevB,MAC/BgB,MAAYA,EAAQC,aAAa,KAAKG,EAAMJ,QAAQC,aACvD,CAESO,GALmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetButtonExtraProps.d.ts","sourceRoot":"","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AA0G5D,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAkE7D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAyE7D;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAgD7D;AAED,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAkD7D"}
1
+ {"version":3,"file":"useWidgetButtonExtraProps.d.ts","sourceRoot":"","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AA0G5D,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAkE7D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAuE7D;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAgD7D;AAED,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAkD7D"}
@@ -108,10 +108,7 @@ function w(e) {
108
108
  tradeMode: "limit"
109
109
  }, n[0] = r, n[1] = i, n[2] = a) : a = n[2];
110
110
  let { wrongNetwork: o, isTokenFromInsufficientBalance: s, tokensAreSame: l, isConnected: d } = x(a), p = f(), { unsupportedTokens: g } = h(), v = r && i && r.network !== i.network, b = v, S;
111
- n[3] === Symbol.for("react.memo_cache_sentinel") ? (S = {
112
- tradeMode: "limit",
113
- enabled: !1
114
- }, n[3] = S) : S = n[3];
111
+ n[3] === Symbol.for("react.memo_cache_sentinel") ? (S = { enabled: !1 }, n[3] = S) : S = n[3];
115
112
  let { error: C } = m(S), w = b ? C : void 0, T = t(), E = c().data?.isContract, D = u();
116
113
  if (!d) {
117
114
  let e;
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetButtonExtraProps.js","names":["useSwapReceiverAddressValue","useSetOpenDrawer","useIsAccountContract","useCurrentSwapPriceError","useCurrentTwapPriceError","useIsTokenFromInsufficientBalance","Token","areTokensSame","useIsCrossChain","useOtcReceiverAddressValue","useUnsupportedLimitChain","useUnsupportedOtcChain","TradeMode","useUnsupportedLimitTokens","useDeltaSwapPriceForLimit","useLimitReceiverAddressValue","useChainMatches","useDegenMode","useTwapSliceTooShort","errorMessageByApiErrorMessage","Record","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","GetButtonLabelOverrideBaseInput","priceMode","priceError","Error","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","LabelOverrideReason","GetButtonLabelOverrideBaseReturn","reason","TReason","label","getButtonLabelOverrideBase","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","t1","tokensAreSame","t2","UseExtraPropsInput","UseExtraPropsReturn","disabled","labelOverride","className","onClick","dangerSwapBtnClassName","useWidgetButtonExtraProps","cachedError","getPriceImpact","degenMode","priceImpact","isHighImpact","isUnavailable","isAccountContract","data","isContract","isCrosschain","receiver","setOpenDrawer","t3","overrides","isReceiverAddressAction","t4","t5","undefined","t6","t7","useLimitButtonExtraProps","unsupportedChain","unsupportedTokens","network","isCrosschainLimitOrder","Symbol","for","enabled","error","limitPriceError","limitReceiverAddress","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useTwapButtonExtraProps","isSliceTooShort"],"sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSliceTooShort } from \"@/core/twap/state/twapParamsAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\ntype LabelOverrideReason =\n | \"priceError\"\n | \"wrongNetwork\"\n | \"insufficientBalance\"\n | \"receiverAddressRequired\";\n\ntype GetButtonLabelOverrideBaseReturn<\n TReason extends string = LabelOverrideReason,\n> = { reason: TReason; label: string } | undefined;\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput): GetButtonLabelOverrideBaseReturn {\n if (priceMode === \"market\" && priceError) {\n const label = errorMessageByApiErrorMessage[priceError.message];\n if (!label) return;\n return {\n reason: \"priceError\",\n label,\n };\n }\n if (wrongNetwork)\n return {\n reason: \"wrongNetwork\",\n label: \"You are on the wrong network\",\n };\n if (isTokenFromInsufficientBalance)\n return {\n reason: \"insufficientBalance\",\n label: \"Insufficient funds\",\n };\n if (receiverRequiredButNotSet)\n return {\n reason: \"receiverAddressRequired\",\n label: \"Add a receiving address\",\n };\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): GetButtonLabelOverrideBaseReturn<\n LabelOverrideReason | \"dangerSwap\"\n> {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) {\n return {\n reason: \"dangerSwap\",\n label: \"Swap Anyway\",\n };\n }\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n onClick?: () => void;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, cachedError, getPriceImpact } = useCurrentSwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n const setOpenDrawer = useSetOpenDrawer();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const overrides = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n // when the visible label asks the user to add a receiving address,\n // the button must be clickable so the receiver drawer can open\n const isReceiverAddressAction =\n overrides?.reason === \"receiverAddressRequired\";\n\n const disabled = isReceiverAddressAction\n ? false\n : wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap);\n\n return {\n disabled,\n labelOverride: overrides?.label,\n isConnected,\n className:\n isDangerSwap && overrides?.reason === \"dangerSwap\"\n ? dangerSwapBtnClassName\n : undefined,\n onClick: isReceiverAddressAction\n ? () => setOpenDrawer(\"receiver-address-drawer\")\n : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n const setOpenDrawer = useSetOpenDrawer();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const overrides = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n // when the visible label asks the user to add a receiving address,\n // the button must be clickable so the receiver drawer can open\n const isReceiverAddressAction =\n overrides?.reason === \"receiverAddressRequired\";\n\n const disabled = isReceiverAddressAction\n ? false\n : wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError;\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride: overrides?.label,\n className,\n isConnected,\n onClick: isReceiverAddressAction\n ? () => setOpenDrawer(\"receiver-address-drawer\")\n : undefined,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n const setOpenDrawer = useSetOpenDrawer();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = !otcReceiverAddress;\n\n const overrides = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n // when the visible label asks the user to add a receiving address,\n // the button must be clickable so the receiver drawer can open\n const isReceiverAddressAction =\n overrides?.reason === \"receiverAddressRequired\";\n\n const disabled = isReceiverAddressAction\n ? false\n : wrongNetwork || tokensAreSame || isTokenFromInsufficientBalance;\n\n return {\n labelOverride: overrides?.label,\n disabled,\n className,\n isConnected,\n onClick: isReceiverAddressAction\n ? () => setOpenDrawer(\"receiver-address-drawer\")\n : undefined,\n };\n}\n\nexport function useTwapButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"twap\",\n });\n const isSliceTooShort = useTwapSliceTooShort();\n\n const { cachedError, getPriceImpact } = useCurrentTwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap) ||\n isSliceTooShort;\n\n const overrides = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode: \"delta\",\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n return {\n disabled,\n labelOverride: overrides?.label,\n isConnected,\n className:\n isDangerSwap && overrides?.reason === \"dangerSwap\"\n ? dangerSwapBtnClassName\n : undefined,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useWidgetButtonExtraProps.js","names":["useSwapReceiverAddressValue","useSetOpenDrawer","useIsAccountContract","useCurrentSwapPriceError","useCurrentTwapPriceError","useIsTokenFromInsufficientBalance","Token","areTokensSame","useIsCrossChain","useOtcReceiverAddressValue","useUnsupportedLimitChain","useUnsupportedOtcChain","TradeMode","useUnsupportedLimitTokens","useDeltaSwapPriceForLimit","useLimitReceiverAddressValue","useChainMatches","useDegenMode","useTwapSliceTooShort","errorMessageByApiErrorMessage","Record","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","GetButtonLabelOverrideBaseInput","priceMode","priceError","Error","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","LabelOverrideReason","GetButtonLabelOverrideBaseReturn","reason","TReason","label","getButtonLabelOverrideBase","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","t1","tokensAreSame","t2","UseExtraPropsInput","UseExtraPropsReturn","disabled","labelOverride","className","onClick","dangerSwapBtnClassName","useWidgetButtonExtraProps","cachedError","getPriceImpact","degenMode","priceImpact","isHighImpact","isUnavailable","isAccountContract","data","isContract","isCrosschain","receiver","setOpenDrawer","t3","overrides","isReceiverAddressAction","t4","t5","undefined","t6","t7","useLimitButtonExtraProps","unsupportedChain","unsupportedTokens","network","isCrosschainLimitOrder","Symbol","for","enabled","error","limitPriceError","limitReceiverAddress","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useTwapButtonExtraProps","isSliceTooShort"],"sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSliceTooShort } from \"@/core/twap/state/twapParamsAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\ntype LabelOverrideReason =\n | \"priceError\"\n | \"wrongNetwork\"\n | \"insufficientBalance\"\n | \"receiverAddressRequired\";\n\ntype GetButtonLabelOverrideBaseReturn<\n TReason extends string = LabelOverrideReason,\n> = { reason: TReason; label: string } | undefined;\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput): GetButtonLabelOverrideBaseReturn {\n if (priceMode === \"market\" && priceError) {\n const label = errorMessageByApiErrorMessage[priceError.message];\n if (!label) return;\n return {\n reason: \"priceError\",\n label,\n };\n }\n if (wrongNetwork)\n return {\n reason: \"wrongNetwork\",\n label: \"You are on the wrong network\",\n };\n if (isTokenFromInsufficientBalance)\n return {\n reason: \"insufficientBalance\",\n label: \"Insufficient funds\",\n };\n if (receiverRequiredButNotSet)\n return {\n reason: \"receiverAddressRequired\",\n label: \"Add a receiving address\",\n };\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): GetButtonLabelOverrideBaseReturn<\n LabelOverrideReason | \"dangerSwap\"\n> {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) {\n return {\n reason: \"dangerSwap\",\n label: \"Swap Anyway\",\n };\n }\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n onClick?: () => void;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, cachedError, getPriceImpact } = useCurrentSwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n const setOpenDrawer = useSetOpenDrawer();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const overrides = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n // when the visible label asks the user to add a receiving address,\n // the button must be clickable so the receiver drawer can open\n const isReceiverAddressAction =\n overrides?.reason === \"receiverAddressRequired\";\n\n const disabled = isReceiverAddressAction\n ? false\n : wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap);\n\n return {\n disabled,\n labelOverride: overrides?.label,\n isConnected,\n className:\n isDangerSwap && overrides?.reason === \"dangerSwap\"\n ? dangerSwapBtnClassName\n : undefined,\n onClick: isReceiverAddressAction\n ? () => setOpenDrawer(\"receiver-address-drawer\")\n : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n const setOpenDrawer = useSetOpenDrawer();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const overrides = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n // when the visible label asks the user to add a receiving address,\n // the button must be clickable so the receiver drawer can open\n const isReceiverAddressAction =\n overrides?.reason === \"receiverAddressRequired\";\n\n const disabled = isReceiverAddressAction\n ? false\n : wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError;\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride: overrides?.label,\n className,\n isConnected,\n onClick: isReceiverAddressAction\n ? () => setOpenDrawer(\"receiver-address-drawer\")\n : undefined,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n const setOpenDrawer = useSetOpenDrawer();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = !otcReceiverAddress;\n\n const overrides = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n // when the visible label asks the user to add a receiving address,\n // the button must be clickable so the receiver drawer can open\n const isReceiverAddressAction =\n overrides?.reason === \"receiverAddressRequired\";\n\n const disabled = isReceiverAddressAction\n ? false\n : wrongNetwork || tokensAreSame || isTokenFromInsufficientBalance;\n\n return {\n labelOverride: overrides?.label,\n disabled,\n className,\n isConnected,\n onClick: isReceiverAddressAction\n ? () => setOpenDrawer(\"receiver-address-drawer\")\n : undefined,\n };\n}\n\nexport function useTwapButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"twap\",\n });\n const isSliceTooShort = useTwapSliceTooShort();\n\n const { cachedError, getPriceImpact } = useCurrentTwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap) ||\n isSliceTooShort;\n\n const overrides = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode: \"delta\",\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n return {\n disabled,\n labelOverride: overrides?.label,\n isConnected,\n className:\n isDangerSwap && overrides?.reason === \"dangerSwap\"\n ? dangerSwapBtnClassName\n : undefined,\n };\n}\n"],"mappings":"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"}