@velora-dex/widget 0.1.3 → 0.2.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 (428) hide show
  1. package/dist/_virtual/index.js +1 -1
  2. package/dist/components/ui/accordion.d.ts +3 -1
  3. package/dist/components/ui/accordion.d.ts.map +1 -1
  4. package/dist/components/ui/accordion.js +42 -27
  5. package/dist/components/ui/accordion.js.map +1 -1
  6. package/dist/components/ui/button.js.map +1 -1
  7. package/dist/components/ui/dialog.js.map +1 -1
  8. package/dist/components/ui/dropdown-menu.js.map +1 -1
  9. package/dist/components/ui/progress.js.map +1 -1
  10. package/dist/components/ui/sonner.js.map +1 -1
  11. package/dist/components/ui/tooltip.js.map +1 -1
  12. package/dist/components/web3/AccountButton.js.map +1 -1
  13. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  14. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  15. package/dist/components/web3/ConnectWallets/index.js +43 -35
  16. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  17. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  18. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  19. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  20. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  21. package/dist/components/widget/AppHeader/Activities/Activities.js +4 -12
  22. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  23. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  24. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  25. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  26. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  27. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  28. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  29. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  30. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  31. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  32. package/dist/components/widget/DexesList/DexesList.js +3 -14
  33. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  34. package/dist/components/widget/Dialog/DialogRoot.js.map +1 -1
  35. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +131 -115
  36. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  37. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  38. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +4 -12
  39. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  40. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  41. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  42. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  43. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  44. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  45. package/dist/components/widget/Dialog/state/dialogAtom.js +24 -26
  46. package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
  47. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  48. package/dist/components/widget/Drawer/index.js.map +1 -1
  49. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  50. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  51. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  52. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
  53. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  54. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +84 -66
  55. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
  56. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  57. package/dist/components/widget/Line/Line.js.map +1 -1
  58. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  59. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  60. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +28 -30
  61. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  62. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  63. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  64. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  65. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.js.map +1 -1
  66. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  67. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.js.map +1 -1
  68. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  69. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  70. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  71. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  72. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  73. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  74. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  75. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  76. package/dist/components/widget/SwapRate/SwapRate.js +75 -43
  77. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  78. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  79. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  80. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  81. package/dist/components/widget/TokenInput/index.js.map +1 -1
  82. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  83. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  84. package/dist/components/widget/TradeOverview/Stepper.js +23 -38
  85. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  86. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  87. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +36 -27
  88. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  89. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +79 -36
  90. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  91. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  92. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +3 -0
  93. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  94. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  95. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  96. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  97. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  98. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  99. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  100. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  101. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  102. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
  103. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  104. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  105. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  106. package/dist/components/widget/TransactionDetails/TransactionListItem.js +57 -38
  107. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  108. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  109. package/dist/components/widget/Warning/Warning.js.map +1 -1
  110. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  111. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  112. package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts.map +1 -1
  113. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +72 -90
  114. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  115. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  116. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +141 -84
  117. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  118. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  119. package/dist/configurator/Configurator.d.ts.map +1 -1
  120. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts +5 -0
  121. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts.map +1 -0
  122. package/dist/configurator/components/CrossChainSwitcher.d.ts +5 -0
  123. package/dist/configurator/components/CrossChainSwitcher.d.ts.map +1 -0
  124. package/dist/configurator/components/DeltaSwitcher.d.ts +5 -0
  125. package/dist/configurator/components/DeltaSwitcher.d.ts.map +1 -0
  126. package/dist/configurator/components/DevTools.d.ts +7 -0
  127. package/dist/configurator/components/DevTools.d.ts.map +1 -0
  128. package/dist/configurator/components/EnabledChainsSelector.d.ts +8 -0
  129. package/dist/configurator/components/EnabledChainsSelector.d.ts.map +1 -0
  130. package/dist/configurator/components/FormPropsInputs.d.ts +6 -0
  131. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -0
  132. package/dist/configurator/components/PanelHeader.d.ts +6 -0
  133. package/dist/configurator/components/PanelHeader.d.ts.map +1 -0
  134. package/dist/configurator/components/PartnerInput.d.ts +5 -0
  135. package/dist/configurator/components/PartnerInput.d.ts.map +1 -0
  136. package/dist/configurator/components/PrivyInputs.d.ts +7 -0
  137. package/dist/configurator/components/PrivyInputs.d.ts.map +1 -0
  138. package/dist/configurator/components/ThemeSwitcher.d.ts +6 -0
  139. package/dist/configurator/components/ThemeSwitcher.d.ts.map +1 -0
  140. package/dist/configurator/components/TokenListsInput.d.ts +5 -0
  141. package/dist/configurator/components/TokenListsInput.d.ts.map +1 -0
  142. package/dist/configurator/components/TradeModesSelector.d.ts +7 -0
  143. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -0
  144. package/dist/configurator/components/WidgetModeSwitcher.d.ts +5 -0
  145. package/dist/configurator/components/WidgetModeSwitcher.d.ts.map +1 -0
  146. package/dist/configurator/components/common/DetailWithTooltip.d.ts +3 -0
  147. package/dist/configurator/components/common/DetailWithTooltip.d.ts.map +1 -0
  148. package/dist/configurator/components/common/Input.d.ts +8 -0
  149. package/dist/configurator/components/common/Input.d.ts.map +1 -0
  150. package/dist/configurator/components/common/Switch.d.ts +12 -0
  151. package/dist/configurator/components/common/Switch.d.ts.map +1 -0
  152. package/dist/configurator/state/themeAtom.d.ts +3 -0
  153. package/dist/configurator/state/themeAtom.d.ts.map +1 -0
  154. package/dist/core/ConnectWalletDrawerButton.js +53 -66
  155. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  156. package/dist/core/LimitOrderButton.js.map +1 -1
  157. package/dist/core/LimitOrderDetails.js.map +1 -1
  158. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  159. package/dist/core/OtcOrderButton.js +4 -1
  160. package/dist/core/OtcOrderButton.js.map +1 -1
  161. package/dist/core/OtcOrderDetails.js.map +1 -1
  162. package/dist/core/Toaster.js.map +1 -1
  163. package/dist/core/TradeFlowButton.d.ts.map +1 -1
  164. package/dist/core/TradeFlowButton.js +414 -621
  165. package/dist/core/TradeFlowButton.js.map +1 -1
  166. package/dist/core/Updaters.js.map +1 -1
  167. package/dist/core/Warnings.js.map +1 -1
  168. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  169. package/dist/core/index.js.map +1 -1
  170. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  171. package/dist/core/inputs/hooks/useTokenFromInputProps.js +83 -54
  172. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  173. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  174. package/dist/core/inputs/hooks/useTokenToInputProps.js +20 -28
  175. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  176. package/dist/core/inputs/state/common.js.map +1 -1
  177. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  178. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  179. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  180. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  181. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  182. package/dist/core/limit/useLimitNotSupported.js +12 -1
  183. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  184. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  185. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  186. package/dist/core/limit/useLimitRate.js.map +1 -1
  187. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  188. package/dist/core/limit/useLimitTokenFromInputProps.js +69 -52
  189. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  190. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  191. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  192. package/dist/core/logger.js +12 -14
  193. package/dist/core/logger.js.map +1 -1
  194. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  195. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  196. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  197. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  198. package/dist/core/otc/useOtcNotSupported.js +12 -1
  199. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  200. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  201. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  202. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  203. package/dist/core/otc/useOtcTokenFromInputProps.js +69 -52
  204. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  205. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  206. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  207. package/dist/core/state/chainToAtom.js.map +1 -1
  208. package/dist/core/state/configAtom.d.ts +2 -2
  209. package/dist/core/state/configAtom.d.ts.map +1 -1
  210. package/dist/core/state/configAtom.js +1 -7
  211. package/dist/core/state/configAtom.js.map +1 -1
  212. package/dist/core/state/configEffectAtom.js.map +1 -1
  213. package/dist/core/state/containerAtom.js.map +1 -1
  214. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  215. package/dist/core/state/externalProviderAtom.js.map +1 -1
  216. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  217. package/dist/core/state/tradeModeAtom.js.map +1 -1
  218. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  219. package/dist/core/swapDetails/useSwapDetailsListProps.js +34 -36
  220. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  221. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  222. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  223. package/dist/events/types/approve.d.ts +22 -6
  224. package/dist/events/types/approve.d.ts.map +1 -1
  225. package/dist/external/.pnpm/react-compiler-runtime@1.0.0_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +1 -0
  226. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  227. package/dist/hooks/batch/useAwaitCalls.js +20 -16
  228. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  229. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  230. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  231. package/dist/hooks/connectors/useIsConnectedSafe.js +10 -18
  232. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  233. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  234. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +4 -15
  235. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  236. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  237. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  238. package/dist/hooks/getCode/useIsContractAtAddress.js +30 -46
  239. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  240. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  241. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +21 -12
  242. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  243. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
  244. package/dist/hooks/otc/mutations/useCreateLimitOrder.js +22 -12
  245. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  246. package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
  247. package/dist/hooks/otc/mutations/useFillOrder.js +10 -32
  248. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  249. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.d.ts +22 -3
  250. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.d.ts.map +1 -1
  251. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js +39 -2
  252. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  253. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  254. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  255. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +2 -3
  256. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  257. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  258. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts +7 -4
  259. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  260. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +46 -4
  261. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  262. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts.map +1 -1
  263. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +38 -36
  264. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  265. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  266. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  267. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  268. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  269. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  270. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  271. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  272. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  273. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  274. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +39 -31
  275. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  276. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +7 -15
  277. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  278. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  279. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  280. package/dist/hooks/sdk/useSpender.js.map +1 -1
  281. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -1
  282. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
  283. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js +23 -13
  284. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
  285. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +3 -2
  286. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  287. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +41 -10
  288. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  289. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +25 -0
  290. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -0
  291. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +88 -0
  292. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -0
  293. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +16 -0
  294. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -0
  295. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +83 -0
  296. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -0
  297. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  298. package/dist/hooks/swap/prices/delta/orders/utils.js +3 -2
  299. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  300. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +1 -1
  301. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts +22 -3
  302. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
  303. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +39 -2
  304. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  305. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  306. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  307. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  308. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  309. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  310. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  311. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  312. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts +9 -0
  313. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  314. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js +49 -2
  315. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  316. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  317. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  318. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  319. package/dist/hooks/swap/tradeFlow/common/types.d.ts +17 -0
  320. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  321. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +3 -1
  322. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  323. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +164 -140
  324. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  325. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  326. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.d.ts +46 -0
  327. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.d.ts.map +1 -0
  328. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js +328 -0
  329. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -0
  330. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.d.ts.map +1 -1
  331. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js +16 -14
  332. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  333. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +74 -0
  334. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -0
  335. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +274 -0
  336. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -0
  337. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.d.ts +15 -0
  338. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.d.ts.map +1 -0
  339. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js +88 -0
  340. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -0
  341. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  342. package/dist/hooks/swap/tradeFlow/common/utils.d.ts +1 -0
  343. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  344. package/dist/hooks/swap/tradeFlow/common/utils.js +16 -1
  345. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  346. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +28 -23
  347. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  348. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +59 -17
  349. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  350. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  351. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +4 -3
  352. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  353. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +61 -15
  354. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  355. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  356. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +2 -18
  357. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  358. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  359. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  360. package/dist/hooks/tokens/allowance/useTokenAllowance.js +25 -15
  361. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  362. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +8 -10
  363. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  364. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  365. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  366. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +20 -37
  367. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  368. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  369. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +11 -19
  370. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  371. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  372. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  373. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js +21 -25
  374. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  375. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  376. package/dist/hooks/tokens/useAllTokensWithFilter.js +121 -49
  377. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  378. package/dist/hooks/tokens/useNativeToken.js +1 -1
  379. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  380. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  381. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  382. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  383. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  384. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  385. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  386. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  387. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  388. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  389. package/dist/hooks/useBridgeInfo.js.map +1 -1
  390. package/dist/hooks/useCurrentChain.js.map +1 -1
  391. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  392. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  393. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  394. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  395. package/dist/hooks/useMinViemClient.js.map +1 -1
  396. package/dist/hooks/useSDK.d.ts +3 -2
  397. package/dist/hooks/useSDK.d.ts.map +1 -1
  398. package/dist/hooks/useSDK.js +37 -8
  399. package/dist/hooks/useSDK.js.map +1 -1
  400. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  401. package/dist/hooks/useSlippage.js.map +1 -1
  402. package/dist/lib/utils/approval.js.map +1 -1
  403. package/dist/lib/utils/theme.d.ts +2 -0
  404. package/dist/lib/utils/theme.d.ts.map +1 -0
  405. package/dist/lib/utils/theme.js +10 -0
  406. package/dist/lib/utils/theme.js.map +1 -0
  407. package/dist/lib/web3/privy/config.js +1 -1
  408. package/dist/lib/web3/wagmi/config.js +1 -1
  409. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  410. package/dist/styles.css +80 -39
  411. package/dist/tokens/hooks.js.map +1 -1
  412. package/dist/tokens/lists/state/effects.js.map +1 -1
  413. package/dist/tokens/queries.js +6 -10
  414. package/dist/tokens/queries.js.map +1 -1
  415. package/dist/tokens/stabeCoins/hooks.js +3 -5
  416. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  417. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  418. package/dist/transactions/queries/ensureCallsStatus.d.ts +1 -0
  419. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  420. package/dist/transactions/queries/ensureCallsStatus.js +7 -5
  421. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  422. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  423. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  424. package/dist/transactions/types.d.ts +21 -1
  425. package/dist/transactions/types.d.ts.map +1 -1
  426. package/package.json +2 -2
  427. package/dist/external/.pnpm/react-compiler-runtime@19.1.0-rc.2_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +0 -1
  428. /package/dist/external/.pnpm/{react-compiler-runtime@19.1.0-rc.2_react@19.1.1 → react-compiler-runtime@1.0.0_react@19.1.1}/external/react-compiler-runtime/dist/index.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"TradeFlowButton.js","sources":["../../src/core/TradeFlowButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { ControlledDrawer } from \"@/components/widget/Drawer\";\nimport {\n useDrawerControls,\n type DrawerControls,\n} from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { DeltaOrderTradeOverview } from \"@/components/widget/TradeOverview\";\nimport { LimitOrderTradeOverview } from \"@/components/widget/TradeOverview/LimitOrderTradeOverview\";\nimport { MarketSwapTradeOverview } from \"@/components/widget/TradeOverview/MarketSwapTradeOverview\";\nimport { OtcOrderTradeOverview } from \"@/components/widget/TradeOverview/OtcOrderTradeOverview\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport type { UserDefinedOtcPrice } from \"@/hooks/otc/tradeFlow/useOtcOrderFlow\";\nimport { useOtcOrderStep } from \"@/hooks/otc/tradeFlow/useOtcOrderStep\";\nimport { useDeltaSwapStep } from \"@/hooks/swap/tradeFlow/useDeltaSwapStep\";\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport { useLimitOrderStep } from \"@/hooks/swap/tradeFlow/useLimitOrderStep\";\nimport { useMarketSwapStep } from \"@/hooks/swap/tradeFlow/useMarketSwapStep\";\nimport { cn } from \"@/lib/utils\";\nimport { addDeltaOrderToast } from \"@/lib/utils/toasts\";\nimport { handleTxSent } from \"@/lib/utils/transactionHandlers\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport { useState } from \"react\";\nimport { formatUnits } from \"viem\";\nimport { useAccount } from \"wagmi\";\nimport { useWidgetEvents } from \"./state/widgetEventsAtom\";\n\ntype BaseTradeFlowButtonProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n labelOverride?: string;\n};\n\ntype SwapTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n priceMode: SwapMode;\n};\n\nexport function SwapTradeFlowButton({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n ...buttonProps\n}: SwapTradeFlowButtonProps) {\n const [drawerOrderProps, setDrawerOrderProps] = useState<\n (MinTradeOverviewProps & { priceMode: SwapMode }) | null\n >(null);\n\n const { onSwap } = useWidgetEvents();\n\n const drawerControls = useDrawerControls({\n drawerId: \"trade-flow-drawer\",\n onOpen: () => {\n // freeze priceMode the drawer was open for,\n // along with tokens the drawer was opened for\n if (orderProps) {\n setDrawerOrderProps({\n fromToken: orderProps.fromToken,\n toToken: orderProps.toToken,\n fromAmount: orderProps.fromAmount,\n toAmount: orderProps.toAmount,\n priceMode,\n });\n\n if (priceMode === \"market\" && marketPrice) {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price: marketPrice,\n },\n },\n });\n } else if (priceMode === \"delta\" && deltaPrice) {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price: deltaPrice,\n },\n },\n });\n }\n }\n },\n onClose: () => {\n setDrawerOrderProps(null);\n },\n });\n\n const keepPriceMode = drawerOrderProps?.priceMode || priceMode;\n\n return keepPriceMode === \"market\" ? (\n <MarketSwapDrawerButton\n orderProps={drawerOrderProps || orderProps}\n drawerContainer={drawerContainer}\n marketPrice={marketPrice}\n drawerControls={drawerControls}\n {...buttonProps}\n />\n ) : (\n <DeltaSwapDrawerButton\n orderProps={drawerOrderProps || orderProps}\n drawerContainer={drawerContainer}\n deltaPrice={deltaPrice}\n drawerControls={drawerControls}\n {...buttonProps}\n />\n );\n}\n\ntype MarketSwapDrawerButtonProps = BaseTradeFlowButtonProps & {\n marketPrice?: OptimalRate;\n drawerControls: DrawerControls;\n};\n\nfunction MarketSwapDrawerButton({\n orderProps,\n drawerContainer,\n marketPrice,\n labelOverride,\n drawerControls,\n ...buttonProps\n}: MarketSwapDrawerButtonProps) {\n const { onOpen, onClose, ...drawerProps } = drawerControls;\n\n const { isConnected } = useAccount();\n\n const disabled = !isConnected || !orderProps || !marketPrice;\n\n const {\n step,\n startMarketSwap,\n isFlowCancellable,\n cancelFlow,\n retryFlow,\n reset,\n explorerLink,\n result,\n usedPrice,\n error,\n erroredStep,\n tradeFlowType,\n } = useMarketSwapStep({\n marketPrice,\n });\n\n const getFromAmount = (orderProps: MinTradeOverviewProps) =>\n usedPrice\n ? formatUnits(BigInt(usedPrice.srcAmount), usedPrice.srcDecimals)\n : orderProps.fromAmount;\n\n const getToAmount = (orderProps: MinTradeOverviewProps) =>\n usedPrice\n ? formatUnits(BigInt(usedPrice.destAmount), usedPrice.destDecimals)\n : orderProps.toAmount;\n\n const onDismiss = () => {\n onClose();\n // reset at this point helps to:\n // 1. reset all mutations\n // 2. reset trackedPrice\n reset();\n };\n\n const content = orderProps ? (\n <MarketSwapTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={getFromAmount(orderProps)}\n toAmount={getToAmount(orderProps)}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onRetry={retryFlow}\n activeStep={step}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n ) : null;\n\n const onClick = orderProps\n ? () => {\n onOpen();\n startMarketSwap({\n onTxSent: handleTxSent,\n });\n }\n : buttonProps.onClick;\n\n return (\n <>\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={buttonProps.disabled || disabled}\n >\n {labelOverride || \"Swap\"}\n </Button>\n <ControlledDrawer\n {...drawerProps}\n container={drawerContainer}\n onClose={() => {\n if (isFlowCancellable) {\n cancelFlow();\n }\n }}\n >\n {content}\n </ControlledDrawer>\n </>\n );\n}\ntype DeltaSwapDrawerButtonProps = BaseTradeFlowButtonProps & {\n deltaPrice?: DeltaPrice | BridgePrice;\n drawerControls: DrawerControls;\n};\n\nfunction DeltaSwapDrawerButton({\n orderProps,\n drawerContainer,\n deltaPrice,\n labelOverride,\n drawerControls,\n ...buttonProps\n}: DeltaSwapDrawerButtonProps) {\n const { onOpen, onClose, ...drawerProps } = drawerControls;\n\n const { isConnected } = useAccount();\n\n const disabled = !isConnected || !orderProps || !deltaPrice;\n\n const {\n step,\n startDeltaSwap,\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n reset,\n explorerLink,\n result,\n usedPrice,\n error,\n erroredStep,\n tradeFlowType,\n } = useDeltaSwapStep({\n deltaPrice,\n });\n\n const getFromAmount = (orderProps: MinTradeOverviewProps) =>\n usedPrice\n ? formatUnits(BigInt(usedPrice.srcAmount), orderProps.fromToken.decimals)\n : orderProps.fromAmount;\n\n const getToAmount = (orderProps: MinTradeOverviewProps) =>\n usedPrice\n ? formatUnits(\n BigInt(usedPrice.receivedDestAmount),\n orderProps.toToken.decimals\n )\n : orderProps.toAmount;\n\n const onDismiss = () => {\n onClose();\n // reset at this point helps to:\n // 1. reset all mutations\n // 2. reset trackedPrice\n reset();\n };\n const content = orderProps ? (\n <DeltaOrderTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={getFromAmount(orderProps)}\n toAmount={getToAmount(orderProps)}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onRetry={retryFlow}\n activeStep={step}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n ) : null;\n\n const onClick = orderProps\n ? () => {\n onOpen();\n startDeltaSwap({\n onTxSent: handleTxSent,\n onOrderSent: addDeltaOrderToast,\n });\n }\n : buttonProps.onClick;\n\n return (\n <>\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={buttonProps.disabled || disabled}\n >\n {labelOverride || \"Swap\"}\n </Button>\n <ControlledDrawer\n {...drawerProps}\n container={drawerContainer}\n onClose={() => {\n if (isFlowCancellable) {\n cancelFlow();\n }\n }}\n >\n {content}\n </ControlledDrawer>\n </>\n );\n}\n\ntype LimitOrderDrawerButtonProps = BaseTradeFlowButtonProps & {\n limitPrice?: UserDefinedLimitPrice;\n drawerControls: DrawerControls;\n};\n\nfunction LimitOrderDrawerButton({\n orderProps,\n drawerContainer,\n limitPrice,\n labelOverride,\n drawerControls,\n ...buttonProps\n}: LimitOrderDrawerButtonProps) {\n const { onOpen, onClose, ...drawerProps } = drawerControls;\n\n const { isConnected } = useAccount();\n\n const disabled = !isConnected || !orderProps || !limitPrice;\n\n const {\n step,\n orderCancellationStep,\n startLimitOrder,\n cancelLimitOrder,\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n isOrderCancellable,\n reset,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n } = useLimitOrderStep({\n limitPrice,\n });\n\n const getFromAmount = (orderProps: MinTradeOverviewProps) =>\n limitPrice\n ? formatUnits(BigInt(limitPrice.srcAmount), orderProps.fromToken.decimals)\n : orderProps.fromAmount;\n\n const getToAmount = (orderProps: MinTradeOverviewProps) =>\n limitPrice\n ? formatUnits(BigInt(limitPrice.destAmount), orderProps.toToken.decimals)\n : orderProps.toAmount;\n\n const onDismiss = () => {\n onClose();\n // reset at this point helps to:\n // 1. reset all mutations\n // 2. reset trackedPrice\n reset();\n };\n\n const onCancelOrder = isOrderCancellable ? cancelLimitOrder : undefined;\n\n const content = orderProps ? (\n <LimitOrderTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={getFromAmount(orderProps)}\n toAmount={getToAmount(orderProps)}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onRetry={retryFlow}\n onCancelOrder={onCancelOrder}\n activeStep={step}\n orderCancellationStep={orderCancellationStep}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n ) : null;\n\n const onClick = orderProps\n ? () => {\n onOpen();\n startLimitOrder({\n onTxSent: handleTxSent,\n });\n }\n : buttonProps.onClick;\n\n return (\n <>\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={buttonProps.disabled || disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n <ControlledDrawer\n {...drawerProps}\n container={drawerContainer}\n onClose={() => {\n if (isFlowCancellable) {\n cancelFlow();\n }\n }}\n >\n {content}\n </ControlledDrawer>\n </>\n );\n}\n\ntype LimitOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport function LimitOrderTradeFlowButton({\n orderProps,\n drawerContainer,\n limitPrice,\n ...buttonProps\n}: LimitOrderTradeFlowButtonProps) {\n const [drawerOrderProps, setDrawerOrderProps] =\n useState<MinTradeOverviewProps | null>(null);\n\n const { onLimitOrder } = useWidgetEvents();\n\n const drawerControls = useDrawerControls({\n drawerId: \"limit-order-flow-drawer\",\n // @TODO maybe not needed for limit orders\n onOpen: () => {\n if (orderProps) {\n setDrawerOrderProps({\n fromToken: orderProps.fromToken,\n toToken: orderProps.toToken,\n fromAmount: orderProps.fromAmount,\n toAmount: orderProps.toAmount,\n });\n\n // always available when orderProps is available\n if (limitPrice) {\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:click\",\n params: {\n price: limitPrice,\n },\n },\n });\n }\n }\n },\n onClose: () => {\n setDrawerOrderProps(null);\n },\n });\n\n return (\n <LimitOrderDrawerButton\n orderProps={drawerOrderProps || orderProps}\n drawerContainer={drawerContainer}\n limitPrice={limitPrice}\n drawerControls={drawerControls}\n {...buttonProps}\n />\n );\n}\n\ntype OtcOrderDrawerButtonProps = BaseTradeFlowButtonProps & {\n otcPrice?: UserDefinedOtcPrice;\n drawerControls: DrawerControls;\n};\n\nfunction OtcOrderDrawerButton({\n orderProps,\n drawerContainer,\n otcPrice,\n labelOverride,\n drawerControls,\n ...buttonProps\n}: OtcOrderDrawerButtonProps) {\n const { onOpen, onClose, ...drawerProps } = drawerControls;\n\n const { isConnected } = useAccount();\n\n const disabled = !isConnected || !orderProps || !otcPrice;\n\n const {\n step,\n orderCancellationStep,\n startOtcOrder,\n cancelOtcOrder,\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n isOrderCancellable,\n reset,\n result,\n error,\n erroredStep,\n tradeFlowType,\n } = useOtcOrderStep({\n otcPrice,\n });\n\n const getFromAmount = (orderProps: MinTradeOverviewProps) =>\n otcPrice\n ? formatUnits(BigInt(otcPrice.srcAmount), orderProps.fromToken.decimals)\n : orderProps.fromAmount;\n\n const getToAmount = (orderProps: MinTradeOverviewProps) =>\n otcPrice\n ? formatUnits(BigInt(otcPrice.destAmount), orderProps.toToken.decimals)\n : orderProps.toAmount;\n\n const onDismiss = () => {\n onClose();\n // reset at this point helps to reset all mutations\n reset();\n };\n\n const onCancelOrder = isOrderCancellable ? cancelOtcOrder : undefined;\n\n const content = orderProps ? (\n <OtcOrderTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={getFromAmount(orderProps)}\n toAmount={getToAmount(orderProps)}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onRetry={retryFlow}\n onCancelOrder={onCancelOrder}\n activeStep={step}\n orderCancellationStep={orderCancellationStep}\n isFlowCancellable={isFlowCancellable}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n ) : null;\n\n const onClick = orderProps\n ? () => {\n onOpen();\n startOtcOrder({\n onTxSent: handleTxSent,\n });\n }\n : buttonProps.onClick;\n\n return (\n <>\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={buttonProps.disabled || disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n <ControlledDrawer\n {...drawerProps}\n container={drawerContainer}\n onClose={() => {\n if (isFlowCancellable) {\n cancelFlow();\n }\n }}\n >\n {content}\n </ControlledDrawer>\n </>\n );\n}\n\ntype OtcOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n otcPrice?: UserDefinedOtcPrice;\n};\n\nexport function OtcOrderTradeFlowButton({\n orderProps,\n drawerContainer,\n otcPrice,\n ...buttonProps\n}: OtcOrderTradeFlowButtonProps) {\n const [drawerOrderProps, setDrawerOrderProps] =\n useState<MinTradeOverviewProps | null>(null);\n\n const { onOTCOrder } = useWidgetEvents();\n\n const drawerControls = useDrawerControls({\n drawerId: \"otc-order-flow-drawer\",\n // @TODO maybe not needed for OTC orders\n onOpen: () => {\n if (orderProps) {\n setDrawerOrderProps({\n fromToken: orderProps.fromToken,\n toToken: orderProps.toToken,\n fromAmount: orderProps.fromAmount,\n toAmount: orderProps.toAmount,\n });\n\n // always available when orderProps is available\n if (otcPrice) {\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:click\",\n params: {\n price: otcPrice,\n },\n },\n });\n }\n }\n },\n onClose: () => {\n setDrawerOrderProps(null);\n },\n });\n\n return (\n <OtcOrderDrawerButton\n orderProps={drawerOrderProps || orderProps}\n drawerContainer={drawerContainer}\n otcPrice={otcPrice}\n drawerControls={drawerControls}\n {...buttonProps}\n />\n );\n}\n"],"names":["SwapTradeFlowButton","t0","$","_c","buttonProps","deltaPrice","drawerContainer","marketPrice","orderProps","priceMode","drawerOrderProps","setDrawerOrderProps","useState","onSwap","useWidgetEvents","t1","fromToken","toToken","fromAmount","toAmount","event","name","params","swapMode","price","t2","Symbol","for","t3","drawerId","onOpen","onClose","drawerControls","useDrawerControls","keepPriceMode","t4","MarketSwapDrawerButton","labelOverride","drawerProps","isConnected","useAccount","disabled","step","startMarketSwap","isFlowCancellable","cancelFlow","retryFlow","reset","explorerLink","result","usedPrice","error","erroredStep","tradeFlowType","useMarketSwapStep","orderProps_0","formatUnits","BigInt","srcAmount","srcDecimals","getFromAmount","orderProps_1","destAmount","destDecimals","getToAmount","onDismiss","t5","content","t6","onClick","onTxSent","handleTxSent","t7","className","cn","t8","t9","t10","t11","t12","t13","DeltaSwapDrawerButton","startDeltaSwap","useDeltaSwapStep","decimals","receivedDestAmount","onOrderSent","addDeltaOrderToast","LimitOrderDrawerButton","limitPrice","orderCancellationStep","startLimitOrder","cancelLimitOrder","isOrderCancellable","useLimitOrderStep","onCancelOrder","undefined","LimitOrderTradeFlowButton","onLimitOrder","OtcOrderDrawerButton","otcPrice","startOtcOrder","cancelOtcOrder","useOtcOrderStep","OtcOrderTradeFlowButton","onOTCOrder"],"mappings":"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"}
1
+ {"version":3,"file":"TradeFlowButton.js","sources":["../../src/core/TradeFlowButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { ControlledDrawer } from \"@/components/widget/Drawer\";\nimport {\n useDrawerControls,\n type DrawerControls,\n} from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { DeltaOrderTradeOverview } from \"@/components/widget/TradeOverview\";\nimport { LimitOrderTradeOverview } from \"@/components/widget/TradeOverview/LimitOrderTradeOverview\";\nimport { MarketSwapTradeOverview } from \"@/components/widget/TradeOverview/MarketSwapTradeOverview\";\nimport { OtcOrderTradeOverview } from \"@/components/widget/TradeOverview/OtcOrderTradeOverview\";\nimport type {\n MinTradeOverviewProps,\n PreWrapTradeOverviewProps,\n} from \"@/components/widget/TradeOverview/TradeOverview\";\nimport type { UserDefinedOtcPrice } from \"@/hooks/otc/tradeFlow/useOtcOrderFlow\";\nimport { useOtcOrderStep } from \"@/hooks/otc/tradeFlow/useOtcOrderStep\";\nimport { useDeltaSwapStep } from \"@/hooks/swap/tradeFlow/useDeltaSwapStep\";\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport { useLimitOrderStep } from \"@/hooks/swap/tradeFlow/useLimitOrderStep\";\nimport { useMarketSwapStep } from \"@/hooks/swap/tradeFlow/useMarketSwapStep\";\nimport { cn } from \"@/lib/utils\";\nimport { addDeltaOrderToast } from \"@/lib/utils/toasts\";\nimport { handleTxSent } from \"@/lib/utils/transactionHandlers\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport { useState } from \"react\";\nimport { formatUnits } from \"viem\";\nimport { useAccount } from \"wagmi\";\nimport { useWidgetEvents } from \"./state/widgetEventsAtom\";\nimport { wrappedNativeTokensByChainId } from \"@/tokens/constructor\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport type { MarkOptional } from \"ts-essentials\";\n\ntype BaseTradeFlowButtonProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n labelOverride?: string;\n};\n\ntype SwapTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n priceMode: SwapMode;\n};\n\nexport function SwapTradeFlowButton({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n ...buttonProps\n}: SwapTradeFlowButtonProps) {\n const [drawerOrderProps, setDrawerOrderProps] = useState<\n (MinTradeOverviewProps & { priceMode: SwapMode }) | null\n >(null);\n\n const { onSwap } = useWidgetEvents();\n\n const drawerControls = useDrawerControls({\n drawerId: \"trade-flow-drawer\",\n onOpen: () => {\n // freeze priceMode the drawer was open for,\n // along with tokens the drawer was opened for\n if (orderProps) {\n setDrawerOrderProps({\n fromToken: orderProps.fromToken,\n toToken: orderProps.toToken,\n fromAmount: orderProps.fromAmount,\n toAmount: orderProps.toAmount,\n priceMode,\n });\n\n if (priceMode === \"market\" && marketPrice) {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price: marketPrice,\n },\n },\n });\n } else if (priceMode === \"delta\" && deltaPrice) {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price: deltaPrice,\n },\n },\n });\n }\n }\n },\n onClose: () => {\n setDrawerOrderProps(null);\n },\n });\n\n const keepPriceMode = drawerOrderProps?.priceMode || priceMode;\n\n return keepPriceMode === \"market\" ? (\n <MarketSwapDrawerButton\n orderProps={drawerOrderProps || orderProps}\n drawerContainer={drawerContainer}\n marketPrice={marketPrice}\n drawerControls={drawerControls}\n {...buttonProps}\n />\n ) : (\n <DeltaSwapDrawerButton\n orderProps={drawerOrderProps || orderProps}\n drawerContainer={drawerContainer}\n deltaPrice={deltaPrice}\n drawerControls={drawerControls}\n {...buttonProps}\n />\n );\n}\n\ntype MarketSwapDrawerButtonProps = BaseTradeFlowButtonProps & {\n marketPrice?: OptimalRate;\n drawerControls: DrawerControls;\n};\n\nfunction MarketSwapDrawerButton({\n orderProps,\n drawerContainer,\n marketPrice,\n labelOverride,\n drawerControls,\n ...buttonProps\n}: MarketSwapDrawerButtonProps) {\n const { onOpen, onClose, ...drawerProps } = drawerControls;\n\n const { isConnected } = useAccount();\n\n const disabled = !isConnected || !orderProps || !marketPrice;\n\n const {\n step,\n startMarketSwap,\n isFlowCancellable,\n cancelFlow,\n retryFlow,\n reset,\n explorerLink,\n result,\n usedPrice,\n error,\n erroredStep,\n tradeFlowType,\n } = useMarketSwapStep({\n marketPrice,\n });\n\n const getFromAmount = (orderProps: MinTradeOverviewProps) =>\n usedPrice\n ? formatUnits(BigInt(usedPrice.srcAmount), usedPrice.srcDecimals)\n : orderProps.fromAmount;\n\n const getToAmount = (orderProps: MinTradeOverviewProps) =>\n usedPrice\n ? formatUnits(BigInt(usedPrice.destAmount), usedPrice.destDecimals)\n : orderProps.toAmount;\n\n const onDismiss = () => {\n onClose();\n // reset at this point helps to:\n // 1. reset all mutations\n // 2. reset trackedPrice\n reset();\n };\n\n const content = orderProps ? (\n <MarketSwapTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={getFromAmount(orderProps)}\n toAmount={getToAmount(orderProps)}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onRetry={retryFlow}\n activeStep={step}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n ) : null;\n\n const onClick = orderProps\n ? () => {\n onOpen();\n startMarketSwap({\n onTxSent: handleTxSent,\n });\n }\n : buttonProps.onClick;\n\n return (\n <>\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={buttonProps.disabled || disabled}\n >\n {labelOverride || \"Swap\"}\n </Button>\n <ControlledDrawer\n {...drawerProps}\n container={drawerContainer}\n onClose={() => {\n if (isFlowCancellable) {\n cancelFlow();\n }\n }}\n >\n {content}\n </ControlledDrawer>\n </>\n );\n}\ntype DeltaSwapDrawerButtonProps = BaseTradeFlowButtonProps & {\n deltaPrice?: DeltaPrice | BridgePrice;\n drawerControls: DrawerControls;\n};\n\nfunction DeltaSwapDrawerButton({\n orderProps: orderPropsFromForm,\n drawerContainer,\n deltaPrice,\n labelOverride,\n drawerControls,\n ...buttonProps\n}: DeltaSwapDrawerButtonProps) {\n const { onOpen, onClose, ...drawerProps } = drawerControls;\n\n const { isConnected } = useAccount();\n\n const orderProps = orderPropsFromForm\n ? addPreWrapToOrderProps({\n orderProps: orderPropsFromForm,\n priceMode: \"delta\",\n }).orderProps\n : undefined;\n\n const disabled = !isConnected || !orderProps || !deltaPrice;\n\n const {\n step,\n startDeltaSwap,\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n reset,\n explorerLink,\n result,\n usedPrice,\n error,\n erroredStep,\n tradeFlowType,\n } = useDeltaSwapStep({\n deltaPrice,\n preWrapETH: orderProps?.preWrapETH,\n });\n\n const getFromAmount = (orderProps: MinTradeOverviewProps) =>\n usedPrice\n ? formatUnits(BigInt(usedPrice.srcAmount), orderProps.fromToken.decimals)\n : orderProps.fromAmount;\n\n const getToAmount = (orderProps: MinTradeOverviewProps) =>\n usedPrice\n ? formatUnits(\n BigInt(usedPrice.receivedDestAmount),\n orderProps.toToken.decimals\n )\n : orderProps.toAmount;\n\n const onDismiss = () => {\n onClose();\n // reset at this point helps to:\n // 1. reset all mutations\n // 2. reset trackedPrice\n reset();\n };\n const content = orderProps ? (\n <DeltaOrderTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={getFromAmount(orderProps)}\n toAmount={getToAmount(orderProps)}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onRetry={retryFlow}\n activeStep={step}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n ) : null;\n\n const onClick = orderProps\n ? () => {\n onOpen();\n startDeltaSwap({\n onTxSent: handleTxSent,\n onOrderSent: addDeltaOrderToast,\n });\n }\n : buttonProps.onClick;\n\n return (\n <>\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={buttonProps.disabled || disabled}\n >\n {labelOverride || \"Swap\"}\n </Button>\n <ControlledDrawer\n {...drawerProps}\n container={drawerContainer}\n onClose={() => {\n if (isFlowCancellable) {\n cancelFlow();\n }\n }}\n >\n {content}\n </ControlledDrawer>\n </>\n );\n}\n\ntype LimitOrderDrawerButtonProps = BaseTradeFlowButtonProps & {\n limitPrice?: UserDefinedLimitPrice;\n drawerControls: DrawerControls;\n};\n\nfunction LimitOrderDrawerButton({\n orderProps: orderPropsFromForm,\n drawerContainer,\n limitPrice: limitPriceFromForm,\n labelOverride,\n drawerControls,\n ...buttonProps\n}: LimitOrderDrawerButtonProps) {\n const { onOpen, onClose, ...drawerProps } = drawerControls;\n\n const { isConnected } = useAccount();\n\n const { orderProps, userDefinedPrice: limitPrice } = orderPropsFromForm\n ? addPreWrapToOrderProps({\n orderProps: orderPropsFromForm,\n priceMode: \"userInputOrder\",\n userDefinedPrice: limitPriceFromForm,\n })\n : {};\n\n const disabled = !isConnected || !orderProps || !limitPrice;\n\n const {\n step,\n orderCancellationStep,\n startLimitOrder,\n cancelLimitOrder,\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n isOrderCancellable,\n reset,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n } = useLimitOrderStep({\n limitPrice,\n preWrapETH: orderProps?.preWrapETH,\n });\n\n const getFromAmount = (orderProps: MinTradeOverviewProps) =>\n limitPrice\n ? formatUnits(BigInt(limitPrice.srcAmount), orderProps.fromToken.decimals)\n : orderProps.fromAmount;\n\n const getToAmount = (orderProps: MinTradeOverviewProps) =>\n limitPrice\n ? formatUnits(BigInt(limitPrice.destAmount), orderProps.toToken.decimals)\n : orderProps.toAmount;\n\n const onDismiss = () => {\n onClose();\n // reset at this point helps to:\n // 1. reset all mutations\n // 2. reset trackedPrice\n reset();\n };\n\n const onCancelOrder = isOrderCancellable ? cancelLimitOrder : undefined;\n\n const content = orderProps ? (\n <LimitOrderTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={getFromAmount(orderProps)}\n toAmount={getToAmount(orderProps)}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onRetry={retryFlow}\n onCancelOrder={onCancelOrder}\n activeStep={step}\n orderCancellationStep={orderCancellationStep}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n ) : null;\n\n const onClick = orderProps\n ? () => {\n onOpen();\n startLimitOrder({\n onTxSent: handleTxSent,\n });\n }\n : buttonProps.onClick;\n\n return (\n <>\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={buttonProps.disabled || disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n <ControlledDrawer\n {...drawerProps}\n container={drawerContainer}\n onClose={() => {\n if (isFlowCancellable) {\n cancelFlow();\n }\n }}\n >\n {content}\n </ControlledDrawer>\n </>\n );\n}\n\ntype LimitOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport function LimitOrderTradeFlowButton({\n orderProps,\n drawerContainer,\n limitPrice,\n ...buttonProps\n}: LimitOrderTradeFlowButtonProps) {\n const [drawerOrderProps, setDrawerOrderProps] =\n useState<MinTradeOverviewProps | null>(null);\n\n const { onLimitOrder } = useWidgetEvents();\n\n const drawerControls = useDrawerControls({\n drawerId: \"limit-order-flow-drawer\",\n // @TODO maybe not needed for limit orders\n onOpen: () => {\n if (orderProps) {\n setDrawerOrderProps({\n fromToken: orderProps.fromToken,\n toToken: orderProps.toToken,\n fromAmount: orderProps.fromAmount,\n toAmount: orderProps.toAmount,\n });\n\n // always available when orderProps is available\n if (limitPrice) {\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:click\",\n params: {\n price: limitPrice,\n },\n },\n });\n }\n }\n },\n onClose: () => {\n setDrawerOrderProps(null);\n },\n });\n\n return (\n <LimitOrderDrawerButton\n orderProps={drawerOrderProps || orderProps}\n drawerContainer={drawerContainer}\n limitPrice={limitPrice}\n drawerControls={drawerControls}\n {...buttonProps}\n />\n );\n}\n\ntype OtcOrderDrawerButtonProps = BaseTradeFlowButtonProps & {\n otcPrice?: UserDefinedOtcPrice;\n drawerControls: DrawerControls;\n};\n\nfunction OtcOrderDrawerButton({\n orderProps: orderPropsFromForm,\n drawerContainer,\n otcPrice: otcPriceFromForm,\n labelOverride,\n drawerControls,\n ...buttonProps\n}: OtcOrderDrawerButtonProps) {\n const { onOpen, onClose, ...drawerProps } = drawerControls;\n\n const { isConnected } = useAccount();\n\n const { orderProps, userDefinedPrice: otcPrice } = orderPropsFromForm\n ? addPreWrapToOrderProps({\n orderProps: orderPropsFromForm,\n priceMode: \"userInputOrder\",\n userDefinedPrice: otcPriceFromForm,\n })\n : {};\n const disabled = !isConnected || !orderProps || !otcPrice;\n\n const {\n step,\n orderCancellationStep,\n startOtcOrder,\n cancelOtcOrder,\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n isOrderCancellable,\n reset,\n result,\n error,\n erroredStep,\n tradeFlowType,\n } = useOtcOrderStep({\n otcPrice,\n preWrapETH: orderProps?.preWrapETH,\n });\n\n const getFromAmount = (orderProps: MinTradeOverviewProps) =>\n otcPrice\n ? formatUnits(BigInt(otcPrice.srcAmount), orderProps.fromToken.decimals)\n : orderProps.fromAmount;\n\n const getToAmount = (orderProps: MinTradeOverviewProps) =>\n otcPrice\n ? formatUnits(BigInt(otcPrice.destAmount), orderProps.toToken.decimals)\n : orderProps.toAmount;\n\n const onDismiss = () => {\n onClose();\n // reset at this point helps to reset all mutations\n reset();\n };\n\n const onCancelOrder = isOrderCancellable ? cancelOtcOrder : undefined;\n\n const content = orderProps ? (\n <OtcOrderTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={getFromAmount(orderProps)}\n toAmount={getToAmount(orderProps)}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onRetry={retryFlow}\n onCancelOrder={onCancelOrder}\n activeStep={step}\n orderCancellationStep={orderCancellationStep}\n isFlowCancellable={isFlowCancellable}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n ) : null;\n\n const onClick = orderProps\n ? () => {\n onOpen();\n startOtcOrder({\n onTxSent: handleTxSent,\n });\n }\n : buttonProps.onClick;\n\n return (\n <>\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={buttonProps.disabled || disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n <ControlledDrawer\n {...drawerProps}\n container={drawerContainer}\n onClose={() => {\n if (isFlowCancellable) {\n cancelFlow();\n }\n }}\n >\n {content}\n </ControlledDrawer>\n </>\n );\n}\n\ntype OtcOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n otcPrice?: UserDefinedOtcPrice;\n};\n\nexport function OtcOrderTradeFlowButton({\n orderProps,\n drawerContainer,\n otcPrice,\n ...buttonProps\n}: OtcOrderTradeFlowButtonProps) {\n const [drawerOrderProps, setDrawerOrderProps] =\n useState<MinTradeOverviewProps | null>(null);\n\n const { onOTCOrder } = useWidgetEvents();\n\n const drawerControls = useDrawerControls({\n drawerId: \"otc-order-flow-drawer\",\n // @TODO maybe not needed for OTC orders\n onOpen: () => {\n if (orderProps) {\n setDrawerOrderProps({\n fromToken: orderProps.fromToken,\n toToken: orderProps.toToken,\n fromAmount: orderProps.fromAmount,\n toAmount: orderProps.toAmount,\n });\n\n // always available when orderProps is available\n if (otcPrice) {\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:click\",\n params: {\n price: otcPrice,\n },\n },\n });\n }\n }\n },\n onClose: () => {\n setDrawerOrderProps(null);\n },\n });\n\n return (\n <OtcOrderDrawerButton\n orderProps={drawerOrderProps || orderProps}\n drawerContainer={drawerContainer}\n otcPrice={otcPrice}\n drawerControls={drawerControls}\n {...buttonProps}\n />\n );\n}\n\nfunction addPreWrapToOrderProps({\n orderProps,\n priceMode,\n userDefinedPrice,\n}: {\n orderProps: MinTradeOverviewProps;\n priceMode: SwapMode | \"userInputOrder\";\n userDefinedPrice?: UserDefinedLimitPrice | UserDefinedOtcPrice;\n}): {\n orderProps: MarkOptional<PreWrapTradeOverviewProps, \"preWrapETH\">;\n userDefinedPrice?: UserDefinedLimitPrice | UserDefinedOtcPrice;\n} {\n const { fromToken } = orderProps;\n if (\n (priceMode === \"delta\" || priceMode === \"userInputOrder\") &&\n isETH(fromToken) // Delta and OTC don't support native ETH as fromToken\n ) {\n const fromTokenWeth = wrappedNativeTokensByChainId[fromToken.network];\n const newOrderProps = {\n ...orderProps,\n fromToken: fromTokenWeth, // use WETH instead as fromToken\n preWrapETH: true, // and indicate that ETH should be preWrapped\n };\n\n const newUserDefinedPrice = userDefinedPrice\n ? {\n ...userDefinedPrice,\n srcTokenAddress: fromTokenWeth.address,\n }\n : undefined;\n\n return { orderProps: newOrderProps, userDefinedPrice: newUserDefinedPrice };\n }\n\n return { orderProps, userDefinedPrice };\n}\n"],"names":["SwapTradeFlowButton","t0","$","_c","buttonProps","deltaPrice","drawerContainer","marketPrice","orderProps","priceMode","drawerOrderProps","setDrawerOrderProps","useState","onSwap","useWidgetEvents","t1","fromToken","toToken","fromAmount","toAmount","event","name","params","swapMode","price","t2","Symbol","for","t3","drawerId","onOpen","onClose","drawerControls","useDrawerControls","keepPriceMode","t4","MarketSwapDrawerButton","labelOverride","drawerProps","isConnected","useAccount","disabled","step","startMarketSwap","isFlowCancellable","cancelFlow","retryFlow","reset","explorerLink","result","usedPrice","error","erroredStep","tradeFlowType","useMarketSwapStep","orderProps_0","formatUnits","BigInt","srcAmount","srcDecimals","getFromAmount","orderProps_1","destAmount","destDecimals","getToAmount","onDismiss","t5","content","onClick","onTxSent","handleTxSent","T0","Button","t6","t7","t8","cn","className","t9","t10","t11","t12","t13","t14","DeltaSwapDrawerButton","orderPropsFromForm","addPreWrapToOrderProps","undefined","startDeltaSwap","useDeltaSwapStep","preWrapETH","decimals","receivedDestAmount","onOrderSent","addDeltaOrderToast","LimitOrderDrawerButton","limitPrice","limitPriceFromForm","userDefinedPrice","orderCancellationStep","startLimitOrder","cancelLimitOrder","isOrderCancellable","useLimitOrderStep","onCancelOrder","LimitOrderTradeFlowButton","onLimitOrder","OtcOrderDrawerButton","otcPrice","otcPriceFromForm","startOtcOrder","cancelOtcOrder","useOtcOrderStep","OtcOrderTradeFlowButton","onOTCOrder","isETH","fromTokenWeth","wrappedNativeTokensByChainId","network","newOrderProps","newUserDefinedPrice","srcTokenAddress","address"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Updaters.js","sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\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\";\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(); // @TODO: prefetch instead\n useGetContracts(); // @TODO: prefetch instead\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 // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\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 // 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 return null;\n};\n"],"names":["Updaters","useFetchTokenLists","useActivateTokenListEffects","usePrefetchTokenBalances","useGetBridgeInfo","useGetContracts","useTokenFromPermitInfo","useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useSafeInfo","useCanBatchTxs","useOnWalletConnected","useActivateEventEffects","useActivateTransactionEffects","useActivateFormInputEffects","useActivateConfigEffect"],"mappings":";;;;;;;;;;;;;;;;AAgBO,MAAMA,WAAWA,MAAA;AAEtBC,EAAAA,kBAAAA,EAAmB;AAEnBC,EAAAA,kBAAAA,EAA4B;AAG5BC,EAAAA,wBAAAA,EAAyB;AACzBC,EAAAA,gBAAAA,EAAiB;AACjBC,EAAAA,eAAAA,EAAgB;AAGhBC,EAAAA,sBAAAA,EAAuB;AAEvBC,EAAAA,wBAAAA,EAAyB;AAEzBC,EAAAA,oCAAAA,EAAqC;AAIrCC,EAAAA,WAAAA,EAAY;AAGZC,EAAAA,cAAAA,EAAe;AAGfC,EAAAA,oBAAAA,EAAqB;AAGrBC,EAAAA,oBAAAA,EAAwB;AAGxBC,EAAAA,oBAAAA,EAA8B;AAG9BC,EAAAA,2BAAAA,EAA4B;AAG5BC,EAAAA,uBAAAA,EAAwB;AAAC,EAAA,OAAA,IAAA;AAAA;;;;"}
1
+ {"version":3,"file":"Updaters.js","sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\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\";\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(); // @TODO: prefetch instead\n useGetContracts(); // @TODO: prefetch instead\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 // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\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 // 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 return null;\n};\n"],"names":["Updaters","useFetchTokenLists","useActivateTokenListEffects","usePrefetchTokenBalances","useGetBridgeInfo","useGetContracts","useTokenFromPermitInfo","useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useSafeInfo","useCanBatchTxs","useOnWalletConnected","useActivateEventEffects","useActivateTransactionEffects","useActivateFormInputEffects","useActivateConfigEffect"],"mappings":";;;;;;;;;;;;;;;;AAgBO,MAAMA,WAAWA,MAAA;AAEtBC,EAAAA,kBAAAA,EAAmB;AAEnBC,EAAAA,kBAAAA,EAA4B;AAG5BC,EAAAA,wBAAAA,EAAyB;AACzBC,EAAAA,gBAAAA,EAAiB;AACjBC,EAAAA,eAAAA,EAAgB;AAGhBC,EAAAA,sBAAAA,EAAuB;AAEvBC,EAAAA,wBAAAA,EAAyB;AAEzBC,EAAAA,oCAAAA,EAAqC;AAIrCC,EAAAA,WAAAA,EAAY;AAGZC,EAAAA,cAAAA,EAAe;AAGfC,EAAAA,oBAAAA,EAAqB;AAGrBC,EAAAA,oBAAAA,EAAwB;AAGxBC,EAAAA,oBAAAA,EAA8B;AAG9BC,EAAAA,2BAAAA,EAA4B;AAG5BC,EAAAA,uBAAAA,EAAwB;AAAC,EAAA,OAElB,IAAA;AAAI;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Warnings.js","sources":["../../src/core/Warnings.tsx"],"sourcesContent":["import { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Warning } from \"@/components/widget/Warning/Warning\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\n\nconst warningClasses = {\n root: \"mt-4\",\n};\n\nexport const WidgetWarning = () => {\n const chainConfig = useCurrentChainConfig();\n const chainName = chainConfig.name;\n\n const limitNotSupported = useUnsupportedLimitChain();\n const otcNotSupported = useUnsupportedOtcChain();\n\n if (limitNotSupported)\n return (\n <Warning\n message={`Limit Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n if (otcNotSupported)\n return (\n <Warning\n message={`OTC Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n return null;\n};\n"],"names":["warningClasses","root","WidgetWarning","$","_c","chainConfig","useCurrentChainConfig","chainName","name","limitNotSupported","useUnsupportedLimitChain","otcNotSupported","useUnsupportedOtcChain","t0","t1"],"mappings":";;;;;;;AAKA,MAAMA,cAAAA,GAAiB;AAAA,EACrBC,IAAAA,EAAM;AACR,CAAA;AAEO,MAAMC,gBAAgBA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC3B,EAAA,MAAAC,cAAoBC,qBAAAA,EAAsB;AAC1C,EAAA,MAAAC,YAAkBF,WAAAA,CAAWG,IAAAA;AAE7B,EAAA,MAAAC,oBAA0BC,wBAAAA,EAAyB;AACnD,EAAA,MAAAC,kBAAwBC,sBAAAA,EAAuB;AAAE,EAAA,IAE7CH,iBAAAA,EAAiB;AAGN,IAAA,MAAAI,EAAAA,GAAA,yCAAyCN,SAAS,CAAA,CAAA;AAAE,IAAA,IAAAO,EAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAU,EAAAA,EAAA;AAD/DC,MAAAA,EAAAA,mBAAA,GAAA,CAAC,OAAA,EAAA,EACU,OAAA,EAAAD,EAAAA,EACAb,SAAAA,cAAAA,EAAc,CAAA;AACvBG,MAAAA,CAAAA,MAAAU,EAAAA;AAAAV,MAAAA,CAAAA,MAAAW,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAHFW,EAAAA;AAAAA,EAGE;AAAA,EAAA,IAGFH,eAAAA,EAAe;AAGJ,IAAA,MAAAE,EAAAA,GAAA,uCAAuCN,SAAS,CAAA,CAAA;AAAE,IAAA,IAAAO,EAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAU,EAAAA,EAAA;AAD7DC,MAAAA,EAAAA,mBAAA,GAAA,CAAC,OAAA,EAAA,EACU,OAAA,EAAAD,EAAAA,EACAb,SAAAA,cAAAA,EAAc,CAAA;AACvBG,MAAAA,CAAAA,MAAAU,EAAAA;AAAAV,MAAAA,CAAAA,MAAAW,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAHFW,EAAAA;AAAAA,EAGE;AAAA,EAAA,OAAA,IAAA;AAAA;;;;"}
1
+ {"version":3,"file":"Warnings.js","sources":["../../src/core/Warnings.tsx"],"sourcesContent":["import { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Warning } from \"@/components/widget/Warning/Warning\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\n\nconst warningClasses = {\n root: \"mt-4\",\n};\n\nexport const WidgetWarning = () => {\n const chainConfig = useCurrentChainConfig();\n const chainName = chainConfig.name;\n\n const limitNotSupported = useUnsupportedLimitChain();\n const otcNotSupported = useUnsupportedOtcChain();\n\n if (limitNotSupported)\n return (\n <Warning\n message={`Limit Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n if (otcNotSupported)\n return (\n <Warning\n message={`OTC Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n return null;\n};\n"],"names":["warningClasses","root","WidgetWarning","$","_c","chainConfig","useCurrentChainConfig","chainName","name","limitNotSupported","useUnsupportedLimitChain","otcNotSupported","useUnsupportedOtcChain","t0","t1"],"mappings":";;;;;;;AAKA,MAAMA,cAAAA,GAAiB;AAAA,EACrBC,IAAAA,EAAM;AACR,CAAA;AAEO,MAAMC,gBAAgBA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC3B,EAAA,MAAAC,cAAoBC,qBAAAA,EAAsB;AAC1C,EAAA,MAAAC,YAAkBF,WAAAA,CAAWG,IAAAA;AAE7B,EAAA,MAAAC,oBAA0BC,wBAAAA,EAAyB;AACnD,EAAA,MAAAC,kBAAwBC,sBAAAA,EAAuB;AAE/C,EAAA,IAAIH,iBAAAA,EAAiB;AAGN,IAAA,MAAAI,EAAAA,GAAA,yCAAyCN,SAAS,CAAA,CAAA;AAAE,IAAA,IAAAO,EAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAU,EAAAA,EAAA;AAD/DC,MAAAA,EAAAA,mBAAA,GAAA,CAAC,OAAA,EAAA,EACU,OAAA,EAAAD,EAAAA,EACAb,SAAAA,cAAAA,EAAc,CAAA;AACvBG,MAAAA,CAAAA,MAAAU,EAAAA;AAAAV,MAAAA,CAAAA,MAAAW,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAHFW,EAAAA;AAAAA,EAGE;AAGN,EAAA,IAAIH,eAAAA,EAAe;AAGJ,IAAA,MAAAE,EAAAA,GAAA,uCAAuCN,SAAS,CAAA,CAAA;AAAE,IAAA,IAAAO,EAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAU,EAAAA,EAAA;AAD7DC,MAAAA,EAAAA,mBAAA,GAAA,CAAC,OAAA,EAAA,EACU,OAAA,EAAAD,EAAAA,EACAb,SAAAA,cAAAA,EAAc,CAAA;AACvBG,MAAAA,CAAAA,MAAAU,EAAAA;AAAAV,MAAAA,CAAAA,MAAAW,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAHFW,EAAAA;AAAAA,EAGE;AACF,EAAA,OAEG,IAAA;AAAI;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetButtonExtraProps.js","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\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 { useChainId, useAccount } from \"wagmi\";\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 type { MarkOptional } from \"ts-essentials\";\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};\n\nfunction getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n}): string | undefined {\n // price error take precedence\n // can't swap without a price anyway\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const appChainId = useChainId();\n const { chainId: walletChainId, isConnected } = useAccount();\n\n const wrongNetwork =\n isConnected && !!walletChainId && appChainId !== walletChainId;\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 { wrongNetwork, tokensAreSame, isTokenFromInsufficientBalance };\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};\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const { wrongNetwork, isTokenFromInsufficientBalance, tokensAreSame } =\n useWidgetButtonConditions({ tokenFrom, tokenTo, tradeMode: \"swap\" });\n\n const { priceMode, error: priceError } = useCurrentSwapPrice({\n enabled: false,\n });\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const { address: receiver } = useSwapReceiverAddress();\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return { disabled, labelOverride };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: MarkOptional<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const { wrongNetwork, isTokenFromInsufficientBalance, tokensAreSame } =\n useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: tradeMode ?? \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const disabled =\n wrongNetwork || tokensAreSame || isTokenFromInsufficientBalance;\n\n const labelOverride = getButtonLabelOverride({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return { disabled, labelOverride, className };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const { isConnected } = useAccount();\n const { disabled, labelOverride } = useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n return {\n labelOverride,\n disabled: disabled || connectedButNoReceiver,\n className,\n };\n}\n"],"names":["errorMessageByApiErrorMessage","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","getButtonLabelOverride","priceMode","priceError","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","message","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","appChainId","useChainId","chainId","walletChainId","isConnected","useAccount","t1","areTokensSame","tokensAreSame","useIsTokenFromInsufficientBalance","t2","useWidgetButtonExtraProps","Symbol","for","enabled","error","useCurrentSwapPrice","isAccountContract","useIsAccountContract","data","isContract","isCrosschain","useIsCrossChain","address","receiver","useSwapReceiverAddress","disabled","t3","labelOverride","t4","useLimitButtonExtraProps","unsupportedChain","useUnsupportedLimitChain","className","undefined","useOtcButtonExtraProps","otcReceiverAddress","useOtcReceiverAddressValue","useUnsupportedOtcChain","connectedButNoReceiver"],"mappings":"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"}
1
+ {"version":3,"file":"useWidgetButtonExtraProps.js","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\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 { useChainId, useAccount } from \"wagmi\";\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 type { MarkOptional } from \"ts-essentials\";\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};\n\nfunction getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n}): string | undefined {\n // price error take precedence\n // can't swap without a price anyway\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const appChainId = useChainId();\n const { chainId: walletChainId, isConnected } = useAccount();\n\n const wrongNetwork =\n isConnected && !!walletChainId && appChainId !== walletChainId;\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 { wrongNetwork, tokensAreSame, isTokenFromInsufficientBalance };\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};\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const { wrongNetwork, isTokenFromInsufficientBalance, tokensAreSame } =\n useWidgetButtonConditions({ tokenFrom, tokenTo, tradeMode: \"swap\" });\n\n const { priceMode, error: priceError } = useCurrentSwapPrice({\n enabled: false,\n });\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const { address: receiver } = useSwapReceiverAddress();\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverride({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return { disabled, labelOverride };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: MarkOptional<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const { wrongNetwork, isTokenFromInsufficientBalance, tokensAreSame } =\n useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: tradeMode ?? \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const disabled =\n wrongNetwork || tokensAreSame || isTokenFromInsufficientBalance;\n\n const labelOverride = getButtonLabelOverride({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return { disabled, labelOverride, className };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const { isConnected } = useAccount();\n const { disabled, labelOverride } = useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n return {\n labelOverride,\n disabled: disabled || connectedButNoReceiver,\n className,\n };\n}\n"],"names":["errorMessageByApiErrorMessage","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","getButtonLabelOverride","priceMode","priceError","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","message","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","appChainId","useChainId","chainId","walletChainId","isConnected","useAccount","t1","areTokensSame","tokensAreSame","useIsTokenFromInsufficientBalance","t2","useWidgetButtonExtraProps","Symbol","for","enabled","error","useCurrentSwapPrice","isAccountContract","useIsAccountContract","data","isContract","isCrosschain","useIsCrossChain","address","receiver","useSwapReceiverAddress","disabled","t3","labelOverride","t4","useLimitButtonExtraProps","unsupportedChain","useUnsupportedLimitChain","className","undefined","useOtcButtonExtraProps","otcReceiverAddress","useOtcReceiverAddressValue","useUnsupportedOtcChain","connectedButNoReceiver"],"mappings":"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"}