@velora-dex/widget 0.6.1-dev.1 → 0.6.1-dev.3
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.
- package/dist/assets/bridges/canonical-uni.js +44 -0
- package/dist/assets/bridges/canonical-uni.js.map +1 -0
- package/dist/assets/bridges/cctp.js +53 -0
- package/dist/assets/bridges/cctp.js.map +1 -0
- package/dist/assets/bridges/celer.js +94 -0
- package/dist/assets/bridges/celer.js.map +1 -0
- package/dist/assets/bridges/relay.js +40 -0
- package/dist/assets/bridges/{relay.svg.js → relay.js.map} +1 -12
- package/dist/assets/check.js +24 -0
- package/dist/assets/check.js.map +1 -0
- package/dist/assets/chevron.js +22 -0
- package/dist/assets/chevron.js.map +1 -0
- package/dist/assets/circle-check.js +20 -0
- package/dist/assets/circle-check.js.map +1 -0
- package/dist/assets/circle-exclamation.js +24 -0
- package/dist/assets/circle-exclamation.js.map +1 -0
- package/dist/assets/copy.js +24 -0
- package/dist/assets/copy.js.map +1 -0
- package/dist/assets/delta.js +20 -0
- package/dist/assets/delta.js.map +1 -0
- package/dist/assets/ellipse.js +25 -0
- package/dist/assets/ellipse.js.map +1 -0
- package/dist/assets/external-url.js +43 -0
- package/dist/assets/external-url.js.map +1 -0
- package/dist/assets/info.js +23 -0
- package/dist/assets/info.js.map +1 -0
- package/dist/assets/logout.js +20 -0
- package/dist/assets/logout.js.map +1 -0
- package/dist/assets/{market.svg.js.map → market.js} +23 -1
- package/dist/assets/market.js.map +1 -0
- package/dist/assets/price-impact.js +20 -0
- package/dist/assets/price-impact.js.map +1 -0
- package/dist/assets/receipt.js +25 -0
- package/dist/assets/receipt.js.map +1 -0
- package/dist/assets/refresh.js +26 -0
- package/dist/assets/refresh.js.map +1 -0
- package/dist/assets/slider.js +20 -0
- package/dist/assets/slider.js.map +1 -0
- package/dist/assets/speedometer.js +46 -0
- package/dist/assets/speedometer.js.map +1 -0
- package/dist/assets/spinner.js +57 -0
- package/dist/assets/spinner.js.map +1 -0
- package/dist/assets/two-dots.js +32 -0
- package/dist/assets/two-dots.js.map +1 -0
- package/dist/assets/vlr.js +6 -0
- package/dist/assets/vlr.js.map +1 -0
- package/dist/assets/wavax.js +47 -0
- package/dist/assets/wavax.js.map +1 -0
- package/dist/assets/wavax2.js +6 -0
- package/dist/assets/wavax2.js.map +1 -0
- package/dist/assets/wbnb.js +47 -0
- package/dist/assets/wbnb.js.map +1 -0
- package/dist/assets/wbnb2.js +6 -0
- package/dist/assets/wbnb2.js.map +1 -0
- package/dist/assets/weth.js +49 -0
- package/dist/assets/weth.js.map +1 -0
- package/dist/assets/weth2.js +6 -0
- package/dist/assets/weth2.js.map +1 -0
- package/dist/assets/wmatic.js +69 -0
- package/dist/assets/wmatic.js.map +1 -0
- package/dist/assets/wmatic2.js +6 -0
- package/dist/assets/wmatic2.js.map +1 -0
- package/dist/assets/wxdai.js +56 -0
- package/dist/assets/wxdai.js.map +1 -0
- package/dist/assets/wxdai2.js +6 -0
- package/dist/assets/wxdai2.js.map +1 -0
- package/dist/components/ui/accordion.js +77 -208
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/button.js +64 -109
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.js +51 -142
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/drawer.js +100 -270
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js +84 -232
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/input.js +50 -122
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/progress.js +47 -118
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/ui/skeleton.js +18 -40
- package/dist/components/ui/skeleton.js.map +1 -1
- package/dist/components/ui/sonner.js +39 -66
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/components/ui/switch.js +28 -63
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/tooltip.js +61 -159
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/web3/AccountButton.js +62 -131
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +56 -95
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/constants.js +5 -5
- package/dist/components/web3/ConnectExternalProvider/constants.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js +58 -51
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js +48 -72
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js +24 -35
- package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
- package/dist/components/web3/ConnectWallets/WalletConnectButtons.js +102 -242
- package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
- package/dist/components/web3/ConnectWallets/assets/browser-wallet.js +6 -0
- package/dist/components/web3/ConnectWallets/assets/browser-wallet.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/bscwallet.js +6 -0
- package/dist/components/web3/ConnectWallets/assets/bscwallet.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/coinbasewallet.js +6 -0
- package/dist/components/web3/ConnectWallets/assets/coinbasewallet.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/email.js +6 -0
- package/dist/components/web3/ConnectWallets/assets/email.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/ledger.js +6 -0
- package/dist/components/web3/ConnectWallets/assets/ledger.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/metamask.js +6 -0
- package/dist/components/web3/ConnectWallets/assets/metamask.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/paraswap.js +6 -0
- package/dist/components/web3/ConnectWallets/assets/paraswap.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/safe.js +6 -0
- package/dist/components/web3/ConnectWallets/assets/safe.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/trezor.js +6 -0
- package/dist/components/web3/ConnectWallets/assets/trezor.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/walletconnect.js +6 -0
- package/dist/components/web3/ConnectWallets/assets/walletconnect.js.map +1 -0
- package/dist/components/web3/ConnectWallets/index.js +110 -254
- package/dist/components/web3/ConnectWallets/index.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/button.js +80 -196
- package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/connectRunner.js +49 -68
- package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/iframe.js +17 -31
- package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/provider.js +16 -25
- package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletFlags.js +97 -102
- package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js +122 -173
- package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +116 -182
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/web3/providers.js +30 -54
- package/dist/components/web3/providers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Activities.js +66 -122
- package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +64 -130
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivityItems.js +161 -319
- package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.js +90 -166
- package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/assets/eye-crossed.js +20 -0
- package/dist/components/widget/AppHeader/Activities/assets/eye-crossed.js.map +1 -0
- package/dist/components/widget/AppHeader/Activities/assets/eye.js +20 -0
- package/dist/components/widget/AppHeader/Activities/assets/eye.js.map +1 -0
- package/dist/components/widget/AppHeader/Activities/hooks.js +330 -831
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.js +42 -68
- package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
- package/dist/components/widget/AppHeader/ActivityButton.js +45 -101
- package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +81 -172
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js +50 -95
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
- package/dist/components/widget/AppHeader/state/showMoreAtom.js +13 -18
- package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js +187 -474
- package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js +98 -216
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgesList.js +40 -72
- package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js +119 -241
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/BridgePreferences/BridgePreferences.js +75 -134
- package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js +78 -135
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButton.js +43 -104
- package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js +35 -64
- package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/constants.js +5 -3
- package/dist/components/widget/Button/CancelButton/constants.js.map +1 -1
- package/dist/components/widget/Button/DismissButton.js +19 -27
- package/dist/components/widget/Button/DismissButton.js.map +1 -1
- package/dist/components/widget/CompareQuotes/CompareQuotes.js +96 -208
- package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
- package/dist/components/widget/Details/DetailWithTooltip.js +28 -75
- package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueList.js +38 -68
- package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueListExpandable.js +29 -60
- package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
- package/dist/components/widget/Details/SwapDetailsExpandable.js +11 -19
- package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
- package/dist/components/widget/DexesList/DexItem.js +201 -357
- package/dist/components/widget/DexesList/DexItem.js.map +1 -1
- package/dist/components/widget/DexesList/DexesList.js +49 -58
- package/dist/components/widget/DexesList/DexesList.js.map +1 -1
- package/dist/components/widget/DexesList/assets/exchanges/biswap.js +6 -0
- package/dist/components/widget/DexesList/assets/exchanges/biswap.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.js +6 -0
- package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/complusswap.js +6 -0
- package/dist/components/widget/DexesList/assets/exchanges/complusswap.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/hashflow.js +6 -0
- package/dist/components/widget/DexesList/assets/exchanges/hashflow.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/icons.js +83 -0
- package/dist/components/widget/DexesList/assets/exchanges/icons.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/quickswap.js +6 -0
- package/dist/components/widget/DexesList/assets/exchanges/quickswap.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/shibaswap.js +6 -0
- package/dist/components/widget/DexesList/assets/exchanges/shibaswap.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/uniswap.js +6 -0
- package/dist/components/widget/DexesList/assets/exchanges/uniswap.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-dark.js +6 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-dark.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-light.js +6 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-light.js.map +1 -0
- package/dist/components/widget/DexesList/assets/gas.js +20 -0
- package/dist/components/widget/DexesList/assets/gas.js.map +1 -0
- package/dist/components/widget/DexesList/assets/unknown-dex.js +6 -0
- package/dist/components/widget/DexesList/assets/unknown-dex.js.map +1 -0
- package/dist/components/widget/DexesList/constants.js +5 -3
- package/dist/components/widget/DexesList/constants.js.map +1 -1
- package/dist/components/widget/DexesList/getDexProps.js +59 -89
- package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +118 -277
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js +34 -46
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +242 -664
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +23 -45
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +29 -65
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +52 -106
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +217 -173
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +28 -49
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +104 -237
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +45 -75
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
- package/dist/components/widget/Drawer/Overlay.js +25 -60
- package/dist/components/widget/Drawer/Overlay.js.map +1 -1
- package/dist/components/widget/Drawer/index.js +93 -229
- package/dist/components/widget/Drawer/index.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js +85 -258
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/Dropdown/DropdownWithItems.js +35 -43
- package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
- package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
- package/dist/components/widget/Duration/Duration.js +51 -89
- package/dist/components/widget/Duration/Duration.js.map +1 -1
- package/dist/components/widget/Duration/utils.js +6 -4
- package/dist/components/widget/Duration/utils.js.map +1 -1
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.js +48 -39
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
- package/dist/components/widget/Icon/CheckIcon.js +10 -17
- package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
- package/dist/components/widget/Icon/ChevronIcon.js +18 -41
- package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
- package/dist/components/widget/Icon/DeltaIcon.js +10 -17
- package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
- package/dist/components/widget/Icon/EllipseIcon.js +10 -17
- package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
- package/dist/components/widget/Icon/InfoIcon.js +21 -44
- package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
- package/dist/components/widget/Icon/MarketIcon.js +10 -17
- package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
- package/dist/components/widget/Icon/SliderIcon.js +10 -17
- package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js +92 -120
- package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
- package/dist/components/widget/ImportToken/useImportTokenDrawer.js +38 -89
- package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +97 -208
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +82 -169
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js +77 -89
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +5 -7
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +193 -447
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/constants.js +6 -9
- package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/types.d.ts +1 -0
- package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.js +43 -63
- package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
- package/dist/components/widget/LimitPriceInput/index.js +158 -319
- package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
- package/dist/components/widget/Line/Line.js +17 -47
- package/dist/components/widget/Line/Line.js.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +36 -64
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/arbitrum.js +47 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/arbitrum.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/avalanche.js +27 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/avalanche.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/base.js +27 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/base.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/bsc.js +31 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/bsc.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/eth.js +67 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/eth.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/gnosis.js +35 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/gnosis.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/optimism.js +33 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/optimism.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/polygon.js +27 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/polygon.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/unichain.js +46 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/unichain.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js +33 -54
- package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +38 -83
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js +32 -70
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js +18 -46
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js +15 -44
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/utils/items.js +49 -61
- package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js +60 -144
- package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +55 -109
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
- package/dist/components/widget/NumberInput/NumberInput.d.ts +2 -1
- package/dist/components/widget/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/components/widget/NumberInput/NumberInput.js +102 -237
- package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/widget/NumberInput/assets/arrow-down.js +20 -0
- package/dist/components/widget/NumberInput/assets/arrow-down.js.map +1 -0
- package/dist/components/widget/NumberInput/assets/arrow-up.js +20 -0
- package/dist/components/widget/NumberInput/assets/arrow-up.js.map +1 -0
- package/dist/components/widget/OrderExpiryInput/index.js +112 -223
- package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js +84 -186
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js +51 -93
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js +16 -15
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +83 -180
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/constants.js +7 -7
- package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/utils.d.ts.map +1 -1
- package/dist/components/widget/OtcOrderItem/utils.js +58 -80
- package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js +92 -198
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
- package/dist/components/widget/PoweredBy/PoweredBy.js +16 -19
- package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
- package/dist/components/widget/PoweredBy/assets/velora.js +55 -0
- package/dist/components/widget/PoweredBy/assets/velora.js.map +1 -0
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js +67 -124
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js +18 -39
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +47 -67
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js +39 -142
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +90 -204
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +82 -106
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +46 -46
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js +56 -144
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/Screen/ScreenContainer.js +18 -34
- package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +82 -197
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SettingsButton/SettingsButton.js +25 -59
- package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +166 -413
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +19 -31
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js +7 -9
- package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +10 -23
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js +56 -111
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +48 -116
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
- package/dist/components/widget/Tabs/Tabs.js +49 -101
- package/dist/components/widget/Tabs/Tabs.js.map +1 -1
- package/dist/components/widget/Toasts/CustomToast.js +120 -220
- package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.js +81 -174
- package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenLink.js +32 -63
- package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
- package/dist/components/widget/TokenBadge/assets/placeholder.js +6 -0
- package/dist/components/widget/TokenBadge/assets/placeholder.js.map +1 -0
- package/dist/components/widget/TokenInput/InputContainer.js +17 -52
- package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
- package/dist/components/widget/TokenInput/InputField.js +50 -82
- package/dist/components/widget/TokenInput/InputField.js.map +1 -1
- package/dist/components/widget/TokenInput/InputFooter.js +86 -204
- package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
- package/dist/components/widget/TokenInput/InputHeader.js +28 -56
- package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
- package/dist/components/widget/TokenInput/common/Balance.js +21 -26
- package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
- package/dist/components/widget/TokenInput/common/MaxButtons.js +25 -46
- package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
- package/dist/components/widget/TokenInput/index.js +84 -167
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js +34 -75
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js +43 -82
- package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js +99 -225
- package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/constants.js +20 -18
- package/dist/components/widget/TradeOverview/CancelOrder/constants.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/utils.js +24 -43
- package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +108 -241
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +60 -131
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +73 -181
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +101 -229
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +69 -149
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/Step.js +71 -164
- package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.js +16 -40
- package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js +57 -106
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +51 -84
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +75 -179
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js +21 -24
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/constants.js +11 -9
- package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.js +22 -46
- package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +96 -170
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +166 -255
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js +175 -375
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +43 -50
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js +43 -95
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js +31 -41
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/index.js +19 -48
- package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js +31 -56
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js +190 -404
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +132 -221
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js +26 -45
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +40 -85
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +108 -245
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/VerticalDash.js +28 -34
- package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
- package/dist/components/widget/TradeOverview/assets/1_approving.js +6 -0
- package/dist/components/widget/TradeOverview/assets/1_approving.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/2_in_progress.js +6 -0
- package/dist/components/widget/TradeOverview/assets/2_in_progress.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/3_executing_step.js +6 -0
- package/dist/components/widget/TradeOverview/assets/3_executing_step.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/4_complete_step.js +6 -0
- package/dist/components/widget/TradeOverview/assets/4_complete_step.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/5_error_step.js +6 -0
- package/dist/components/widget/TradeOverview/assets/5_error_step.js.map +1 -0
- package/dist/components/widget/TradeOverview/motionProps.js +63 -119
- package/dist/components/widget/TradeOverview/motionProps.js.map +1 -1
- package/dist/components/widget/TradeOverview/steps.js +141 -121
- package/dist/components/widget/TradeOverview/steps.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js +25 -65
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js +6 -4
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js +26 -34
- package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +36 -87
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js +38 -88
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js +28 -66
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js +81 -139
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeParameter.js +42 -82
- package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/DeltaParameter.js +35 -65
- package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/EIP1559Parameter.js +27 -55
- package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js +43 -75
- package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js +16 -25
- package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js +92 -176
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js +60 -141
- package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
- package/dist/components/widget/TradeParameters/TradeParameters.js +93 -207
- package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js +98 -181
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +25 -49
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +11 -15
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.js +6 -6
- package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js +12 -17
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js +8 -10
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js +7 -6
- package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js +9 -9
- package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js +28 -61
- package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/constants.js +5 -8
- package/dist/components/widget/TradeParameters/state/constants.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js +7 -19
- package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js +9 -9
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js +8 -12
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js +7 -10
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +9 -14
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js +10 -15
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js +23 -30
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js +97 -261
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +93 -160
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +49 -84
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js +69 -80
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/TransactionDetails/TransactionListItem.js +172 -385
- package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
- package/dist/components/widget/TransactionDetails/utils.js +44 -75
- package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
- package/dist/components/widget/Twap/CustomDurationDrawer.d.ts +3 -2
- package/dist/components/widget/Twap/CustomDurationDrawer.d.ts.map +1 -1
- package/dist/components/widget/Twap/CustomDurationDrawer.js +150 -233
- package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
- package/dist/components/widget/Twap/OrderDuration.d.ts +9 -0
- package/dist/components/widget/Twap/OrderDuration.d.ts.map +1 -1
- package/dist/components/widget/Twap/OrderDuration.js +90 -142
- package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
- package/dist/components/widget/Twap/OrderSplit.js +38 -55
- package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
- package/dist/components/widget/Twap/RateProtection.js +40 -55
- package/dist/components/widget/Twap/RateProtection.js.map +1 -1
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js +19 -31
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
- package/dist/components/widget/Warning/InsufficientBalanceMessage.js +13 -24
- package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
- package/dist/components/widget/Warning/Warning.js +57 -150
- package/dist/components/widget/Warning/Warning.js.map +1 -1
- package/dist/components/widget/Warning/WarningMessage.js +17 -34
- package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthContent.js +86 -164
- package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +64 -156
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +91 -121
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +60 -157
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/components/widget/YouGet/YouGet.js +94 -156
- package/dist/components/widget/YouGet/YouGet.js.map +1 -1
- package/dist/core/ConnectWalletDrawerButton.js +47 -112
- package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
- package/dist/core/LimitOrderButton.js +68 -160
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/LimitOrderDetails.js +13 -22
- package/dist/core/LimitOrderDetails.js.map +1 -1
- package/dist/core/OtcOrderButton.js +72 -156
- package/dist/core/OtcOrderButton.js.map +1 -1
- package/dist/core/OtcOrderDetails.js +13 -22
- package/dist/core/OtcOrderDetails.js.map +1 -1
- package/dist/core/Toaster.js +19 -22
- package/dist/core/Toaster.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.js +119 -258
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/TwapDetails.js +13 -22
- package/dist/core/TwapDetails.js.map +1 -1
- package/dist/core/Updaters.js +34 -70
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/Warnings.d.ts +1 -1
- package/dist/core/Warnings.d.ts.map +1 -1
- package/dist/core/Warnings.js +209 -384
- package/dist/core/Warnings.js.map +1 -1
- package/dist/core/across/isCrosschainPossible.js +24 -39
- package/dist/core/across/isCrosschainPossible.js.map +1 -1
- package/dist/core/across/utils.js +18 -37
- package/dist/core/across/utils.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +173 -448
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/constants.js +14 -23
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +590 -1398
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js +75 -145
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +167 -452
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenSwitcherProps.js +17 -35
- package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +149 -387
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useWarningMessage.js +28 -69
- package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
- package/dist/core/inputs/hooks/utils.js +24 -39
- package/dist/core/inputs/hooks/utils.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +141 -171
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/inputAmountAtom.js +13 -19
- package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js +138 -248
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.js +14 -23
- package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js +171 -303
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/inputs/state/subscriptions.js +14 -19
- package/dist/core/inputs/state/subscriptions.js.map +1 -1
- package/dist/core/limit/state/constants.js +28 -24
- package/dist/core/limit/state/constants.js.map +1 -1
- package/dist/core/limit/state/currentLimitInputAtom.js +6 -5
- package/dist/core/limit/state/currentLimitInputAtom.js.map +1 -1
- package/dist/core/limit/state/deadlineAtom.js +12 -24
- package/dist/core/limit/state/deadlineAtom.js.map +1 -1
- package/dist/core/limit/state/isCrosschainAtom.js +9 -11
- package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/limit/state/isLimitPriceLockedAtom.js +6 -5
- package/dist/core/limit/state/isLimitPriceLockedAtom.js.map +1 -1
- package/dist/core/limit/state/isLimitPriceReversedAtom.js +6 -5
- package/dist/core/limit/state/isLimitPriceReversedAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputActionsAtom.js +41 -77
- package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js +18 -27
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/state/limitTokenAtoms.js +9 -16
- package/dist/core/limit/state/limitTokenAtoms.js.map +1 -1
- package/dist/core/limit/state/receiverAddressAtom.js +18 -39
- package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js +86 -160
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js +38 -57
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/state/utils.js +89 -101
- package/dist/core/limit/state/utils.js.map +1 -1
- package/dist/core/limit/useLimitDetailsListProps.js +38 -67
- package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
- package/dist/core/limit/useLimitNotSupported.js +11 -22
- package/dist/core/limit/useLimitNotSupported.js.map +1 -1
- package/dist/core/limit/useLimitPriceDifference.js +25 -50
- package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.js +43 -117
- package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
- package/dist/core/limit/useLimitRate.js +121 -288
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +144 -389
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js +24 -60
- package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js +126 -351
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/logger.js +25 -37
- package/dist/core/logger.js.map +1 -1
- package/dist/core/otc/state/currentOtcInputAtom.js +6 -5
- package/dist/core/otc/state/currentOtcInputAtom.js.map +1 -1
- package/dist/core/otc/state/deadlineAtom.js +12 -24
- package/dist/core/otc/state/deadlineAtom.js.map +1 -1
- package/dist/core/otc/state/isOtcPriceLockedAtom.js +6 -5
- package/dist/core/otc/state/isOtcPriceLockedAtom.js.map +1 -1
- package/dist/core/otc/state/isOtcPriceReversedAtom.js +6 -5
- package/dist/core/otc/state/isOtcPriceReversedAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputActionsAtom.js +41 -77
- package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputAmountAtom.js +18 -27
- package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
- package/dist/core/otc/state/receiverAddressAtom.js +18 -39
- package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenActionsAtom.js +34 -79
- package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.js +13 -23
- package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/otc/useOtcDetailsListProps.js +38 -67
- package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
- package/dist/core/otc/useOtcNotSupported.js +11 -22
- package/dist/core/otc/useOtcNotSupported.js.map +1 -1
- package/dist/core/otc/useOtcPriceDifference.js +25 -50
- package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
- package/dist/core/otc/useOtcPriceInputProps.js +48 -136
- package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js +144 -389
- package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenSwitcherProps.js +21 -50
- package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.js +71 -177
- package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
- package/dist/core/screen/hooks/useInitialValue.js +8 -7
- package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.js +16 -33
- package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
- package/dist/core/screen/hooks/useResizeObserver.js +18 -34
- package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
- package/dist/core/screen/hooks/useRunOnMount.js +11 -26
- package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
- package/dist/core/screen/screenByType.js +16 -16
- package/dist/core/screen/screenByType.js.map +1 -1
- package/dist/core/screen/state/hooks/useScreen.js +13 -23
- package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
- package/dist/core/screen/state/hooks/useScreenValue.js +21 -40
- package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
- package/dist/core/screen/state/hooks/useSetScreen.js +56 -111
- package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
- package/dist/core/screen/state/screenAtom.js +8 -9
- package/dist/core/screen/state/screenAtom.js.map +1 -1
- package/dist/core/state/apiConfigAtom.js +14 -19
- package/dist/core/state/apiConfigAtom.js.map +1 -1
- package/dist/core/state/chainToAtom.js +51 -88
- package/dist/core/state/chainToAtom.js.map +1 -1
- package/dist/core/state/configActionsAtom.js +21 -40
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.js +38 -44
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/configEffectAtom.js +37 -60
- package/dist/core/state/configEffectAtom.js.map +1 -1
- package/dist/core/state/containerAtom.js +11 -16
- package/dist/core/state/containerAtom.js.map +1 -1
- package/dist/core/state/currentSwapInputAtom.js +6 -5
- package/dist/core/state/currentSwapInputAtom.js.map +1 -1
- package/dist/core/state/enabledChainsAtom.js +39 -96
- package/dist/core/state/enabledChainsAtom.js.map +1 -1
- package/dist/core/state/enabledTradeModesAtom.js +24 -48
- package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
- package/dist/core/state/externalProviderAtom.js +10 -22
- package/dist/core/state/externalProviderAtom.js.map +1 -1
- package/dist/core/state/getSelectableDestChains.js +22 -32
- package/dist/core/state/getSelectableDestChains.js.map +1 -1
- package/dist/core/state/isCrosschainAtom.js +11 -15
- package/dist/core/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/state/tradeModeAtom.js +11 -16
- package/dist/core/state/tradeModeAtom.js.map +1 -1
- package/dist/core/state/validatedPartnerConfigAtom.js +15 -20
- package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +196 -269
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/store.js +7 -14
- package/dist/core/store.js.map +1 -1
- package/dist/core/subscriptions.js +9 -10
- package/dist/core/subscriptions.js.map +1 -1
- package/dist/core/swapDetails/fees.js +35 -40
- package/dist/core/swapDetails/fees.js.map +1 -1
- package/dist/core/swapDetails/maxToPay.js +24 -39
- package/dist/core/swapDetails/maxToPay.js.map +1 -1
- package/dist/core/swapDetails/orderRouting.js +42 -60
- package/dist/core/swapDetails/orderRouting.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.js +31 -39
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +86 -149
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/swapDetails/youGet.js +27 -36
- package/dist/core/swapDetails/youGet.js.map +1 -1
- package/dist/core/twap/state/constants.d.ts +3 -1
- package/dist/core/twap/state/constants.d.ts.map +1 -1
- package/dist/core/twap/state/constants.js +22 -27
- package/dist/core/twap/state/constants.js.map +1 -1
- package/dist/core/twap/state/currentTwapInputAtom.js +6 -5
- package/dist/core/twap/state/currentTwapInputAtom.js.map +1 -1
- package/dist/core/twap/state/isCrosschainAtom.js +11 -15
- package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.js +112 -192
- package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/twap/state/twapInputAmountAtom.js +13 -19
- package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
- package/dist/core/twap/state/twapParamsAtom.d.ts +2 -1
- package/dist/core/twap/state/twapParamsAtom.d.ts.map +1 -1
- package/dist/core/twap/state/twapParamsAtom.js +17 -29
- package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
- package/dist/core/twap/state/twapReceiverAddressAtom.js +7 -9
- package/dist/core/twap/state/twapReceiverAddressAtom.js.map +1 -1
- package/dist/core/twap/state/twapSideAtom.js +13 -23
- package/dist/core/twap/state/twapSideAtom.js.map +1 -1
- package/dist/core/twap/state/twapTokenAtoms.js +9 -16
- package/dist/core/twap/state/twapTokenAtoms.js.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.js +31 -42
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
- package/dist/core/twap/useTwapDetailsListProps.js +79 -142
- package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenFromInputProps.js +162 -452
- package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenSwitcherProps.js +17 -35
- package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -1
- package/dist/core/twap/useTwapTokenToInputProps.js +112 -299
- package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
- package/dist/events/effects/formInput.js +35 -69
- package/dist/events/effects/formInput.js.map +1 -1
- package/dist/events/effects/price.js +35 -50
- package/dist/events/effects/price.js.map +1 -1
- package/dist/events/effects/swapMode.js +40 -45
- package/dist/events/effects/swapMode.js.map +1 -1
- package/dist/events/getters/limit.js +32 -39
- package/dist/events/getters/limit.js.map +1 -1
- package/dist/events/getters/otc.js +31 -37
- package/dist/events/getters/otc.js.map +1 -1
- package/dist/events/getters/settings.js +21 -27
- package/dist/events/getters/settings.js.map +1 -1
- package/dist/events/getters/swap.js +48 -56
- package/dist/events/getters/swap.js.map +1 -1
- package/dist/events/getters/twap.js +53 -67
- package/dist/events/getters/twap.js.map +1 -1
- package/dist/events/getters/widgetState.js +36 -42
- package/dist/events/getters/widgetState.js.map +1 -1
- package/dist/events/hooks/useActivateEffects.js +8 -10
- package/dist/events/hooks/useActivateEffects.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js +48 -114
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js +30 -66
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d/external/vaul/dist/index.js +910 -1621
- package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d/external/vaul/dist/index.js.map +1 -1
- package/dist/hooks/batch/useAwaitCalls.js +27 -56
- package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
- package/dist/hooks/batch/useBatchWithApproveTxs.js +53 -91
- package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
- package/dist/hooks/batch/useCanBatchTxs.js +36 -73
- package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js +42 -86
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js +14 -23
- package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js +14 -25
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +30 -73
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
- package/dist/hooks/gas/config.js +42 -41
- package/dist/hooks/gas/config.js.map +1 -1
- package/dist/hooks/gas/useGasPrices.js +71 -115
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/gas/utils.js +11 -10
- package/dist/hooks/gas/utils.js.map +1 -1
- package/dist/hooks/getCode/query.js +19 -28
- package/dist/hooks/getCode/query.js.map +1 -1
- package/dist/hooks/getCode/useIsAccountContract.js +16 -35
- package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
- package/dist/hooks/getCode/useIsContractAtAddress.js +29 -61
- package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js +164 -386
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js +57 -117
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +28 -92
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/utils.js +7 -6
- package/dist/hooks/otc/mutations/utils.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js +74 -160
- package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrders.js +78 -205
- package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
- package/dist/hooks/otc/queries/utils.js +17 -7
- package/dist/hooks/otc/queries/utils.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +297 -464
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +54 -128
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +251 -389
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +53 -126
- package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js +34 -97
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignPermit.js +32 -91
- package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js +14 -39
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js +46 -89
- package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js +45 -117
- package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js +110 -141
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js +142 -332
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js +24 -57
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js +22 -51
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js +48 -103
- package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +44 -102
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js +91 -139
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +119 -286
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js +10 -20
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js +22 -53
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/utils/abi.js +432 -366
- package/dist/hooks/permit/utils/abi.js.map +1 -1
- package/dist/hooks/permit/utils/constants.js +229 -217
- package/dist/hooks/permit/utils/constants.js.map +1 -1
- package/dist/hooks/permit/utils/construct.js +178 -214
- package/dist/hooks/permit/utils/construct.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js +9 -7
- package/dist/hooks/permit/utils/deadlines.js.map +1 -1
- package/dist/hooks/permit/utils/detect.js +181 -228
- package/dist/hooks/permit/utils/detect.js.map +1 -1
- package/dist/hooks/permit/utils/domainSeparator.js +123 -200
- package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
- package/dist/hooks/permit/utils/encodeArgs.js +47 -44
- package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
- package/dist/hooks/permit/utils/trySignPermit1.js +222 -269
- package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
- package/dist/hooks/permit/utils/utils.js +24 -31
- package/dist/hooks/permit/utils/utils.js.map +1 -1
- package/dist/hooks/sdk/useGetContracts.js +11 -22
- package/dist/hooks/sdk/useGetContracts.js.map +1 -1
- package/dist/hooks/sdk/useSpender.js +14 -31
- package/dist/hooks/sdk/useSpender.js.map +1 -1
- package/dist/hooks/swap/prices/constants.js +7 -6
- package/dist/hooks/swap/prices/constants.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/const.js +11 -11
- package/dist/hooks/swap/prices/delta/bridge/const.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js +19 -34
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +24 -33
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +40 -84
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +75 -162
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +119 -276
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +40 -87
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +133 -323
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +37 -85
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +49 -114
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +60 -101
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +97 -282
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +75 -162
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +41 -85
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +37 -85
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js +24 -67
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +40 -86
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +32 -78
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +120 -272
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +43 -61
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +18 -3
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/const.js +6 -7
- package/dist/hooks/swap/prices/delta/orders/unposted/const.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js +17 -25
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js +26 -31
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +31 -42
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +78 -115
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +15 -17
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +182 -194
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js +14 -23
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js +7 -7
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js +9 -10
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js +29 -79
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js +28 -73
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.js +21 -26
- package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +73 -159
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js +130 -254
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +49 -130
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +129 -201
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +34 -86
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +3 -2
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +109 -220
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/factory.js +21 -33
- package/dist/hooks/swap/prices/factory.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js +20 -53
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js +37 -86
- package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/errors.js +11 -13
- package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +136 -197
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js +39 -115
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +56 -166
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +172 -496
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +28 -75
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +28 -70
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.d.ts +2 -1
- package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.js +95 -251
- package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/errors.js +19 -26
- package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +53 -69
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +57 -92
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +139 -358
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js +126 -221
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js +193 -324
- package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js +39 -81
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +119 -276
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +142 -354
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js +30 -86
- package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +153 -355
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js +20 -20
- package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +408 -636
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +87 -235
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +306 -436
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +53 -123
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +435 -658
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +88 -231
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +0 -3
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +365 -616
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +82 -223
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js +87 -140
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.js +28 -75
- package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/utils.js +16 -27
- package/dist/hooks/tokens/allowance/utils.js.map +1 -1
- package/dist/hooks/tokens/balances/queries.js +56 -76
- package/dist/hooks/tokens/balances/queries.js.map +1 -1
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +35 -78
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js +52 -75
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +27 -64
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +69 -190
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +40 -77
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useSelectedTokenBalances.js +22 -36
- package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useTokenBalance.js +95 -252
- package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +50 -124
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
- package/dist/hooks/tokens/data/useFetchTokens.js +15 -40
- package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
- package/dist/hooks/tokens/data/useMultichainTokensData.js +106 -165
- package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
- package/dist/hooks/tokens/prices/queries.js +50 -74
- package/dist/hooks/tokens/prices/queries.js.map +1 -1
- package/dist/hooks/tokens/prices/useMultichainTokenPrices.js +32 -69
- package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/prices/useTokenPrices.js +48 -115
- package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js +107 -258
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/hooks/tokens/useNativeToken.js +14 -36
- package/dist/hooks/tokens/useNativeToken.js.map +1 -1
- package/dist/hooks/tokens/useTokenTaxFee.js +32 -65
- package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
- package/dist/hooks/tokens/useTokensByAddress.js +20 -32
- package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js +22 -62
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/txs/mutations/useApprove.js +54 -142
- package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
- package/dist/hooks/txs/mutations/useDepositWeth.js +56 -138
- package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
- package/dist/hooks/txs/mutations/useReplaceTx.js +234 -509
- package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
- package/dist/hooks/txs/mutations/useSendTx.js +33 -103
- package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
- package/dist/hooks/txs/queries/useAccountNonce.js +16 -29
- package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js +62 -169
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/hooks/txs/queries/useTxFees.js +42 -98
- package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.js +71 -121
- package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
- package/dist/hooks/txs/queries/useTxResponse.js +28 -72
- package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
- package/dist/hooks/txs/queries/useWalletCanReplaceTx.js +14 -28
- package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
- package/dist/hooks/txs/queries/utils.js +11 -10
- package/dist/hooks/txs/queries/utils.js.map +1 -1
- package/dist/hooks/useAvailableCrosses.js +35 -73
- package/dist/hooks/useAvailableCrosses.js.map +1 -1
- package/dist/hooks/useBreakpoints.js +10 -20
- package/dist/hooks/useBreakpoints.js.map +1 -1
- package/dist/hooks/useBridgeInfo.js +18 -37
- package/dist/hooks/useBridgeInfo.js.map +1 -1
- package/dist/hooks/useBridgeProtocols.js +19 -32
- package/dist/hooks/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/useCachedQueryError.js +8 -9
- package/dist/hooks/useCachedQueryError.js.map +1 -1
- package/dist/hooks/useChainMatches.js +13 -29
- package/dist/hooks/useChainMatches.js.map +1 -1
- package/dist/hooks/useClickOutside.js +26 -63
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useCurrentChain.js +9 -8
- package/dist/hooks/useCurrentChain.js.map +1 -1
- package/dist/hooks/useDebouncedInputState.js +24 -58
- package/dist/hooks/useDebouncedInputState.js.map +1 -1
- package/dist/hooks/useEIP1559Enabled.js +16 -29
- package/dist/hooks/useEIP1559Enabled.js.map +1 -1
- package/dist/hooks/useGlobalDeltaEnabled.js +20 -40
- package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.js +23 -67
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
- package/dist/hooks/useMinViemClient.js +47 -105
- package/dist/hooks/useMinViemClient.js.map +1 -1
- package/dist/hooks/usePartner.js +7 -8
- package/dist/hooks/usePartner.js.map +1 -1
- package/dist/hooks/useSDK.js +130 -148
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSelectableDestChains.js +35 -94
- package/dist/hooks/useSelectableDestChains.js.map +1 -1
- package/dist/hooks/useSlippage.js +20 -45
- package/dist/hooks/useSlippage.js.map +1 -1
- package/dist/hooks/useSwitchChainWithGuard.js +28 -68
- package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/lib/constants/delta.js +16 -18
- package/dist/lib/constants/delta.js.map +1 -1
- package/dist/lib/constants/index.js +5 -9
- package/dist/lib/constants/index.js.map +1 -1
- package/dist/lib/constants/mobile.js +6 -5
- package/dist/lib/constants/mobile.js.map +1 -1
- package/dist/lib/constants/otc.js +11 -5
- package/dist/lib/constants/otc.js.map +1 -1
- package/dist/lib/constants/storage.js +6 -5
- package/dist/lib/constants/storage.js.map +1 -1
- package/dist/lib/constants/time.d.ts +1 -0
- package/dist/lib/constants/time.d.ts.map +1 -1
- package/dist/lib/constants/time.js +5 -6
- package/dist/lib/constants/time.js.map +1 -1
- package/dist/lib/constants/urls.js +16 -26
- package/dist/lib/constants/urls.js.map +1 -1
- package/dist/lib/constants/weth.js +62 -62
- package/dist/lib/constants/weth.js.map +1 -1
- package/dist/lib/ipfs.js +11 -22
- package/dist/lib/ipfs.js.map +1 -1
- package/dist/lib/queryClient.js +40 -60
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/tradeMode.js +16 -8
- package/dist/lib/tradeMode.js.map +1 -1
- package/dist/lib/utils/approval.js +78 -112
- package/dist/lib/utils/approval.js.map +1 -1
- package/dist/lib/utils/atomWithCompare.js +7 -11
- package/dist/lib/utils/atomWithCompare.js.map +1 -1
- package/dist/lib/utils/copyToClipboard.js +11 -12
- package/dist/lib/utils/copyToClipboard.js.map +1 -1
- package/dist/lib/utils/delta.js +52 -74
- package/dist/lib/utils/delta.js.map +1 -1
- package/dist/lib/utils/dexes.js +5 -11
- package/dist/lib/utils/dexes.js.map +1 -1
- package/dist/lib/utils/explorer.js +20 -41
- package/dist/lib/utils/explorer.js.map +1 -1
- package/dist/lib/utils/fee.js +11 -12
- package/dist/lib/utils/fee.js.map +1 -1
- package/dist/lib/utils/formatFiatPrice.js +11 -10
- package/dist/lib/utils/formatFiatPrice.js.map +1 -1
- package/dist/lib/utils/formatPercent.js +9 -8
- package/dist/lib/utils/formatPercent.js.map +1 -1
- package/dist/lib/utils/formatTokenBalance.js +15 -32
- package/dist/lib/utils/formatTokenBalance.js.map +1 -1
- package/dist/lib/utils/index.js +63 -97
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/logger.js +160 -229
- package/dist/lib/utils/logger.js.map +1 -1
- package/dist/lib/utils/metabase.js +25 -25
- package/dist/lib/utils/metabase.js.map +1 -1
- package/dist/lib/utils/mobile.js +7 -8
- package/dist/lib/utils/mobile.js.map +1 -1
- package/dist/lib/utils/price.js +22 -35
- package/dist/lib/utils/price.js.map +1 -1
- package/dist/lib/utils/priceImpact.js +29 -41
- package/dist/lib/utils/priceImpact.js.map +1 -1
- package/dist/lib/utils/providerErrors.js +26 -25
- package/dist/lib/utils/providerErrors.js.map +1 -1
- package/dist/lib/utils/rate.js +14 -16
- package/dist/lib/utils/rate.js.map +1 -1
- package/dist/lib/utils/removeZeroDecimals.js +11 -12
- package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
- package/dist/lib/utils/savedAmountUSD.js +26 -55
- package/dist/lib/utils/savedAmountUSD.js.map +1 -1
- package/dist/lib/utils/scaleFactor.js +11 -10
- package/dist/lib/utils/scaleFactor.js.map +1 -1
- package/dist/lib/utils/slippage.js +12 -11
- package/dist/lib/utils/slippage.js.map +1 -1
- package/dist/lib/utils/theme.js +5 -9
- package/dist/lib/utils/theme.js.map +1 -1
- package/dist/lib/utils/time.js +13 -14
- package/dist/lib/utils/time.js.map +1 -1
- package/dist/lib/utils/toDecimal.js +13 -22
- package/dist/lib/utils/toDecimal.js.map +1 -1
- package/dist/lib/utils/toasts.js +65 -50
- package/dist/lib/utils/toasts.js.map +1 -1
- package/dist/lib/utils/tradeFlow.js +12 -10
- package/dist/lib/utils/tradeFlow.js.map +1 -1
- package/dist/lib/utils/transactionHandlers.js +12 -15
- package/dist/lib/utils/transactionHandlers.js.map +1 -1
- package/dist/lib/utils/tuple.js +10 -12
- package/dist/lib/utils/tuple.js.map +1 -1
- package/dist/lib/utils/twap.js +29 -47
- package/dist/lib/utils/twap.js.map +1 -1
- package/dist/lib/utils/useDateNow.js +7 -5
- package/dist/lib/utils/useDateNow.js.map +1 -1
- package/dist/lib/web3/privy/config.js +15 -36
- package/dist/lib/web3/privy/config.js.map +1 -1
- package/dist/lib/web3/wagmi/config.js +25 -36
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/lib/web3/wagmi/constants.js +36 -27
- package/dist/lib/web3/wagmi/constants.js.map +1 -1
- package/dist/lib/web3/wagmi/external.js +27 -32
- package/dist/lib/web3/wagmi/external.js.map +1 -1
- package/dist/lib/web3/wagmi/isInIframe.js +5 -3
- package/dist/lib/web3/wagmi/isInIframe.js.map +1 -1
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js +61 -109
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
- package/dist/lib/web3/wagmi/supportedChains.js +2 -0
- package/dist/lib/web3/wagmi/switchChain.js +13 -21
- package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
- package/dist/lib/web3/wagmi/transports.js +18 -20
- package/dist/lib/web3/wagmi/transports.js.map +1 -1
- package/dist/lib/web3/wagmi/utils.js +8 -7
- package/dist/lib/web3/wagmi/utils.js.map +1 -1
- package/dist/styles.css +1 -3506
- package/dist/tokens/blacklist.js +16 -23
- package/dist/tokens/blacklist.js.map +1 -1
- package/dist/tokens/constants.js +20 -23
- package/dist/tokens/constants.js.map +1 -1
- package/dist/tokens/constructor.js +50 -75
- package/dist/tokens/constructor.js.map +1 -1
- package/dist/tokens/defaultTokens.js +203 -207
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/hooks.js +16 -20
- package/dist/tokens/hooks.js.map +1 -1
- package/dist/tokens/lists/constants.js +13 -30
- package/dist/tokens/lists/constants.js.map +1 -1
- package/dist/tokens/lists/download.js +16 -29
- package/dist/tokens/lists/download.js.map +1 -1
- package/dist/tokens/lists/lists.js +6 -0
- package/dist/tokens/lists/lists.js.map +1 -0
- package/dist/tokens/lists/state/effects.js +26 -30
- package/dist/tokens/lists/state/effects.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsActionsAtom.js +24 -34
- package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsStateAtom.js +32 -53
- package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
- package/dist/tokens/lists/utils.js +14 -19
- package/dist/tokens/lists/utils.js.map +1 -1
- package/dist/tokens/overrides.js +86 -173
- package/dist/tokens/overrides.js.map +1 -1
- package/dist/tokens/queries.js +65 -119
- package/dist/tokens/queries.js.map +1 -1
- package/dist/tokens/stabeCoins/hooks.js +17 -36
- package/dist/tokens/stabeCoins/hooks.js.map +1 -1
- package/dist/tokens/stabeCoins/index.js +5 -6
- package/dist/tokens/stabeCoins/index.js.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.js +55 -71
- package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
- package/dist/tokens/state/allTokensByChainAtom.js +36 -47
- package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
- package/dist/tokens/state/constructTokens.js +25 -37
- package/dist/tokens/state/constructTokens.js.map +1 -1
- package/dist/tokens/state/fromListsAtom.js +34 -42
- package/dist/tokens/state/fromListsAtom.js.map +1 -1
- package/dist/tokens/state/importedTokensAtom.js +8 -10
- package/dist/tokens/state/importedTokensAtom.js.map +1 -1
- package/dist/tokens/utils/areTokensSame.js +6 -4
- package/dist/tokens/utils/areTokensSame.js.map +1 -1
- package/dist/tokens/utils/brand.js +8 -7
- package/dist/tokens/utils/brand.js.map +1 -1
- package/dist/tokens/utils/eth.js +9 -12
- package/dist/tokens/utils/eth.js.map +1 -1
- package/dist/tokens/utils/filtering.js +34 -72
- package/dist/tokens/utils/filtering.js.map +1 -1
- package/dist/tokens/utils/sets.js +13 -16
- package/dist/tokens/utils/sets.js.map +1 -1
- package/dist/tokens/utils/sorting.js +33 -51
- package/dist/tokens/utils/sorting.js.map +1 -1
- package/dist/tokens/utils/transferAmountsFromReceipt.js +160 -345
- package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
- package/dist/transactions/hash.js +15 -30
- package/dist/transactions/hash.js.map +1 -1
- package/dist/transactions/logger.js +6 -5
- package/dist/transactions/logger.js.map +1 -1
- package/dist/transactions/queries/ensureCallsStatus.js +27 -43
- package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
- package/dist/transactions/queries/ensureEstimateFeesPerGas.js +14 -21
- package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.js +49 -85
- package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
- package/dist/transactions/queries/ensureTxResponse.js +14 -21
- package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
- package/dist/transactions/state/effects/finalize.js +46 -72
- package/dist/transactions/state/effects/finalize.js.map +1 -1
- package/dist/transactions/state/hooks/useActivateEffects.js +8 -10
- package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
- package/dist/transactions/state/hooks/useMarkTxAsDropped.js +8 -8
- package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
- package/dist/transactions/state/hooks/useTransactions.js +28 -68
- package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.js +147 -222
- package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
- package/dist/transactions/state/transactionsAtom.js +23 -58
- package/dist/transactions/state/transactionsAtom.js.map +1 -1
- package/dist/transactions/status.js +7 -11
- package/dist/transactions/status.js.map +1 -1
- package/dist/transactions/utils.js +26 -27
- package/dist/transactions/utils.js.map +1 -1
- package/package.json +11 -9
- package/dist/_virtual/index.js +0 -6
- package/dist/_virtual/index.js.map +0 -1
- package/dist/assets/bridges/canonical-uni.svg.js +0 -12
- package/dist/assets/bridges/canonical-uni.svg.js.map +0 -1
- package/dist/assets/bridges/cctp.svg.js +0 -12
- package/dist/assets/bridges/cctp.svg.js.map +0 -1
- package/dist/assets/bridges/celer.svg.js +0 -16
- package/dist/assets/bridges/celer.svg.js.map +0 -1
- package/dist/assets/bridges/relay.svg.js.map +0 -1
- package/dist/assets/check.svg.js +0 -12
- package/dist/assets/check.svg.js.map +0 -1
- package/dist/assets/chevron.svg.js +0 -12
- package/dist/assets/chevron.svg.js.map +0 -1
- package/dist/assets/circle-check.svg.js +0 -12
- package/dist/assets/circle-check.svg.js.map +0 -1
- package/dist/assets/circle-exclamation.svg.js +0 -12
- package/dist/assets/circle-exclamation.svg.js.map +0 -1
- package/dist/assets/copy.svg.js +0 -12
- package/dist/assets/copy.svg.js.map +0 -1
- package/dist/assets/delta.svg.js +0 -12
- package/dist/assets/delta.svg.js.map +0 -1
- package/dist/assets/ellipse.svg.js +0 -12
- package/dist/assets/ellipse.svg.js.map +0 -1
- package/dist/assets/external-url.svg.js +0 -12
- package/dist/assets/external-url.svg.js.map +0 -1
- package/dist/assets/info.svg.js +0 -12
- package/dist/assets/info.svg.js.map +0 -1
- package/dist/assets/logout.svg.js +0 -12
- package/dist/assets/logout.svg.js.map +0 -1
- package/dist/assets/market.svg.js +0 -12
- package/dist/assets/price-impact.svg.js +0 -12
- package/dist/assets/price-impact.svg.js.map +0 -1
- package/dist/assets/receipt.svg.js +0 -12
- package/dist/assets/receipt.svg.js.map +0 -1
- package/dist/assets/refresh.svg.js +0 -12
- package/dist/assets/refresh.svg.js.map +0 -1
- package/dist/assets/slider.svg.js +0 -12
- package/dist/assets/slider.svg.js.map +0 -1
- package/dist/assets/speedometer.svg.js +0 -12
- package/dist/assets/speedometer.svg.js.map +0 -1
- package/dist/assets/spinner.svg.js +0 -18
- package/dist/assets/spinner.svg.js.map +0 -1
- package/dist/assets/two-dots.svg.js +0 -12
- package/dist/assets/two-dots.svg.js.map +0 -1
- package/dist/assets/vlr.svg.js +0 -4
- package/dist/assets/vlr.svg.js.map +0 -1
- package/dist/assets/wavax.svg.js +0 -12
- package/dist/assets/wavax.svg.js.map +0 -1
- package/dist/assets/wavax.svg2.js +0 -4
- package/dist/assets/wavax.svg2.js.map +0 -1
- package/dist/assets/wbnb.svg.js +0 -12
- package/dist/assets/wbnb.svg.js.map +0 -1
- package/dist/assets/wbnb.svg2.js +0 -4
- package/dist/assets/wbnb.svg2.js.map +0 -1
- package/dist/assets/weth.svg.js +0 -12
- package/dist/assets/weth.svg.js.map +0 -1
- package/dist/assets/weth.svg2.js +0 -4
- package/dist/assets/weth.svg2.js.map +0 -1
- package/dist/assets/wmatic.svg.js +0 -12
- package/dist/assets/wmatic.svg.js.map +0 -1
- package/dist/assets/wmatic.svg2.js +0 -4
- package/dist/assets/wmatic.svg2.js.map +0 -1
- package/dist/assets/wxdai.svg.js +0 -12
- package/dist/assets/wxdai.svg.js.map +0 -1
- package/dist/assets/wxdai.svg2.js +0 -4
- package/dist/assets/wxdai.svg2.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/browser-wallet.svg.js +0 -4
- package/dist/components/web3/ConnectWallets/assets/browser-wallet.svg.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/bscwallet.svg.js +0 -4
- package/dist/components/web3/ConnectWallets/assets/bscwallet.svg.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/coinbasewallet.svg.js +0 -4
- package/dist/components/web3/ConnectWallets/assets/coinbasewallet.svg.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/email.svg.js +0 -4
- package/dist/components/web3/ConnectWallets/assets/email.svg.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/ledger.svg.js +0 -4
- package/dist/components/web3/ConnectWallets/assets/ledger.svg.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/metamask.svg.js +0 -4
- package/dist/components/web3/ConnectWallets/assets/metamask.svg.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/paraswap.svg.js +0 -4
- package/dist/components/web3/ConnectWallets/assets/paraswap.svg.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/safe.svg.js +0 -4
- package/dist/components/web3/ConnectWallets/assets/safe.svg.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/trezor.svg.js +0 -4
- package/dist/components/web3/ConnectWallets/assets/trezor.svg.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/walletconnect.svg.js +0 -4
- package/dist/components/web3/ConnectWallets/assets/walletconnect.svg.js.map +0 -1
- package/dist/components/widget/AppHeader/Activities/assets/eye-crossed.svg.js +0 -12
- package/dist/components/widget/AppHeader/Activities/assets/eye-crossed.svg.js.map +0 -1
- package/dist/components/widget/AppHeader/Activities/assets/eye.svg.js +0 -12
- package/dist/components/widget/AppHeader/Activities/assets/eye.svg.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/biswap.png.js +0 -4
- package/dist/components/widget/DexesList/assets/exchanges/biswap.png.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.png.js +0 -4
- package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.png.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/complusswap.png.js +0 -4
- package/dist/components/widget/DexesList/assets/exchanges/complusswap.png.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/hashflow.png.js +0 -4
- package/dist/components/widget/DexesList/assets/exchanges/hashflow.png.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/icons.json.js +0 -159
- package/dist/components/widget/DexesList/assets/exchanges/icons.json.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/quickswap.png.js +0 -4
- package/dist/components/widget/DexesList/assets/exchanges/quickswap.png.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/shibaswap.png.js +0 -4
- package/dist/components/widget/DexesList/assets/exchanges/shibaswap.png.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/uniswap.svg.js +0 -4
- package/dist/components/widget/DexesList/assets/exchanges/uniswap.svg.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/velora-dark.svg.js +0 -4
- package/dist/components/widget/DexesList/assets/exchanges/velora-dark.svg.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/velora-light.svg.js +0 -4
- package/dist/components/widget/DexesList/assets/exchanges/velora-light.svg.js.map +0 -1
- package/dist/components/widget/DexesList/assets/gas.svg.js +0 -12
- package/dist/components/widget/DexesList/assets/gas.svg.js.map +0 -1
- package/dist/components/widget/DexesList/assets/unknown-dex.svg.js +0 -4
- package/dist/components/widget/DexesList/assets/unknown-dex.svg.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/arbitrum.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/arbitrum.svg.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/avalanche.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/avalanche.svg.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/base.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/base.svg.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/bsc.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/bsc.svg.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/eth.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/eth.svg.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/gnosis.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/gnosis.svg.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/optimism.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/optimism.svg.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/polygon.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/polygon.svg.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/unichain.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/unichain.svg.js.map +0 -1
- package/dist/components/widget/NumberInput/assets/arrow-down.svg.js +0 -12
- package/dist/components/widget/NumberInput/assets/arrow-down.svg.js.map +0 -1
- package/dist/components/widget/NumberInput/assets/arrow-up.svg.js +0 -12
- package/dist/components/widget/NumberInput/assets/arrow-up.svg.js.map +0 -1
- package/dist/components/widget/PoweredBy/assets/velora.svg.js +0 -12
- package/dist/components/widget/PoweredBy/assets/velora.svg.js.map +0 -1
- package/dist/components/widget/TokenBadge/assets/placeholder.png.js +0 -4
- package/dist/components/widget/TokenBadge/assets/placeholder.png.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/1_approving.lottie.js +0 -4
- package/dist/components/widget/TradeOverview/assets/1_approving.lottie.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/2_in_progress.lottie.js +0 -4
- package/dist/components/widget/TradeOverview/assets/2_in_progress.lottie.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/3_executing_step.lottie.js +0 -4
- package/dist/components/widget/TradeOverview/assets/3_executing_step.lottie.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/4_complete_step.lottie.js +0 -4
- package/dist/components/widget/TradeOverview/assets/4_complete_step.lottie.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/5_error_step.lottie.js +0 -4
- package/dist/components/widget/TradeOverview/assets/5_error_step.lottie.js.map +0 -1
- package/dist/external/.pnpm/react-compiler-runtime@1.0.0_react@19.1.1/external/react-compiler-runtime/dist/index.js +0 -385
- package/dist/external/.pnpm/react-compiler-runtime@1.0.0_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/tokens/lists/lists.json.js +0 -4
- package/dist/tokens/lists/lists.json.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTwapFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useTwapFlow.ts"],"sourcesContent":["import { type BridgePrice, type DeltaPrice } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type Address, type Hash, type TransactionReceipt } from \"viem\";\nimport { deltaOrdersQueryKey } from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useTwapReceiverAddressValue } from \"@/core/twap/state/twapReceiverAddressAtom\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport type { OrderSentObject } from \"@/lib/utils/toasts\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { useLogger } from \"@/core/logger\";\nimport {\n isBridgePrice,\n useSubscribeToDeltaPrice,\n} from \"../prices/delta/queries/useDeltaPriceQuery\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { shouldApproveOrBatch } from \"./common/usePreSignAndSubmitDeltaOrder\";\nimport { getSwapSideFromDeltaPrice } from \"../prices/delta/orders/utils\";\nimport type { DeltaOrBridgePrice } from \"../prices/types\";\n\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useCancelOrWithdrawAndCancelDeltaOrder } from \"../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport type { CancelDeltaOrdersReturn } from \"../prices/delta/mutations/useCancelDeltaOrders\";\n\nimport { useTwapPrices } from \"../prices/useTwapPrices\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport {\n useTwapDuration,\n useTwapSlippage,\n} from \"@/core/twap/state/twapParamsAtom\";\nimport {\n useCreateAndSubmitTwapOrder,\n type CreateAndSubmitTwapOrderInput,\n} from \"../prices/delta/mutations/twap/useCreateTwapOrder\";\nimport type { DeltaAuctionWithTwapOrder } from \"../prices/delta/orders/types\";\nimport type { BuildTWAPSellOrBuySpecificParams } from \"../prices/delta/mutations/types\";\nimport {\n getTwapAmountsFromPrice,\n produceTwapDeadlines,\n} from \"@/lib/utils/twap\";\nimport {\n usePreSignAndSubmitTwapOrder,\n type TwapOrderPreSignResult,\n} from \"../prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder\";\nimport {\n useDepositAndSubmitTwapOrder,\n type TwapOrderDepositResult,\n} from \"../prices/delta/mutations/twap/useDepositAndSubmitTwapOrder\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { DEFAULT_DELTA_BRIDGE } from \"../prices/delta/bridge/const\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\n\nconst twapOrderFlowType = \"twapOrder\";\n\nexport type UseTwapFlowInput = {\n twapPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitTwapOrderResult = {\n tradeFlowType: typeof twapOrderFlowType;\n approve: SubmitTxResult;\n twapOrder: {\n sentOrder: DeltaAuctionWithTwapOrder;\n lastOrderState?: DeltaAuctionWithTwapOrder;\n };\n twapPrice: DeltaPrice | BridgePrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\ntype RunTwapOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\n};\n\ntype TwapOrderSubmissionResult = {\n order?: DeltaAuctionWithTwapOrder;\n isCreatingOrder: boolean;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype TwapOrderExecutionResult = {\n sentOrder?: DeltaAuctionWithTwapOrder;\n lastOrderState?: DeltaAuctionWithTwapOrder;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype TwapOrderCancelationResult = {\n step?: CancelOrderStepKey;\n receipt?: TransactionReceipt;\n txHash?: string;\n response?: CancelDeltaOrdersReturn;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n result?: TransactionReceipt | CancelDeltaOrdersReturn;\n error: Error | null;\n};\n\nexport type UseTwapFlowResult = {\n tradeFlowType: typeof twapOrderFlowType;\n chainId: SupportedChainId;\n runTwapOrderFlow: (\n options?: RunTwapOrderOptions\n ) => Promise<SubmitTwapOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (options?: RunTwapOrderOptions) => Promise<SubmitTwapOrderResult>; // reset and retry flow\n cancelTwapOrder: () => Promise<\n TransactionReceipt | CancelDeltaOrdersReturn | undefined\n >;\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n twapOrderPreSign: TwapOrderPreSignResult;\n twapOrderDeposit: TwapOrderDepositResult;\n // submission represents either normal signing and POSTing of Order or pre-signing (in a tx) and POSTing\n twapOrderSubmission: TwapOrderSubmissionResult;\n twapOrderExecution: TwapOrderExecutionResult;\n twapOrderCancelation: TwapOrderCancelationResult;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitTwapOrderResult;\n usedPrice?: DeltaPrice | BridgePrice;\n freshPrice?: DeltaPrice | BridgePrice;\n submittedTwapOrder?: DeltaAuctionWithTwapOrder;\n};\n\nconst TWAP_ORDER_MUTATION_KEY = \"runTwapOrderFlow\";\n\nexport function useTwapFlow({\n twapPrice: _twapPrice,\n}: UseTwapFlowInput): UseTwapFlowResult {\n const logger = useLogger(\"TwapFlow\");\n\n const {\n queryKey,\n price,\n chainId,\n refetch,\n totalSrcAmount,\n side: sideFromPrices,\n numSlices,\n } = useTwapPrices({ enabled: false });\n\n const twapPrice: DeltaOrBridgePrice | undefined = price || _twapPrice;\n\n const twapSideFromInput = useTwapSide();\n\n const twapSide = sideFromPrices || twapSideFromInput;\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom\n 2.1. submit Approve tx if necessary\n\n 2.2. sign Permit1\n\n 3. await Approve tx (if not using Permit)\n */\n\n const {\n approval,\n signPermit,\n approveTxMut,\n signPermitMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: twapPrice?.srcToken,\n srcAmount: totalSrcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: twapSide,\n tradeMode: \"twap\",\n chainId,\n tryPermit2: false,\n });\n\n /* 4.1. Build and Submit Twap Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n const queryClient = useQueryClient();\n\n const createAndSubmitOrderMut = useCreateAndSubmitTwapOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Twap Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Twap Order error\", error);\n },\n },\n });\n\n const twapOrderCreateAndSubmit: UseTwapFlowResult[\"twapOrderSubmission\"] = {\n order: createAndSubmitOrderMut.order,\n isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,\n isPostingOrder: createAndSubmitOrderMut.isPostingOrder,\n isOrderSent: createAndSubmitOrderMut.isOrderSent,\n isPending: createAndSubmitOrderMut.isPending,\n isError: createAndSubmitOrderMut.isError,\n isSuccess: createAndSubmitOrderMut.isSuccess,\n error: createAndSubmitOrderMut.error,\n };\n\n /* 4.2.\n 1. submit Batch tx (Approve + Twap pre-sign)\n 2. await Batch tx\n 3. post Pre-signed Order\n */\n\n const {\n twapOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitTwapOrder,\n reset: resetPreSignAndSubmitTwapOrder,\n } = usePreSignAndSubmitTwapOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n const {\n twapOrderDeposit,\n reset: resetDepositAndSubmitTwapOrder,\n depositAndSubmitTwapOrder,\n } = useDepositAndSubmitTwapOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n /* final Twap Order submission for step 4 */\n const twapOrderSubmission: UseTwapFlowResult[\"twapOrderSubmission\"] = {\n order:\n twapOrderCreateAndSubmit.order ||\n twapOrderPreSign.order ||\n twapOrderDeposit.order,\n isPostingOrder:\n twapOrderCreateAndSubmit.isPostingOrder ||\n twapOrderPreSign.postingOrder.isPostingOrder ||\n twapOrderDeposit.postingOrder.isPostingOrder,\n isCreatingOrder:\n twapOrderCreateAndSubmit.isCreatingOrder ||\n twapOrderPreSign.isCreatingOrder ||\n twapOrderDeposit.isCreatingOrder,\n isOrderSent:\n twapOrderCreateAndSubmit.isOrderSent ||\n twapOrderPreSign.isOrderSent ||\n twapOrderDeposit.isOrderSent,\n isPending:\n twapOrderCreateAndSubmit.isPending ||\n twapOrderPreSign.isPending ||\n twapOrderDeposit.isPending,\n isError:\n twapOrderCreateAndSubmit.isError ||\n twapOrderPreSign.isError ||\n twapOrderDeposit.isError,\n isSuccess:\n twapOrderCreateAndSubmit.isSuccess ||\n twapOrderPreSign.isSuccess ||\n twapOrderDeposit.isSuccess,\n error:\n twapOrderCreateAndSubmit.error ||\n twapOrderPreSign.error ||\n twapOrderDeposit.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction<DeltaAuctionWithTwapOrder>({\n orderId: twapOrderSubmission.order?.id,\n onAuctionSuccess: (order) => {\n logger.log(\"Twap Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Twap Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Twap Order updated\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n const twapOrderExecution: UseTwapFlowResult[\"twapOrderExecution\"] = {\n sentOrder: twapOrderSubmission.order,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError: watchOrderExecution.isError || orderStatus === \"failed\",\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const orderToCancel =\n twapOrderExecution.lastOrderState || twapOrderExecution.sentOrder;\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: orderToCancel,\n chainId,\n account,\n client: minClient,\n logger,\n mutationOptions: {\n onMutate: () => {\n assert(orderToCancel, \"No order to cancel\");\n return orderToCancel;\n },\n },\n });\n\n const twapOrderCancelation: UseTwapFlowResult[\"twapOrderCancelation\"] = {\n receipt: cancelOrderMut.receipt,\n txHash: cancelOrderMut.txHash,\n response: cancelOrderMut.cancelOrderResponse,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCancellable: cancelOrderMut.isOrderCancellable,\n isOrderCanceled: cancelOrderMut.isSuccess,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError,\n isSuccess: cancelOrderMut.isSuccess,\n error: cancelOrderMut.error,\n result: cancelOrderMut.result,\n step: cancelOrderMut.step,\n };\n\n const ensureOrderExecuted =\n useEnsureDeltaOrderExecuted<DeltaAuctionWithTwapOrder>({\n onAuctionSuccess: (order) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onAuctionFailure: (order) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n });\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n const usingPriceRef = useRef<DeltaPrice | BridgePrice | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n\n usingPriceRef.current = null;\n };\n\n const receiverAddress = useTwapReceiverAddressValue();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const { partner, partnerAddress, partnerFeeBps, partnerTakesSurplus } =\n usePartner();\n\n const subscribeToPrice = useSubscribeToDeltaPrice();\n\n const { onTwapOrder } = useWidgetEvents();\n\n const degenMode = useDegenMode();\n\n const twapSlippage = useTwapSlippage();\n const twapDurationMin = useTwapDuration();\n\n const submitTwapOrder = async ({\n onTxSent,\n onOrderSent,\n lastPrice,\n }: RunTwapOrderOptions & {\n lastPrice?: DeltaPrice | BridgePrice | null;\n } = {}): Promise<SubmitTwapOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitTwapOrder();\n resetDepositAndSubmitTwapOrder();\n\n // no sense in starting flow without a price,\n // which may be unavailable only if we are retrying and twapPrice response now returns an error.\n // Otherwise this flow will be stopped by disabling Swap button in the first place\n assert(twapPrice, \"Twap price is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n const { orderDeadline, orderInterval } = produceTwapDeadlines({\n durationMin: twapDurationMin,\n numSlices,\n });\n\n const orderSlippageBps = Math.floor(twapSlippage * 100);\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n const allowanceToPermit = signPermit.amountToPermit;\n // we use this allowance as a max allowance we will accept new prices for\n\n // twapPrice here is the starting price, available before async code and waiting\n let freshPrice = twapPrice;\n if (freshPrice.hmac === lastPrice?.hmac) {\n // we are resubmitting the Twap order, because it failed the last time,\n // but the price hasn't updated yet, so force refetch,\n // comparing raw prices here before mutating to select by bridge preference\n const newPriceResult = await refetch({\n cancelRefetch: false,\n });\n // check if cancelled during refetch\n signal.throwIfAborted();\n\n if (newPriceResult.data) {\n freshPrice = newPriceResult.data;\n }\n }\n let unsubscribeFromPrice: (() => void) | undefined;\n // this also resets previous usingPriceRef\n usingPriceRef.current = freshPrice;\n\n const shouldDepositAndPreSign =\n // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,\n // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits\n isETHaddress(freshPrice.srcToken);\n\n /*\n if connected to Safe, or needs to approve a token with a tx, or needs to pre-wrap ETH\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (wrapETH?+Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially wrap ETH and then Approve Token (tx, not Permit),\n and then sign Order, basically has to make at least one tx, does only one action as well.\n */\n const { shouldDoApprovalTxOrPermit, tryPermit, shouldPreSignBatch } =\n shouldApproveOrBatch({\n approval,\n signPermit,\n canBatchTxs,\n isConnectedToSafe,\n });\n\n try {\n if (shouldDoApprovalTxOrPermit && allowanceToSet) {\n // queryKey used to fetch the current price,\n // it will be used for the subsequent price refetches as long as price params not changed\n const _queryKey = queryKey;\n\n // should always be available\n if (_queryKey) {\n // freeze allowanceToSet\n const approvedAmount = allowanceToSet;\n\n // subscribe to price updates to keep track of new prices for the same price params,\n // independently of the hook itself\n unsubscribeFromPrice = subscribeToPrice({\n queryKey: _queryKey,\n onData: (price) => {\n const newPrice: DeltaOrBridgePrice = price;\n\n if (signal.aborted) {\n // just in case unsubscribe in finally is not yet called\n // for the queued update with the price from an already cancelled flow\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n return;\n }\n\n const { srcAmount: totalSrcAmount } = getTwapAmountsFromPrice({\n price: newPrice,\n numSlices,\n });\n\n // if new price fits into allowance, update it\n if (approvedAmount >= BigInt(totalSrcAmount)) {\n // add this check to resubmit flow\n logger.log(\"~ fresh price ~\", newPrice);\n freshPrice = newPrice;\n usingPriceRef.current = freshPrice;\n }\n },\n });\n }\n\n try {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n } else {\n approveOrPermitEvents.onSignPermit.request({\n allowanceToSet: allowanceToPermit,\n });\n\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n deadline: BigInt(orderDeadline),\n value: allowanceToPermit,\n });\n\n approveOrPermitEvents.onSignPermit.confirmed({\n allowanceToSet: allowanceToPermit,\n permit: signedPermitResult?.permitEncodedArgs,\n });\n }\n } catch (error) {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n } else {\n approveOrPermitEvents.onSignPermit.failed({\n allowanceToSet: allowanceToPermit,\n error: error as Error,\n });\n }\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n // as long as we had set approvedAmount, we will only get new prices that satisfy the allowance\n const twapPriceToUse = freshPrice;\n usingPriceRef.current = twapPriceToUse;\n\n // no longer need updates, unsubscribe\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n\n assert(twapPriceToUse, \"Twap price is not available\");\n const twapSide = getSwapSideFromDeltaPrice(twapPriceToUse);\n const { srcAmount: totalSrcAmount, destAmount: totalDestAmount } =\n getTwapAmountsFromPrice({ price: twapPriceToUse, numSlices });\n\n const permit = signedPermitResult?.permitEncodedArgs;\n\n const destChainId = isBridgePrice(twapPriceToUse)\n ? twapPriceToUse.bridge.destinationChainId\n : chainId;\n\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:request\",\n params: {\n price: twapPriceToUse,\n },\n },\n });\n\n let orderFromAPI: DeltaAuctionWithTwapOrder;\n let sellOrBuyParams: BuildTWAPSellOrBuySpecificParams;\n\n if (twapSide === \"SELL\") {\n sellOrBuyParams = {\n onChainOrderType: \"TWAPOrder\",\n totalSrcAmount,\n // SDK adds destAmountPerSlice internally with slippage applied\n };\n } else {\n sellOrBuyParams = {\n onChainOrderType: \"TWAPBuyOrder\",\n totalDestAmount,\n // SDK applies slippage to maxSrcAmount internally\n maxSrcAmount: totalSrcAmount,\n };\n }\n\n const createOrderInput: CreateAndSubmitTwapOrderInput = {\n signal,\n type: \"MARKET\",\n degenMode,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: twapPriceToUse.srcToken,\n destToken: twapPriceToUse.destToken,\n permit,\n destChainId,\n deltaPrice: {\n ...twapPriceToUse,\n bridge: {\n ...twapPriceToUse.bridge,\n // TWAP: pass nullified protocolSelector\n protocolSelector: DEFAULT_DELTA_BRIDGE.protocolSelector,\n // SDK nullifies protocolData internally\n },\n partner,\n },\n\n partner,\n partnerAddress,\n partnerFeeBps,\n partnerTakesSurplus,\n\n deadline: orderDeadline,\n\n // twap specific params\n ...sellOrBuyParams,\n numSlices: numSlices,\n slippage: orderSlippageBps,\n interval: orderInterval,\n },\n };\n\n if (shouldDepositAndPreSign) {\n const depositAmount = getDepositAmount(sellOrBuyParams, twapSlippage);\n // deposit ETH + depositTx + POST order\n orderFromAPI = await depositAndSubmitTwapOrder({\n createOrderInput,\n depositAmount,\n onTxSent,\n });\n } else if (shouldPreSignBatch) {\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3. construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n orderFromAPI = await preSignAndSubmitTwapOrder({\n createOrderInput,\n approval,\n onTxSent,\n });\n } else {\n // creating signing and POSTing the Order all together in one mutation\n orderFromAPI =\n await createAndSubmitOrderMut.mutateAsync(createOrderInput);\n }\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:sent\",\n params: {\n price: twapPriceToUse,\n order: orderFromAPI,\n },\n },\n });\n\n // will refetch Order on interval until completed.\n // in parallel with useWatchDeltaAuction but independently if useWatchDeltaAuction is unmounted\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted, don't use\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\n });\n }\n\n // no use aborting past this point, Order is already being processed\n\n return {\n tradeFlowType: twapOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n twapOrder: {\n sentOrder: orderFromAPI,\n },\n twapPrice: twapPriceToUse,\n account,\n receiverAddress,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:failed\",\n params: {\n error: error as Error,\n },\n },\n });\n\n throw error;\n } finally {\n // always unsubscribe if subscribed previously\n unsubscribeFromPrice?.();\n }\n };\n\n const cancelTwapOrder = async () => {\n try {\n return await cancelOrderMut.cancelDeltaOrder();\n } catch (error) {\n logger.error(\"Cancel Delta order error\", error);\n // allow to re-trigger cancellation after error (like UserCancelledError)\n cancelOrderMut.reset();\n }\n };\n\n const twapOrderMut = useMutation({\n mutationFn: submitTwapOrder,\n mutationKey: [TWAP_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Twap Order success\", data);\n },\n onError: (error) => {\n logger.error(\"Twap Order error\", error);\n },\n onSettled: () => {\n logger.log(\"Twap Order settled\");\n },\n });\n\n const runTwapOrderFlow = twapOrderMut.mutateAsync;\n\n const reset = () => {\n usingPriceRef.current = null;\n\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n twapOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitTwapOrder();\n resetDepositAndSubmitTwapOrder();\n };\n\n const retryFlow = (\n options?: RunTwapOrderOptions\n ): Promise<SubmitTwapOrderResult> => {\n const lastPrice = usingPriceRef.current;\n reset();\n return runTwapOrderFlow({ ...options, lastPrice });\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice: typeof twapPrice = usingPriceRef.current || twapPrice;\n\n let result: SubmitTwapOrderResult | undefined = twapOrderMut.data;\n if (result && twapOrderExecution.lastOrderState) {\n result = {\n ...result,\n twapOrder: {\n sentOrder: result.twapOrder.sentOrder,\n // lastOrderState may be CANCELLED here\n lastOrderState: twapOrderExecution.lastOrderState,\n },\n };\n }\n\n /**\n * priority:\n * 1. sentOrder = just sent Order from final result\n * 2. twapOrderExecution.lastOrderState = updated sent Order from watchOrderExecution (intermediate result)\n * 3. twapOrderExecution.sentOrder = just sent Order from watchOrderExecution (intermediate result)\n */\n const submittedTwapOrder: DeltaAuctionWithTwapOrder | undefined =\n result?.twapOrder.sentOrder ||\n twapOrderExecution.lastOrderState ||\n twapOrderExecution.sentOrder;\n\n /* 6. return result */\n return {\n tradeFlowType: twapOrderFlowType,\n chainId,\n runTwapOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelTwapOrder,\n approval,\n signPermit,\n twapOrderPreSign: twapOrderPreSign,\n twapOrderDeposit: twapOrderDeposit,\n twapOrderSubmission,\n twapOrderExecution,\n twapOrderCancelation,\n // twapOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: twapOrderMut.isPending,\n isSuccess: twapOrderSubmission.isSuccess && twapOrderExecution.isSuccess, // approval is an optional step\n isError: twapOrderMut.isError,\n error: twapOrderMut.error,\n result,\n usedPrice,\n freshPrice: twapPrice,\n submittedTwapOrder,\n };\n}\n\nfunction getDepositAmount(\n params: BuildTWAPSellOrBuySpecificParams,\n slippage: number\n) {\n if (\"totalSrcAmount\" in params) {\n return params.totalSrcAmount;\n }\n return amountAfterSlippage(params.maxSrcAmount, slippage, \"BUY\").toFixed(0);\n}\n"],"names":["twapOrderFlowType","TWAP_ORDER_MUTATION_KEY","useTwapFlow","twapPrice","_twapPrice","logger","useLogger","queryKey","price","chainId","refetch","totalSrcAmount","side","sideFromPrices","numSlices","useTwapPrices","enabled","twapSideFromInput","useTwapSide","twapSide","approval","signPermit","approveTxMut","signPermitMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcAmount","spenderContractType","swapSide","tradeMode","tryPermit2","address","account","useAccount","minClient","useMinViemClient","queryClient","useQueryClient","createAndSubmitOrderMut","useCreateAndSubmitTwapOrder","client","mutationOptions","onSuccess","order","log","onError","error","twapOrderCreateAndSubmit","isCreatingOrder","isPostingOrder","isOrderSent","isPending","isError","isSuccess","twapOrderPreSign","canBatchTxs","isConnectedToSafe","preSignAndSubmitTwapOrder","reset","resetPreSignAndSubmitTwapOrder","usePreSignAndSubmitTwapOrder","viemClient","twapOrderDeposit","resetDepositAndSubmitTwapOrder","depositAndSubmitTwapOrder","useDepositAndSubmitTwapOrder","twapOrderSubmission","postingOrder","watchOrderExecution","useWatchDeltaAuction","orderId","id","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","orderStatus","data","getOverallOrderStatus","twapOrderExecution","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","isLoading","isRefetching","orderToCancel","cancelOrderMut","useCancelOrWithdrawAndCancelDeltaOrder","onMutate","assert","twapOrderCancelation","receipt","txHash","response","cancelOrderResponse","isCancelingOrder","isOrderCancellable","isOrderCanceled","result","step","ensureOrderExecuted","useEnsureDeltaOrderExecuted","invalidateQueries","deltaOrdersQueryKey","userAddress","user","exact","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","usingPriceRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useTwapReceiverAddressValue","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","partner","partnerAddress","partnerFeeBps","partnerTakesSurplus","usePartner","subscribeToPrice","useSubscribeToDeltaPrice","onTwapOrder","useWidgetEvents","degenMode","useDegenMode","twapSlippage","useTwapSlippage","twapDurationMin","useTwapDuration","submitTwapOrder","onTxSent","onOrderSent","lastPrice","abortController","AbortController","signal","orderDeadline","orderInterval","produceTwapDeadlines","durationMin","orderSlippageBps","Math","floor","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","freshPrice","hmac","newPriceResult","cancelRefetch","throwIfAborted","unsubscribeFromPrice","shouldDepositAndPreSign","isETHaddress","shouldDoApprovalTxOrPermit","tryPermit","shouldPreSignBatch","shouldApproveOrBatch","_queryKey","approvedAmount","onData","newPrice","aborted","undefined","getTwapAmountsFromPrice","BigInt","onApproveTx","request","approveAsync","allowanceData","sent","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","deadline","value","permit","permitEncodedArgs","failed","twapPriceToUse","getSwapSideFromDeltaPrice","destAmount","totalDestAmount","destChainId","isBridgePrice","bridge","destinationChainId","event","name","params","orderFromAPI","sellOrBuyParams","onChainOrderType","maxSrcAmount","createOrderInput","type","orderInput","owner","beneficiary","destToken","deltaPrice","protocolSelector","DEFAULT_DELTA_BRIDGE","slippage","interval","depositAmount","getDepositAmount","mutateAsync","signedPermitData","lastOrderStatePromise","tradeFlowType","approve","twapOrder","cancelTwapOrder","cancelDeltaOrder","twapOrderMut","useMutation","mutationFn","mutationKey","onSettled","runTwapOrderFlow","retryFlow","options","usedPrice","submittedTwapOrder","amountAfterSlippage","toFixed"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTwapFlow.js","names":["BridgePrice","DeltaPrice","useAccount","assert","useEnsureTxReceipt","Address","Hash","TransactionReceipt","ApprovalFlowResult","SignPermitFlowResult","SubmitTxResult","useMinViemClient","useWatchDeltaAuction","getOverallOrderStatus","useMutation","useRef","SupportedChainId","UserCancelledError","useTwapReceiverAddressValue","CallsSentObject","TxSentObject","useApproveOrPermit","useMarkPermit1Or2NonceAsUsed","SignedPermitResult","useLogger","isBridgePrice","useSubscribeToDeltaPrice","usePartner","useWidgetEvents","shouldApproveOrBatch","getSwapSideFromDeltaPrice","DeltaOrBridgePrice","isETHaddress","useCancelOrWithdrawAndCancelDeltaOrder","CancelDeltaOrdersReturn","useTwapPrices","useTwapSide","useTwapDuration","useTwapSlippage","useCreateAndSubmitTwapOrder","CreateAndSubmitTwapOrderInput","DeltaAuctionWithTwapOrder","BuildTWAPSellOrBuySpecificParams","getTwapAmountsFromPrice","produceTwapDeadlines","usePreSignAndSubmitTwapOrder","TwapOrderPreSignResult","useDepositAndSubmitTwapOrder","TwapOrderDepositResult","amountAfterSlippage","DEFAULT_DELTA_BRIDGE","CancelOrderStepKey","HALF_MINUTE_MS","twapOrderFlowType","UseTwapFlowInput","twapPrice","SubmitTwapOrderResult","tradeFlowType","approve","twapOrder","sentOrder","lastOrderState","account","receiverAddress","OnTxSent","txSent","RunTwapOrderOptions","onTxSent","TwapOrderSubmissionResult","order","isCreatingOrder","isPostingOrder","isOrderSent","isPending","isError","isSuccess","error","Error","TwapOrderExecutionResult","isOrderPending","isOrderExecuting","isOrderExecuted","TwapOrderCancelationResult","step","receipt","txHash","response","isCancelingOrder","isOrderCancellable","isOrderCanceled","result","UseTwapFlowResult","chainId","runTwapOrderFlow","options","Promise","reset","cancelFlow","retryFlow","cancelTwapOrder","approval","signPermit","twapOrderPreSign","twapOrderDeposit","twapOrderSubmission","twapOrderExecution","twapOrderCancelation","usedPrice","freshPrice","submittedTwapOrder","TWAP_ORDER_MUTATION_KEY","useTwapFlow","_twapPrice","logger","queryKey","price","refetch","totalSrcAmount","side","sideFromPrices","numSlices","priceParams","enabled","twapSideFromInput","twapSide","approveTxMut","signPermitMut","events","approveOrPermitEvents","srcToken","srcAmount","spenderContractType","swapSide","tradeMode","tryPermit2","address","minClient","createAndSubmitOrderMut","client","mutationOptions","onSuccess","log","onError","twapOrderCreateAndSubmit","canBatchTxs","isConnectedToSafe","preSignAndSubmitTwapOrder","resetPreSignAndSubmitTwapOrder","viemClient","resetDepositAndSubmitTwapOrder","depositAndSubmitTwapOrder","postingOrder","watchOrderExecution","orderId","id","refetchInterval","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","orderStatus","data","isLoading","isRefetching","orderToCancel","cancelOrderMut","onMutate","cancelOrderResponse","ensureTxReceipt","currentAbortControllerRef","AbortController","usingPriceRef","current","abort","markNonceAsUsed","clearNonce","partner","partnerAddress","partnerFeeBps","partnerTakesSurplus","subscribeToPrice","onTwapOrder","twapSlippage","twapDurationMin","submitTwapOrder","lastPrice","abortController","signal","orderDeadline","orderInterval","durationMin","orderSlippageBps","Math","floor","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","hmac","newPriceResult","cancelRefetch","throwIfAborted","unsubscribeFromPrice","shouldDepositAndPreSign","shouldDoApprovalTxOrPermit","tryPermit","shouldPreSignBatch","_queryKey","approvedAmount","onData","newPrice","aborted","undefined","BigInt","onApproveTx","request","approveAsync","allowanceData","sent","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","deadline","value","permit","permitEncodedArgs","failed","twapPriceToUse","destAmount","totalDestAmount","destChainId","bridge","destinationChainId","event","name","params","orderFromAPI","sellOrBuyParams","onChainOrderType","maxSrcAmount","createOrderInput","type","degenMode","orderInput","owner","beneficiary","destToken","deltaPrice","protocolSelector","slippage","interval","depositAmount","getDepositAmount","mutateAsync","signedPermitData","cancelDeltaOrder","twapOrderMut","mutationFn","mutationKey","onSettled","toFixed"],"sources":["../../../../src/hooks/swap/tradeFlow/useTwapFlow.ts"],"sourcesContent":["import { type BridgePrice, type DeltaPrice } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type Address, type Hash, type TransactionReceipt } from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useWatchDeltaAuction } from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useTwapReceiverAddressValue } from \"@/core/twap/state/twapReceiverAddressAtom\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { useLogger } from \"@/core/logger\";\nimport {\n isBridgePrice,\n useSubscribeToDeltaPrice,\n} from \"../prices/delta/queries/useDeltaPriceQuery\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { shouldApproveOrBatch } from \"./common/usePreSignAndSubmitDeltaOrder\";\nimport { getSwapSideFromDeltaPrice } from \"../prices/delta/orders/utils\";\nimport type { DeltaOrBridgePrice } from \"../prices/types\";\n\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useCancelOrWithdrawAndCancelDeltaOrder } from \"../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport type { CancelDeltaOrdersReturn } from \"../prices/delta/mutations/useCancelDeltaOrders\";\n\nimport { useTwapPrices } from \"../prices/useTwapPrices\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport {\n useTwapDuration,\n useTwapSlippage,\n} from \"@/core/twap/state/twapParamsAtom\";\nimport {\n useCreateAndSubmitTwapOrder,\n type CreateAndSubmitTwapOrderInput,\n} from \"../prices/delta/mutations/twap/useCreateTwapOrder\";\nimport type { DeltaAuctionWithTwapOrder } from \"../prices/delta/orders/types\";\nimport type { BuildTWAPSellOrBuySpecificParams } from \"../prices/delta/mutations/types\";\nimport {\n getTwapAmountsFromPrice,\n produceTwapDeadlines,\n} from \"@/lib/utils/twap\";\nimport {\n usePreSignAndSubmitTwapOrder,\n type TwapOrderPreSignResult,\n} from \"../prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder\";\nimport {\n useDepositAndSubmitTwapOrder,\n type TwapOrderDepositResult,\n} from \"../prices/delta/mutations/twap/useDepositAndSubmitTwapOrder\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { DEFAULT_DELTA_BRIDGE } from \"../prices/delta/bridge/const\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\nimport { HALF_MINUTE_MS } from \"@/lib/constants/time\";\n\nconst twapOrderFlowType = \"twapOrder\";\n\nexport type UseTwapFlowInput = {\n twapPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitTwapOrderResult = {\n tradeFlowType: typeof twapOrderFlowType;\n approve: SubmitTxResult;\n twapOrder: {\n sentOrder: DeltaAuctionWithTwapOrder;\n lastOrderState?: DeltaAuctionWithTwapOrder;\n };\n twapPrice: DeltaPrice | BridgePrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunTwapOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\ntype TwapOrderSubmissionResult = {\n order?: DeltaAuctionWithTwapOrder;\n isCreatingOrder: boolean;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype TwapOrderExecutionResult = {\n sentOrder?: DeltaAuctionWithTwapOrder;\n lastOrderState?: DeltaAuctionWithTwapOrder;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype TwapOrderCancelationResult = {\n step?: CancelOrderStepKey;\n receipt?: TransactionReceipt;\n txHash?: string;\n response?: CancelDeltaOrdersReturn;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n result?: TransactionReceipt | CancelDeltaOrdersReturn;\n error: Error | null;\n};\n\nexport type UseTwapFlowResult = {\n tradeFlowType: typeof twapOrderFlowType;\n chainId: SupportedChainId;\n runTwapOrderFlow: (\n options?: RunTwapOrderOptions\n ) => Promise<SubmitTwapOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (options?: RunTwapOrderOptions) => Promise<SubmitTwapOrderResult>; // reset and retry flow\n cancelTwapOrder: () => Promise<\n TransactionReceipt | CancelDeltaOrdersReturn | undefined\n >;\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n twapOrderPreSign: TwapOrderPreSignResult;\n twapOrderDeposit: TwapOrderDepositResult;\n // submission represents either normal signing and POSTing of Order or pre-signing (in a tx) and POSTing\n twapOrderSubmission: TwapOrderSubmissionResult;\n twapOrderExecution: TwapOrderExecutionResult;\n twapOrderCancelation: TwapOrderCancelationResult;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitTwapOrderResult;\n usedPrice?: DeltaPrice | BridgePrice;\n freshPrice?: DeltaPrice | BridgePrice;\n submittedTwapOrder?: DeltaAuctionWithTwapOrder;\n};\n\nconst TWAP_ORDER_MUTATION_KEY = \"runTwapOrderFlow\";\n\nexport function useTwapFlow({\n twapPrice: _twapPrice,\n}: UseTwapFlowInput): UseTwapFlowResult {\n const logger = useLogger(\"TwapFlow\");\n\n const {\n queryKey,\n price,\n chainId,\n refetch,\n totalSrcAmount,\n side: sideFromPrices,\n numSlices,\n priceParams,\n } = useTwapPrices({ enabled: false });\n\n const twapPrice: DeltaOrBridgePrice | undefined = price || _twapPrice;\n\n const twapSideFromInput = useTwapSide();\n\n const twapSide = sideFromPrices || twapSideFromInput;\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom\n 2.1. submit Approve tx if necessary\n\n 2.2. sign Permit1\n\n 3. await Approve tx (if not using Permit)\n */\n\n const {\n approval,\n signPermit,\n approveTxMut,\n signPermitMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: twapPrice?.srcToken,\n srcAmount: totalSrcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: twapSide,\n tradeMode: \"twap\",\n chainId,\n tryPermit2: false,\n });\n\n /* 4.1. Build and Submit Twap Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createAndSubmitOrderMut = useCreateAndSubmitTwapOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Twap Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Twap Order error\", error);\n },\n },\n });\n\n const twapOrderCreateAndSubmit: UseTwapFlowResult[\"twapOrderSubmission\"] = {\n order: createAndSubmitOrderMut.order,\n isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,\n isPostingOrder: createAndSubmitOrderMut.isPostingOrder,\n isOrderSent: createAndSubmitOrderMut.isOrderSent,\n isPending: createAndSubmitOrderMut.isPending,\n isError: createAndSubmitOrderMut.isError,\n isSuccess: createAndSubmitOrderMut.isSuccess,\n error: createAndSubmitOrderMut.error,\n };\n\n /* 4.2.\n 1. submit Batch tx (Approve + Twap pre-sign)\n 2. await Batch tx\n 3. post Pre-signed Order\n */\n\n const {\n twapOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitTwapOrder,\n reset: resetPreSignAndSubmitTwapOrder,\n } = usePreSignAndSubmitTwapOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n const {\n twapOrderDeposit,\n reset: resetDepositAndSubmitTwapOrder,\n depositAndSubmitTwapOrder,\n } = useDepositAndSubmitTwapOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n /* final Twap Order submission for step 4 */\n const twapOrderSubmission: UseTwapFlowResult[\"twapOrderSubmission\"] = {\n order:\n twapOrderCreateAndSubmit.order ||\n twapOrderPreSign.order ||\n twapOrderDeposit.order,\n isPostingOrder:\n twapOrderCreateAndSubmit.isPostingOrder ||\n twapOrderPreSign.postingOrder.isPostingOrder ||\n twapOrderDeposit.postingOrder.isPostingOrder,\n isCreatingOrder:\n twapOrderCreateAndSubmit.isCreatingOrder ||\n twapOrderPreSign.isCreatingOrder ||\n twapOrderDeposit.isCreatingOrder,\n isOrderSent:\n twapOrderCreateAndSubmit.isOrderSent ||\n twapOrderPreSign.isOrderSent ||\n twapOrderDeposit.isOrderSent,\n isPending:\n twapOrderCreateAndSubmit.isPending ||\n twapOrderPreSign.isPending ||\n twapOrderDeposit.isPending,\n isError:\n twapOrderCreateAndSubmit.isError ||\n twapOrderPreSign.isError ||\n twapOrderDeposit.isError,\n isSuccess:\n twapOrderCreateAndSubmit.isSuccess ||\n twapOrderPreSign.isSuccess ||\n twapOrderDeposit.isSuccess,\n error:\n twapOrderCreateAndSubmit.error ||\n twapOrderPreSign.error ||\n twapOrderDeposit.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction<DeltaAuctionWithTwapOrder>({\n orderId: twapOrderSubmission.order?.id,\n refetchInterval: HALF_MINUTE_MS,\n onAuctionSuccess: (order) => {\n logger.log(\"Twap Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Twap Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Twap Order updated\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n const twapOrderExecution: UseTwapFlowResult[\"twapOrderExecution\"] = {\n sentOrder: twapOrderSubmission.order,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError: watchOrderExecution.isError || orderStatus === \"failed\",\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const orderToCancel =\n twapOrderExecution.lastOrderState || twapOrderExecution.sentOrder;\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: orderToCancel,\n chainId,\n account,\n client: minClient,\n logger,\n mutationOptions: {\n onMutate: () => {\n assert(orderToCancel, \"No order to cancel\");\n return orderToCancel;\n },\n },\n });\n\n const twapOrderCancelation: UseTwapFlowResult[\"twapOrderCancelation\"] = {\n receipt: cancelOrderMut.receipt,\n txHash: cancelOrderMut.txHash,\n response: cancelOrderMut.cancelOrderResponse,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCancellable: cancelOrderMut.isOrderCancellable,\n isOrderCanceled: cancelOrderMut.isSuccess,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError,\n isSuccess: cancelOrderMut.isSuccess,\n error: cancelOrderMut.error,\n result: cancelOrderMut.result,\n step: cancelOrderMut.step,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n const usingPriceRef = useRef<DeltaPrice | BridgePrice | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n\n usingPriceRef.current = null;\n };\n\n const receiverAddress = useTwapReceiverAddressValue();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const { partner, partnerAddress, partnerFeeBps, partnerTakesSurplus } =\n usePartner();\n\n const subscribeToPrice = useSubscribeToDeltaPrice();\n\n const { onTwapOrder } = useWidgetEvents();\n\n const twapSlippage = useTwapSlippage();\n const twapDurationMin = useTwapDuration();\n\n const submitTwapOrder = async ({\n onTxSent,\n lastPrice,\n }: RunTwapOrderOptions & {\n lastPrice?: DeltaPrice | BridgePrice | null;\n } = {}): Promise<SubmitTwapOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitTwapOrder();\n resetDepositAndSubmitTwapOrder();\n\n // no sense in starting flow without a price,\n // which may be unavailable only if we are retrying and twapPrice response now returns an error.\n // Otherwise this flow will be stopped by disabling Swap button in the first place\n assert(twapPrice, \"Twap price is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n const { orderDeadline, orderInterval } = produceTwapDeadlines({\n durationMin: twapDurationMin,\n numSlices,\n });\n\n const orderSlippageBps = Math.floor(twapSlippage * 100);\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n const allowanceToPermit = signPermit.amountToPermit;\n // we use this allowance as a max allowance we will accept new prices for\n\n // twapPrice here is the starting price, available before async code and waiting\n let freshPrice = twapPrice;\n if (freshPrice.hmac === lastPrice?.hmac) {\n // we are resubmitting the Twap order, because it failed the last time,\n // but the price hasn't updated yet, so force refetch,\n // comparing raw prices here before mutating to select by bridge preference\n const newPriceResult = await refetch({\n cancelRefetch: false,\n });\n // check if cancelled during refetch\n signal.throwIfAborted();\n\n if (newPriceResult.data) {\n freshPrice = newPriceResult.data;\n }\n }\n let unsubscribeFromPrice: (() => void) | undefined;\n // this also resets previous usingPriceRef\n usingPriceRef.current = freshPrice;\n\n const shouldDepositAndPreSign =\n // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,\n // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits\n isETHaddress(freshPrice.srcToken);\n\n /*\n if connected to Safe, or needs to approve a token with a tx, or needs to pre-wrap ETH\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (wrapETH?+Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially wrap ETH and then Approve Token (tx, not Permit),\n and then sign Order, basically has to make at least one tx, does only one action as well.\n */\n const { shouldDoApprovalTxOrPermit, tryPermit, shouldPreSignBatch } =\n shouldApproveOrBatch({\n approval,\n signPermit,\n canBatchTxs,\n isConnectedToSafe,\n });\n\n try {\n if (shouldDoApprovalTxOrPermit && allowanceToSet) {\n // queryKey used to fetch the current price,\n // it will be used for the subsequent price refetches as long as price params not changed\n const _queryKey = queryKey;\n\n // should always be available\n if (_queryKey) {\n // freeze allowanceToSet\n const approvedAmount = allowanceToSet;\n\n // subscribe to price updates to keep track of new prices for the same price params,\n // independently of the hook itself\n unsubscribeFromPrice = subscribeToPrice({\n queryKey: _queryKey,\n onData: (price) => {\n const newPrice: DeltaOrBridgePrice = price;\n\n if (signal.aborted) {\n // just in case unsubscribe in finally is not yet called\n // for the queued update with the price from an already cancelled flow\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n return;\n }\n\n const { srcAmount: totalSrcAmount } = getTwapAmountsFromPrice({\n price: newPrice,\n numSlices,\n });\n\n // if new price fits into allowance, update it\n if (approvedAmount >= BigInt(totalSrcAmount)) {\n // add this check to resubmit flow\n logger.log(\"~ fresh price ~\", newPrice);\n freshPrice = newPrice;\n usingPriceRef.current = freshPrice;\n }\n },\n });\n }\n\n try {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n } else {\n approveOrPermitEvents.onSignPermit.request({\n allowanceToSet: allowanceToPermit,\n });\n\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n deadline: BigInt(orderDeadline),\n value: allowanceToPermit,\n });\n\n approveOrPermitEvents.onSignPermit.confirmed({\n allowanceToSet: allowanceToPermit,\n permit: signedPermitResult?.permitEncodedArgs,\n });\n }\n } catch (error) {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n } else {\n approveOrPermitEvents.onSignPermit.failed({\n allowanceToSet: allowanceToPermit,\n error: error as Error,\n });\n }\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n // as long as we had set approvedAmount, we will only get new prices that satisfy the allowance\n const twapPriceToUse = freshPrice;\n usingPriceRef.current = twapPriceToUse;\n\n // no longer need updates, unsubscribe\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n\n assert(twapPriceToUse, \"Twap price is not available\");\n const twapSide = getSwapSideFromDeltaPrice(twapPriceToUse);\n const { srcAmount: totalSrcAmount, destAmount: totalDestAmount } =\n getTwapAmountsFromPrice({ price: twapPriceToUse, numSlices });\n\n const permit = signedPermitResult?.permitEncodedArgs;\n\n const destChainId = isBridgePrice(twapPriceToUse)\n ? twapPriceToUse.bridge.destinationChainId\n : chainId;\n\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:request\",\n params: {\n price: twapPriceToUse,\n },\n },\n });\n\n let orderFromAPI: DeltaAuctionWithTwapOrder;\n let sellOrBuyParams: BuildTWAPSellOrBuySpecificParams;\n\n if (twapSide === \"SELL\") {\n sellOrBuyParams = {\n onChainOrderType: \"TWAPOrder\",\n totalSrcAmount,\n // SDK adds destAmountPerSlice internally with slippage applied\n };\n } else {\n sellOrBuyParams = {\n onChainOrderType: \"TWAPBuyOrder\",\n totalDestAmount,\n // SDK applies slippage to maxSrcAmount internally\n maxSrcAmount: totalSrcAmount,\n };\n }\n\n const createOrderInput: CreateAndSubmitTwapOrderInput = {\n signal,\n type: \"MARKET\",\n degenMode: priceParams.degenMode,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: twapPriceToUse.srcToken,\n destToken: twapPriceToUse.destToken,\n permit,\n destChainId,\n deltaPrice: {\n ...twapPriceToUse,\n bridge: {\n ...twapPriceToUse.bridge,\n // TWAP: pass nullified protocolSelector\n protocolSelector: DEFAULT_DELTA_BRIDGE.protocolSelector,\n // SDK nullifies protocolData internally\n },\n partner,\n },\n\n partner,\n partnerAddress,\n partnerFeeBps,\n partnerTakesSurplus,\n\n deadline: orderDeadline,\n\n // twap specific params\n ...sellOrBuyParams,\n numSlices: numSlices,\n slippage: orderSlippageBps,\n interval: orderInterval,\n },\n };\n\n if (shouldDepositAndPreSign) {\n const depositAmount = getDepositAmount(sellOrBuyParams, twapSlippage);\n // deposit ETH + depositTx + POST order\n orderFromAPI = await depositAndSubmitTwapOrder({\n createOrderInput,\n depositAmount,\n onTxSent,\n });\n } else if (shouldPreSignBatch) {\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3. construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n orderFromAPI = await preSignAndSubmitTwapOrder({\n createOrderInput,\n approval,\n onTxSent,\n });\n } else {\n // creating signing and POSTing the Order all together in one mutation\n orderFromAPI =\n await createAndSubmitOrderMut.mutateAsync(createOrderInput);\n }\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:sent\",\n params: {\n price: twapPriceToUse,\n order: orderFromAPI,\n },\n },\n });\n\n // no use aborting past this point, Order is already being processed\n\n return {\n tradeFlowType: twapOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n twapOrder: {\n sentOrder: orderFromAPI,\n },\n twapPrice: twapPriceToUse,\n account,\n receiverAddress,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:failed\",\n params: {\n error: error as Error,\n },\n },\n });\n\n throw error;\n } finally {\n // always unsubscribe if subscribed previously\n unsubscribeFromPrice?.();\n }\n };\n\n const cancelTwapOrder = async () => {\n try {\n return await cancelOrderMut.cancelDeltaOrder();\n } catch (error) {\n logger.error(\"Cancel Delta order error\", error);\n // allow to re-trigger cancellation after error (like UserCancelledError)\n cancelOrderMut.reset();\n }\n };\n\n const twapOrderMut = useMutation({\n mutationFn: submitTwapOrder,\n mutationKey: [TWAP_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Twap Order success\", data);\n },\n onError: (error) => {\n logger.error(\"Twap Order error\", error);\n },\n onSettled: () => {\n logger.log(\"Twap Order settled\");\n },\n });\n\n const runTwapOrderFlow = twapOrderMut.mutateAsync;\n\n const reset = () => {\n usingPriceRef.current = null;\n\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n twapOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitTwapOrder();\n resetDepositAndSubmitTwapOrder();\n };\n\n const retryFlow = (\n options?: RunTwapOrderOptions\n ): Promise<SubmitTwapOrderResult> => {\n const lastPrice = usingPriceRef.current;\n reset();\n return runTwapOrderFlow({ ...options, lastPrice });\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice: typeof twapPrice = usingPriceRef.current || twapPrice;\n\n let result: SubmitTwapOrderResult | undefined = twapOrderMut.data;\n if (result && twapOrderExecution.lastOrderState) {\n result = {\n ...result,\n twapOrder: {\n sentOrder: result.twapOrder.sentOrder,\n // lastOrderState may be CANCELLED here\n lastOrderState: twapOrderExecution.lastOrderState,\n },\n };\n }\n\n /**\n * priority:\n * 1. sentOrder = just sent Order from final result\n * 2. twapOrderExecution.lastOrderState = updated sent Order from watchOrderExecution (intermediate result)\n * 3. twapOrderExecution.sentOrder = just sent Order from watchOrderExecution (intermediate result)\n */\n const submittedTwapOrder: DeltaAuctionWithTwapOrder | undefined =\n result?.twapOrder.sentOrder ||\n twapOrderExecution.lastOrderState ||\n twapOrderExecution.sentOrder;\n\n /* 6. return result */\n return {\n tradeFlowType: twapOrderFlowType,\n chainId,\n runTwapOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelTwapOrder,\n approval,\n signPermit,\n twapOrderPreSign: twapOrderPreSign,\n twapOrderDeposit: twapOrderDeposit,\n twapOrderSubmission,\n twapOrderExecution,\n twapOrderCancelation,\n // twapOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: twapOrderMut.isPending,\n isSuccess: twapOrderSubmission.isSuccess && twapOrderExecution.isSuccess, // approval is an optional step\n isError: twapOrderMut.isError,\n error: twapOrderMut.error,\n result,\n usedPrice,\n freshPrice: twapPrice,\n submittedTwapOrder,\n };\n}\n\nfunction getDepositAmount(\n params: BuildTWAPSellOrBuySpecificParams,\n slippage: number\n) {\n if (\"totalSrcAmount\" in params) {\n return params.totalSrcAmount;\n }\n return amountAfterSlippage(params.maxSrcAmount, slippage, \"BUY\").toFixed(0);\n}\n"],"mappings":"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"}
|
|
@@ -1,225 +1,84 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { useState } from
|
|
7
|
-
|
|
8
|
-
function
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
let t2;
|
|
81
|
-
if ($[2] !== twapFlow.error) {
|
|
82
|
-
t2 = isUserCancelledError(twapFlow.error) ? null : twapFlow.error;
|
|
83
|
-
$[2] = twapFlow.error;
|
|
84
|
-
$[3] = t2;
|
|
85
|
-
} else {
|
|
86
|
-
t2 = $[3];
|
|
87
|
-
}
|
|
88
|
-
const error = t2;
|
|
89
|
-
let erroredStep;
|
|
90
|
-
if (twapFlow.isError) {
|
|
91
|
-
if (twapFlow.approval.isError || twapFlow.signPermit.isError) {
|
|
92
|
-
erroredStep = "signature";
|
|
93
|
-
} else {
|
|
94
|
-
if (twapFlow.twapOrderSubmission.isError) {
|
|
95
|
-
erroredStep = "order-submission";
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
let t3;
|
|
100
|
-
if ($[4] !== error || $[5] !== erroredStep || $[6] !== explorerLink || $[7] !== isFlowCancellable || $[8] !== isNonFlowStep || $[9] !== isOrderCancellable || $[10] !== twapFlow.freshPrice || $[11] !== twapFlow.result || $[12] !== twapFlow.submittedTwapOrder || $[13] !== twapFlow.usedPrice) {
|
|
101
|
-
t3 = isNonFlowStep ? {
|
|
102
|
-
usedPrice: twapFlow.freshPrice,
|
|
103
|
-
isFlowCancellable: false,
|
|
104
|
-
isOrderCancellable: false,
|
|
105
|
-
error: null
|
|
106
|
-
} : {
|
|
107
|
-
result: twapFlow.result,
|
|
108
|
-
usedPrice: twapFlow.usedPrice,
|
|
109
|
-
submittedTwapOrder: twapFlow.submittedTwapOrder,
|
|
110
|
-
erroredStep,
|
|
111
|
-
error,
|
|
112
|
-
isFlowCancellable,
|
|
113
|
-
isOrderCancellable,
|
|
114
|
-
explorerLink
|
|
115
|
-
};
|
|
116
|
-
$[4] = error;
|
|
117
|
-
$[5] = erroredStep;
|
|
118
|
-
$[6] = explorerLink;
|
|
119
|
-
$[7] = isFlowCancellable;
|
|
120
|
-
$[8] = isNonFlowStep;
|
|
121
|
-
$[9] = isOrderCancellable;
|
|
122
|
-
$[10] = twapFlow.freshPrice;
|
|
123
|
-
$[11] = twapFlow.result;
|
|
124
|
-
$[12] = twapFlow.submittedTwapOrder;
|
|
125
|
-
$[13] = twapFlow.usedPrice;
|
|
126
|
-
$[14] = t3;
|
|
127
|
-
} else {
|
|
128
|
-
t3 = $[14];
|
|
129
|
-
}
|
|
130
|
-
const resultProps = t3;
|
|
131
|
-
let t4;
|
|
132
|
-
if ($[15] !== resetStepOverride || $[16] !== startTwapSwap) {
|
|
133
|
-
t4 = (options_0) => {
|
|
134
|
-
resetStepOverride();
|
|
135
|
-
return startTwapSwap(options_0);
|
|
136
|
-
};
|
|
137
|
-
$[15] = resetStepOverride;
|
|
138
|
-
$[16] = startTwapSwap;
|
|
139
|
-
$[17] = t4;
|
|
140
|
-
} else {
|
|
141
|
-
t4 = $[17];
|
|
142
|
-
}
|
|
143
|
-
let t5;
|
|
144
|
-
if ($[18] !== cancelTwapOrder || $[19] !== resetStepOverride) {
|
|
145
|
-
t5 = () => {
|
|
146
|
-
resetStepOverride();
|
|
147
|
-
return cancelTwapOrder();
|
|
148
|
-
};
|
|
149
|
-
$[18] = cancelTwapOrder;
|
|
150
|
-
$[19] = resetStepOverride;
|
|
151
|
-
$[20] = t5;
|
|
152
|
-
} else {
|
|
153
|
-
t5 = $[20];
|
|
154
|
-
}
|
|
155
|
-
let t6;
|
|
156
|
-
if ($[21] !== reset || $[22] !== resetStepOverride) {
|
|
157
|
-
t6 = () => {
|
|
158
|
-
resetStepOverride();
|
|
159
|
-
return reset();
|
|
160
|
-
};
|
|
161
|
-
$[21] = reset;
|
|
162
|
-
$[22] = resetStepOverride;
|
|
163
|
-
$[23] = t6;
|
|
164
|
-
} else {
|
|
165
|
-
t6 = $[23];
|
|
166
|
-
}
|
|
167
|
-
let t7;
|
|
168
|
-
if ($[24] !== cancelFlow || $[25] !== resetStepOverride) {
|
|
169
|
-
t7 = () => {
|
|
170
|
-
resetStepOverride();
|
|
171
|
-
return cancelFlow();
|
|
172
|
-
};
|
|
173
|
-
$[24] = cancelFlow;
|
|
174
|
-
$[25] = resetStepOverride;
|
|
175
|
-
$[26] = t7;
|
|
176
|
-
} else {
|
|
177
|
-
t7 = $[26];
|
|
178
|
-
}
|
|
179
|
-
let t8;
|
|
180
|
-
if ($[27] !== resetStepOverride || $[28] !== retryFlow) {
|
|
181
|
-
t8 = (options_1) => {
|
|
182
|
-
resetStepOverride();
|
|
183
|
-
return retryFlow(options_1);
|
|
184
|
-
};
|
|
185
|
-
$[27] = resetStepOverride;
|
|
186
|
-
$[28] = retryFlow;
|
|
187
|
-
$[29] = t8;
|
|
188
|
-
} else {
|
|
189
|
-
t8 = $[29];
|
|
190
|
-
}
|
|
191
|
-
let t9;
|
|
192
|
-
if ($[30] !== goToBeforeSwap || $[31] !== isNonFlowStep || $[32] !== resultProps || $[33] !== step || $[34] !== t4 || $[35] !== t5 || $[36] !== t6 || $[37] !== t7 || $[38] !== t8 || $[39] !== twapFlow.tradeFlowType || $[40] !== twapFlow.twapOrderCancelation.step) {
|
|
193
|
-
t9 = {
|
|
194
|
-
startTwapSwap: t4,
|
|
195
|
-
cancelTwapOrder: t5,
|
|
196
|
-
reset: t6,
|
|
197
|
-
cancelFlow: t7,
|
|
198
|
-
retryFlow: t8,
|
|
199
|
-
goToBeforeSwap,
|
|
200
|
-
step,
|
|
201
|
-
orderCancellationStep: twapFlow.twapOrderCancelation.step,
|
|
202
|
-
isNonFlowStep,
|
|
203
|
-
...resultProps,
|
|
204
|
-
tradeFlowType: twapFlow.tradeFlowType
|
|
205
|
-
};
|
|
206
|
-
$[30] = goToBeforeSwap;
|
|
207
|
-
$[31] = isNonFlowStep;
|
|
208
|
-
$[32] = resultProps;
|
|
209
|
-
$[33] = step;
|
|
210
|
-
$[34] = t4;
|
|
211
|
-
$[35] = t5;
|
|
212
|
-
$[36] = t6;
|
|
213
|
-
$[37] = t7;
|
|
214
|
-
$[38] = t8;
|
|
215
|
-
$[39] = twapFlow.tradeFlowType;
|
|
216
|
-
$[40] = twapFlow.twapOrderCancelation.step;
|
|
217
|
-
$[41] = t9;
|
|
218
|
-
} else {
|
|
219
|
-
t9 = $[41];
|
|
220
|
-
}
|
|
221
|
-
return t9;
|
|
1
|
+
import { useLogger as e } from "../../../core/logger.js";
|
|
2
|
+
import { constructExplorerOrderDetailsLink as t } from "../../../lib/utils/explorer.js";
|
|
3
|
+
import { isUserCancelledError as n } from "./common/errors.js";
|
|
4
|
+
import { useTwapFlow as r } from "./useTwapFlow.js";
|
|
5
|
+
import { c as i } from "react-compiler-runtime";
|
|
6
|
+
import { useState as a } from "react";
|
|
7
|
+
//#region src/hooks/swap/tradeFlow/useTwapSwapStep.ts
|
|
8
|
+
function o(o) {
|
|
9
|
+
let s = i(42), c = e("TwapSwapStep"), l = r(o), u = l.runTwapOrderFlow, d = l.cancelTwapOrder, f = l.reset, p = l.cancelFlow, m = l.retryFlow, h, g = l.signPermit.isPending || !l.signPermit.isPermitSigned, _ = l.approval.isPending || !l.approval.isSuccess, v = l.approval.needsApproval && l.signPermit.isPermitSupported && l.signPermit.isPermitReadyToSign ? g : _;
|
|
10
|
+
l.approval.needsApproval && v ? h = {
|
|
11
|
+
key: "signature",
|
|
12
|
+
subStep: "approval-signature"
|
|
13
|
+
} : l.twapOrderSubmission.isPending ? h = {
|
|
14
|
+
key: "signature",
|
|
15
|
+
subStep: l.approval.txHash || l.signPermit.signature ? "order-signature" : "standalone-order-signature"
|
|
16
|
+
} : l.isPending && (h = {
|
|
17
|
+
key: "signature",
|
|
18
|
+
subStep: "standalone-order-signature"
|
|
19
|
+
});
|
|
20
|
+
let y = h?.key === "signature" && h.subStep === "approval-signature" && l.approval.isTxPending, b = h?.key === "signature" && (h.subStep === "order-signature" || h.subStep === "standalone-order-signature"), x = l.twapOrderSubmission.isPostingOrder, S = (y || b) && !x, C = l.twapOrderCancelation.isOrderCancellable, w = l.twapOrderSubmission.order?.id, T = w ? t(w) : void 0, [E, D] = a(null), O;
|
|
21
|
+
s[0] === Symbol.for("react.memo_cache_sentinel") ? (O = () => {
|
|
22
|
+
D({ key: "prepare-swap" });
|
|
23
|
+
}, s[0] = O) : O = s[0];
|
|
24
|
+
let k = O, A;
|
|
25
|
+
s[1] === Symbol.for("react.memo_cache_sentinel") ? (A = () => {
|
|
26
|
+
D(null);
|
|
27
|
+
}, s[1] = A) : A = s[1];
|
|
28
|
+
let j = A;
|
|
29
|
+
h = E || h;
|
|
30
|
+
let M = !!E;
|
|
31
|
+
c.once.log("step", h, l, {
|
|
32
|
+
isFlowCancellable: S,
|
|
33
|
+
explorerLink: T,
|
|
34
|
+
orderId: w
|
|
35
|
+
});
|
|
36
|
+
let N;
|
|
37
|
+
s[2] === l.error ? N = s[3] : (N = n(l.error) ? null : l.error, s[2] = l.error, s[3] = N);
|
|
38
|
+
let P = N, F;
|
|
39
|
+
l.isError && (l.approval.isError || l.signPermit.isError ? F = "signature" : l.twapOrderSubmission.isError && (F = "order-submission"));
|
|
40
|
+
let I;
|
|
41
|
+
s[4] !== P || s[5] !== F || s[6] !== T || s[7] !== S || s[8] !== M || s[9] !== C || s[10] !== l.freshPrice || s[11] !== l.result || s[12] !== l.submittedTwapOrder || s[13] !== l.usedPrice ? (I = M ? {
|
|
42
|
+
usedPrice: l.freshPrice,
|
|
43
|
+
isFlowCancellable: !1,
|
|
44
|
+
isOrderCancellable: !1,
|
|
45
|
+
error: null
|
|
46
|
+
} : {
|
|
47
|
+
result: l.result,
|
|
48
|
+
usedPrice: l.usedPrice,
|
|
49
|
+
submittedTwapOrder: l.submittedTwapOrder,
|
|
50
|
+
erroredStep: F,
|
|
51
|
+
error: P,
|
|
52
|
+
isFlowCancellable: S,
|
|
53
|
+
isOrderCancellable: C,
|
|
54
|
+
explorerLink: T
|
|
55
|
+
}, s[4] = P, s[5] = F, s[6] = T, s[7] = S, s[8] = M, s[9] = C, s[10] = l.freshPrice, s[11] = l.result, s[12] = l.submittedTwapOrder, s[13] = l.usedPrice, s[14] = I) : I = s[14];
|
|
56
|
+
let L = I, R;
|
|
57
|
+
s[15] !== j || s[16] !== u ? (R = (e) => (j(), u(e)), s[15] = j, s[16] = u, s[17] = R) : R = s[17];
|
|
58
|
+
let z;
|
|
59
|
+
s[18] !== d || s[19] !== j ? (z = () => (j(), d()), s[18] = d, s[19] = j, s[20] = z) : z = s[20];
|
|
60
|
+
let B;
|
|
61
|
+
s[21] !== f || s[22] !== j ? (B = () => (j(), f()), s[21] = f, s[22] = j, s[23] = B) : B = s[23];
|
|
62
|
+
let V;
|
|
63
|
+
s[24] !== p || s[25] !== j ? (V = () => (j(), p()), s[24] = p, s[25] = j, s[26] = V) : V = s[26];
|
|
64
|
+
let H;
|
|
65
|
+
s[27] !== j || s[28] !== m ? (H = (e) => (j(), m(e)), s[27] = j, s[28] = m, s[29] = H) : H = s[29];
|
|
66
|
+
let U;
|
|
67
|
+
return s[30] !== k || s[31] !== M || s[32] !== L || s[33] !== h || s[34] !== R || s[35] !== z || s[36] !== B || s[37] !== V || s[38] !== H || s[39] !== l.tradeFlowType || s[40] !== l.twapOrderCancelation.step ? (U = {
|
|
68
|
+
startTwapSwap: R,
|
|
69
|
+
cancelTwapOrder: z,
|
|
70
|
+
reset: B,
|
|
71
|
+
cancelFlow: V,
|
|
72
|
+
retryFlow: H,
|
|
73
|
+
goToBeforeSwap: k,
|
|
74
|
+
step: h,
|
|
75
|
+
orderCancellationStep: l.twapOrderCancelation.step,
|
|
76
|
+
isNonFlowStep: M,
|
|
77
|
+
...L,
|
|
78
|
+
tradeFlowType: l.tradeFlowType
|
|
79
|
+
}, s[30] = k, s[31] = M, s[32] = L, s[33] = h, s[34] = R, s[35] = z, s[36] = B, s[37] = V, s[38] = H, s[39] = l.tradeFlowType, s[40] = l.twapOrderCancelation.step, s[41] = U) : U = s[41], U;
|
|
222
80
|
}
|
|
81
|
+
//#endregion
|
|
82
|
+
export { o as useTwapSwapStep };
|
|
223
83
|
|
|
224
|
-
|
|
225
|
-
//# sourceMappingURL=useTwapSwapStep.js.map
|
|
84
|
+
//# sourceMappingURL=useTwapSwapStep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTwapSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useTwapSwapStep.ts"],"sourcesContent":["import type {\n CancelOrderStepKey,\n NonFlowStep,\n TwapOrderStep,\n TwapOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useTwapFlow,\n type SubmitTwapOrderResult,\n type UseTwapFlowInput,\n type UseTwapFlowResult,\n} from \"./useTwapFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { isUserCancelledError } from \"./common/errors\";\nimport { useState } from \"react\";\n\ntype UseTwapSwapStepResult = {\n startTwapSwap: UseTwapFlowResult[\"runTwapOrderFlow\"];\n cancelTwapOrder: UseTwapFlowResult[\"cancelTwapOrder\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseTwapFlowResult[\"reset\"];\n cancelFlow: UseTwapFlowResult[\"cancelFlow\"];\n retryFlow: UseTwapFlowResult[\"retryFlow\"];\n goToBeforeSwap: () => void;\n isFlowCancellable: boolean;\n isOrderCancellable: boolean;\n step?: TwapOrderStep;\n orderCancellationStep?: CancelOrderStepKey;\n isNonFlowStep: boolean;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: TwapOrderStepKey;\n result?: SubmitTwapOrderResult;\n usedPrice: UseTwapFlowResult[\"usedPrice\"];\n submittedTwapOrder?: UseTwapFlowResult[\"submittedTwapOrder\"];\n tradeFlowType: UseTwapFlowResult[\"tradeFlowType\"];\n};\n\nexport function useTwapSwapStep(\n options: UseTwapFlowInput\n): UseTwapSwapStepResult {\n const logger = useLogger(\"TwapSwapStep\");\n const twapFlow = useTwapFlow(options);\n\n const startTwapSwap = twapFlow.runTwapOrderFlow;\n const cancelTwapOrder = twapFlow.cancelTwapOrder;\n const reset = twapFlow.reset;\n const cancelFlow = twapFlow.cancelFlow;\n const retryFlow = twapFlow.retryFlow;\n\n let step: TwapOrderStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n twapFlow.signPermit.isPending || !twapFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n twapFlow.approval.isPending || !twapFlow.approval.isSuccess;\n\n const willUsePermit =\n twapFlow.approval.needsApproval &&\n twapFlow.signPermit.isPermitSupported &&\n twapFlow.signPermit.isPermitReadyToSign;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n twapFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (twapFlow.twapOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!(\n twapFlow.approval.txHash || twapFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (twapFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n twapFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isPostingOrder = twapFlow.twapOrderSubmission.isPostingOrder;\n\n const isFlowCancellable =\n // final Order is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n (approvalIsStarted || isOrderBeingSigned) && !isPostingOrder;\n\n const isOrderCancellable = twapFlow.twapOrderCancelation.isOrderCancellable;\n\n const orderId = twapFlow.twapOrderSubmission.order?.id;\n const explorerLink = orderId\n ? constructExplorerOrderDetailsLink(orderId)\n : undefined;\n\n const [nonFlowStep, setNonFlowStep] = useState<NonFlowStep | null>(null);\n const goToBeforeSwap = () => {\n setNonFlowStep({ key: \"prepare-swap\" });\n };\n const resetStepOverride = () => {\n setNonFlowStep(null);\n };\n\n step = nonFlowStep || step;\n const isNonFlowStep = !!nonFlowStep;\n\n logger.once.log(\"step\", step, twapFlow, {\n isFlowCancellable,\n explorerLink,\n orderId,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(twapFlow.error) ? null : twapFlow.error;\n\n let erroredStep: TwapOrderStepKey | undefined;\n\n if (twapFlow.isError) {\n if (twapFlow.approval.isError || twapFlow.signPermit.isError) {\n erroredStep = \"signature\";\n } else if (twapFlow.twapOrderSubmission.isError) {\n erroredStep = \"order-submission\";\n }\n }\n\n const resultProps: Pick<\n UseTwapSwapStepResult,\n | \"usedPrice\"\n | \"isFlowCancellable\"\n | \"isOrderCancellable\"\n | \"error\"\n | \"erroredStep\"\n | \"result\"\n | \"submittedTwapOrder\"\n | \"explorerLink\"\n > = isNonFlowStep\n ? {\n // don't return previous data when in non-flow step\n usedPrice: twapFlow.freshPrice,\n isFlowCancellable: false,\n isOrderCancellable: false,\n error: null,\n }\n : {\n result: twapFlow.result,\n usedPrice: twapFlow.usedPrice,\n submittedTwapOrder: twapFlow.submittedTwapOrder, // submitted or updated Twap Order\n erroredStep,\n error,\n isFlowCancellable,\n isOrderCancellable,\n explorerLink,\n };\n\n return {\n startTwapSwap: (options) => {\n resetStepOverride();\n return startTwapSwap(options);\n },\n cancelTwapOrder: () => {\n resetStepOverride();\n return cancelTwapOrder();\n },\n reset: () => {\n resetStepOverride();\n return reset();\n },\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow: () => {\n resetStepOverride();\n return cancelFlow();\n },\n retryFlow: (options) => {\n resetStepOverride();\n return retryFlow(options);\n },\n goToBeforeSwap,\n step,\n orderCancellationStep: twapFlow.twapOrderCancelation.step,\n isNonFlowStep,\n ...resultProps,\n tradeFlowType: twapFlow.tradeFlowType,\n };\n}\n"],"names":["useTwapSwapStep","options","$","_c","logger","useLogger","twapFlow","useTwapFlow","startTwapSwap","runTwapOrderFlow","cancelTwapOrder","reset","cancelFlow","retryFlow","step","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","twapOrderSubmission","permitOrApprovalHappened","txHash","signature","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","isPostingOrder","isFlowCancellable","isOrderCancellable","twapOrderCancelation","orderId","order","id","explorerLink","constructExplorerOrderDetailsLink","undefined","nonFlowStep","setNonFlowStep","useState","t0","Symbol","for","goToBeforeSwap","t1","resetStepOverride","isNonFlowStep","once","log","t2","error","isUserCancelledError","erroredStep","isError","t3","freshPrice","result","submittedTwapOrder","usedPrice","resultProps","t4","options_0","t5","t6","t7","t8","options_1","t9","tradeFlowType","orderCancellationStep"],"mappings":";;;;;;;AAuCO,SAAAA,gBAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAGL,EAAA,MAAAC,MAAAA,GAAeC,UAAU,cAAc,CAAA;AACvC,EAAA,MAAAC,QAAAA,GAAiBC,YAAYN,OAAO,CAAA;AAEpC,EAAA,MAAAO,gBAAsBF,QAAAA,CAAQG,gBAAAA;AAC9B,EAAA,MAAAC,kBAAwBJ,QAAAA,CAAQI,eAAAA;AAChC,EAAA,MAAAC,QAAcL,QAAAA,CAAQK,KAAAA;AACtB,EAAA,MAAAC,aAAmBN,QAAAA,CAAQM,UAAAA;AAC3B,EAAA,MAAAC,YAAkBP,QAAAA,CAAQO,SAAAA;AAEtBC,EAAAA,IAAAA,IAAAA;AAEJ,EAAA,MAAAC,wCAGET,QAAAA,CAAQU,UAAAA,CAAWC,SAAAA,IAAnB,CAAkCX,SAAQU,UAAAA,CAAWE,cAAAA;AAEvD,EAAA,MAAAC,mCAGEb,QAAAA,CAAQc,QAAAA,CAASH,SAAAA,IAAjB,CAAgCX,SAAQc,QAAAA,CAASC,SAAAA;AAEnD,EAAA,MAAAC,aAAAA,GACEhB,SAAQc,QAAAA,CAASG,aAAAA,IACjBjB,SAAQU,UAAAA,CAAWQ,iBAAAA,IACnBlB,SAAQU,UAAAA,CAAWS,mBAAAA;AAErB,EAAA,MAAAC,wCAAAA,GAAiDJ,gBAAAP,qCAAAA,GAAAI,gCAAAA;AAIjD,EAAA,IACEb,QAAAA,CAAQc,QAAAA,CAASG,aAAAA,IAAjBG,wCAAAA,EACwC;AAExCZ,IAAAA,IAAAA,GAAOA;AAAAA,MAAAA,GAAAA,EAAOA,WAAAA;AAAAA,MAAWA,OAAAA,EAAWA;AAAAA,KAAqBA;AAAAA,EAArD,CAAA,MAAA;AACC,IAAA,IAAIR,QAAAA,CAAQqB,oBAAoBV,SAAAA,EAAU;AAC/C,MAAA,MAAAW,2BAAiC,CAAC,EAChCtB,SAAQc,QAAAA,CAASS,MAAAA,IAAWvB,SAAQU,UAAAA,CAAWc,SAAAA,CAAAA;AAGjDhB,MAAAA,IAAAA,GAAOA;AAAAA,QAAAA,GAAAA,EACAA,WAAAA;AAAAA,QAAWA,OAAAA,EACPc,2BAAA,iBAAA,GAAA;AAAA,OAGX;AAAA,IALI,CAAA,MAAA;AAMC,MAAA,IAAItB,SAAQW,SAAAA,EAAU;AAG3BH,QAAAA,IAAAA,GAAOA;AAAAA,UAAAA,GAAAA,EAAOA,WAAAA;AAAAA,UAAWA,OAAAA,EAAWA;AAAAA,SAA6BA;AAAAA,MAA7D;AAAA,IACL;AAAA,EAAA;AAED,EAAA,MAAAiB,iBAAAA,GACEjB,MAAIkB,GAAAA,KAAU,WAAA,IACdlB,KAAImB,OAAAA,KAAa,oBAAA,IACjB3B,SAAQc,QAAAA,CAASc,WAAAA;AAEnB,EAAA,MAAAC,kBAAAA,GACErB,MAAIkB,GAAAA,KAAU,WAAA,KACblB,KAAImB,OAAAA,KAAa,iBAAA,IAChBnB,KAAImB,OAAAA,KAAa,4BAAA,CAAA;AAErB,EAAA,MAAAG,cAAAA,GAAuB9B,SAAQqB,mBAAAA,CAAoBS,cAAAA;AAEnD,EAAA,MAAAC,iBAAAA,GAAAA,CAGGN,iBAAAA,IAAAI,kBAAAA,KAAD,CAA8CC,cAAAA;AAEhD,EAAA,MAAAE,kBAAAA,GAA2BhC,SAAQiC,oBAAAA,CAAqBD,kBAAAA;AAExD,EAAA,MAAAE,OAAAA,GAAgBlC,QAAAA,CAAQqB,mBAAAA,CAAoBc,KAAAA,EAAUC,EAAAA;AACtD,EAAA,MAAAC,YAAAA,GAAqBH,OAAAA,GACjBI,iCAAAA,CAAkCJ,OAC1B,CAAA,GAFSK,MAAAA;AAIrB,EAAA,MAAA,CAAAC,WAAAA,EAAAC,cAAA,CAAA,GAAsCC,SAA6B,IAAI,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAA/C,EAAA,CAAA,CAAA,KAAAgD,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAClDF,IAAAA,EAAAA,GAAAA,MAAA;AACrBF,MAAAA,cAAAA,CAAe;AAAA,QAAAf,GAAAA,EAAO;AAAA,OAAgB,CAAA;AAAA,IAAC,CAAA;AACxC9B,IAAAA,CAAAA,MAAA+C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/C,EAAA,CAAA,CAAA;AAAA,EAAA;AAFD,EAAA,MAAAkD,cAAAA,GAAuBH,EAAAA;AAErB,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAnD,EAAA,CAAA,CAAA,KAAAgD,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACwBE,IAAAA,EAAAA,GAAAA,MAAA;AACxBN,MAAAA,cAAAA,CAAe,IAAI,CAAA;AAAA,IAAC,CAAA;AACrB7C,IAAAA,CAAAA,MAAAmD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnD,EAAA,CAAA,CAAA;AAAA,EAAA;AAFD,EAAA,MAAAoD,iBAAAA,GAA0BD,EAAAA;AAI1BvC,EAAAA,IAAAA,GAAOA,WAAAA,IAAAA,IAAAA;AACP,EAAA,MAAAyC,aAAAA,GAAsB,CAAC,CAACT,WAAAA;AAExB1C,EAAAA,MAAAA,CAAMoD,IAAAA,CAAKC,GAAAA,CAAK,MAAA,EAAQ3C,IAAAA,EAAMR,QAAAA,EAAU;AAAA,IAAA+B,iBAAAA;AAAAA,IAAAM,YAAAA;AAAAA,IAAAH;AAAAA,GAIvC,CAAA;AAAC,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAxD,CAAAA,CAAA,CAAA,CAAA,KAAAI,QAAAA,CAAAqD,KAAAA,EAAA;AAGYD,IAAAA,EAAAA,GAAAE,oBAAAA,CAAqBtD,QAAAA,CAAQqD,KAA8B,CAAA,GAA3D,OAA8CrD,QAAAA,CAAQqD,KAAAA;AAAMzD,IAAAA,CAAAA,CAAA,CAAA,IAAAI,QAAAA,CAAAqD,KAAAA;AAAAzD,IAAAA,CAAAA,MAAAwD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxD,EAAA,CAAA,CAAA;AAAA,EAAA;AAA1E,EAAA,MAAAyD,KAAAA,GAAcD,EAAAA;AAEVG,EAAAA,IAAAA,WAAAA;AAEJ,EAAA,IAAIvD,SAAQwD,OAAAA,EAAQ;AAClB,IAAA,IAAIxD,QAAAA,CAAQc,QAAAA,CAAS0C,OAAAA,IAAYxD,QAAAA,CAAQU,WAAW8C,OAAAA,EAAQ;AAC1DD,MAAAA,WAAAA,GAAcA,WAAAA;AAAAA,IAAH,CAAA,MAAA;AACN,MAAA,IAAIvD,QAAAA,CAAQqB,oBAAoBmC,OAAAA,EAAQ;AAC7CD,QAAAA,WAAAA,GAAcA,kBAAAA;AAAAA,MAAH;AAAA,IACZ;AAAA,EAAA;AACF,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAA7D,SAAAyD,SAAAzD,CAAAA,CAAA,CAAA,MAAA2D,WAAAA,IAAA3D,CAAAA,CAAA,CAAA,CAAA,KAAAyC,YAAAA,IAAAzC,SAAAmC,qBAAAnC,CAAAA,CAAA,CAAA,MAAAqD,aAAAA,IAAArD,CAAAA,CAAA,CAAA,CAAA,KAAAoC,kBAAAA,IAAApC,EAAA,EAAA,CAAA,KAAAI,SAAA0D,UAAAA,IAAA9D,CAAAA,CAAA,EAAA,CAAA,KAAAI,QAAAA,CAAA2D,UAAA/D,CAAAA,CAAA,EAAA,MAAAI,QAAAA,CAAA4D,kBAAAA,IAAAhE,EAAA,EAAA,CAAA,KAAAI,SAAA6D,SAAAA,EAAA;AAYGJ,IAAAA,EAAAA,GAAAR,aAAAA,GAAA;AAAA,MAAAY,WAGa7D,QAAAA,CAAQ0D,UAAAA;AAAAA,MAAW3B,iBAAAA,EACX,KAAA;AAAA,MAAKC,kBAAAA,EACJ,KAAA;AAAA,MAAKqB,KAAAA,EAClB;AAAA,KAWT,GAjBA;AAAA,MAAAM,QASU3D,QAAAA,CAAQ2D,MAAAA;AAAAA,MAAOE,WACZ7D,QAAAA,CAAQ6D,SAAAA;AAAAA,MAAUD,oBACT5D,QAAAA,CAAQ4D,kBAAAA;AAAAA,MAAmBL,WAAAA;AAAAA,MAAAF,KAAAA;AAAAA,MAAAtB,iBAAAA;AAAAA,MAAAC,kBAAAA;AAAAA,MAAAK;AAAAA,KAMjD;AAACzC,IAAAA,CAAAA,MAAAyD,KAAAA;AAAAzD,IAAAA,CAAAA,MAAA2D,WAAAA;AAAA3D,IAAAA,CAAAA,MAAAyC,YAAAA;AAAAzC,IAAAA,CAAAA,MAAAmC,iBAAAA;AAAAnC,IAAAA,CAAAA,MAAAqD,aAAAA;AAAArD,IAAAA,CAAAA,MAAAoC,kBAAAA;AAAApC,IAAAA,CAAAA,CAAA,EAAA,IAAAI,QAAAA,CAAA0D,UAAAA;AAAA9D,IAAAA,CAAAA,CAAA,EAAA,IAAAI,QAAAA,CAAA2D,MAAAA;AAAA/D,IAAAA,CAAAA,CAAA,EAAA,IAAAI,QAAAA,CAAA4D,kBAAAA;AAAAhE,IAAAA,CAAAA,CAAA,EAAA,IAAAI,QAAAA,CAAA6D,SAAAA;AAAAjE,IAAAA,CAAAA,OAAA6D,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA7D,EAAA,EAAA,CAAA;AAAA,EAAA;AA3BL,EAAA,MAAAkE,WAAAA,GAUIL,EAAAA;AAiBE,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAnE,EAAA,EAAA,CAAA,KAAAoD,qBAAApD,CAAAA,SAAAM,aAAAA,EAAA;AAGW6D,IAAAA,EAAAA,GAAAC,CAAAA,SAAAA,KAAA;AACbhB,MAAAA,iBAAAA,EAAkB;AAAC,MAAA,OACZ9C,cAAcP,SAAO,CAAA;AAAA,IAAC,CAAA;AAC9BC,IAAAA,CAAAA,OAAAoD,iBAAAA;AAAApD,IAAAA,CAAAA,OAAAM,aAAAA;AAAAN,IAAAA,CAAAA,OAAAmE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAqE,EAAAA;AAAA,EAAA,IAAArE,EAAA,EAAA,CAAA,KAAAQ,mBAAAR,CAAAA,SAAAoD,iBAAAA,EAAA;AACgBiB,IAAAA,EAAAA,GAAAA,MAAA;AACfjB,MAAAA,iBAAAA,EAAkB;AAAC,MAAA,OACZ5C,eAAAA,EAAgB;AAAA,IAAC,CAAA;AACzBR,IAAAA,CAAAA,OAAAQ,eAAAA;AAAAR,IAAAA,CAAAA,OAAAoD,iBAAAA;AAAApD,IAAAA,CAAAA,OAAAqE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAsE,EAAAA;AAAA,EAAA,IAAAtE,EAAA,EAAA,CAAA,KAAAS,SAAAT,CAAAA,SAAAoD,iBAAAA,EAAA;AACMkB,IAAAA,EAAAA,GAAAA,MAAA;AACLlB,MAAAA,iBAAAA,EAAkB;AAAC,MAAA,OACZ3C,KAAAA,EAAM;AAAA,IAAC,CAAA;AACfT,IAAAA,CAAAA,OAAAS,KAAAA;AAAAT,IAAAA,CAAAA,OAAAoD,iBAAAA;AAAApD,IAAAA,CAAAA,OAAAsE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAtE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAuE,EAAAA;AAAA,EAAA,IAAAvE,EAAA,EAAA,CAAA,KAAAU,cAAAV,CAAAA,SAAAoD,iBAAAA,EAAA;AAGWmB,IAAAA,EAAAA,GAAAA,MAAA;AACVnB,MAAAA,iBAAAA,EAAkB;AAAC,MAAA,OACZ1C,UAAAA,EAAW;AAAA,IAAC,CAAA;AACpBV,IAAAA,CAAAA,OAAAU,UAAAA;AAAAV,IAAAA,CAAAA,OAAAoD,iBAAAA;AAAApD,IAAAA,CAAAA,OAAAuE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwE,EAAAA;AAAA,EAAA,IAAAxE,EAAA,EAAA,CAAA,KAAAoD,qBAAApD,CAAAA,SAAAW,SAAAA,EAAA;AACU6D,IAAAA,EAAAA,GAAAC,CAAAA,SAAAA,KAAA;AACTrB,MAAAA,iBAAAA,EAAkB;AAAC,MAAA,OACZzC,UAAUZ,SAAO,CAAA;AAAA,IAAC,CAAA;AAC1BC,IAAAA,CAAAA,OAAAoD,iBAAAA;AAAApD,IAAAA,CAAAA,OAAAW,SAAAA;AAAAX,IAAAA,CAAAA,OAAAwE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA0E,EAAAA;AAAA,EAAA,IAAA1E,CAAAA,SAAAkD,cAAAA,IAAAlD,EAAA,EAAA,CAAA,KAAAqD,iBAAArD,CAAAA,CAAA,EAAA,MAAAkE,WAAAA,IAAAlE,CAAAA,CAAA,EAAA,CAAA,KAAAY,IAAAA,IAAAZ,UAAAmE,EAAAA,IAAAnE,CAAAA,CAAA,EAAA,CAAA,KAAAqE,MAAArE,CAAAA,CAAA,EAAA,MAAAsE,EAAAA,IAAAtE,CAAAA,CAAA,EAAA,CAAA,KAAAuE,EAAAA,IAAAvE,EAAA,EAAA,CAAA,KAAAwE,MAAAxE,CAAAA,SAAAI,QAAAA,CAAAuE,aAAAA,IAAA3E,UAAAI,QAAAA,CAAAiC,oBAAAA,CAAAzB,IAAAA,EAAA;AAtBI8D,IAAAA,EAAAA,GAAA;AAAA,MAAApE,aAAAA,EACU6D,EAAAA;AAAAA,MAGd3D,eAAAA,EACgB6D,EAAAA;AAAAA,MAGhB5D,KAAAA,EACM6D,EAAAA;AAAAA,MAGN5D,UAAAA,EAGW6D,EAAAA;AAAAA,MAGX5D,SAAAA,EACU6D,EAAAA;AAAAA,MAGVtB,cAAAA;AAAAA,MAAAtC,IAAAA;AAAAA,MAAAgE,qBAAAA,EAGsBxE,SAAQiC,oBAAAA,CAAqBzB,IAAAA;AAAAA,MAAKyC,aAAAA;AAAAA,MAAA,GAEtDa,WAAAA;AAAAA,MAAWS,eACCvE,QAAAA,CAAQuE;AAAAA,KACzB;AAAC3E,IAAAA,CAAAA,OAAAkD,cAAAA;AAAAlD,IAAAA,CAAAA,OAAAqD,aAAAA;AAAArD,IAAAA,CAAAA,OAAAkE,WAAAA;AAAAlE,IAAAA,CAAAA,OAAAY,IAAAA;AAAAZ,IAAAA,CAAAA,OAAAmE,EAAAA;AAAAnE,IAAAA,CAAAA,OAAAqE,EAAAA;AAAArE,IAAAA,CAAAA,OAAAsE,EAAAA;AAAAtE,IAAAA,CAAAA,OAAAuE,EAAAA;AAAAvE,IAAAA,CAAAA,OAAAwE,EAAAA;AAAAxE,IAAAA,CAAAA,CAAA,EAAA,IAAAI,QAAAA,CAAAuE,aAAAA;AAAA3E,IAAAA,CAAAA,CAAA,EAAA,CAAA,GAAAI,QAAAA,CAAAiC,oBAAAA,CAAAzB,IAAAA;AAAAZ,IAAAA,CAAAA,OAAA0E,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1E,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OA7BM0E,EAAAA;AA6BN;;;;"}
|
|
1
|
+
{"version":3,"file":"useTwapSwapStep.js","names":["CancelOrderStepKey","NonFlowStep","TwapOrderStep","TwapOrderStepKey","useTwapFlow","SubmitTwapOrderResult","UseTwapFlowInput","UseTwapFlowResult","useLogger","constructExplorerOrderDetailsLink","isUserCancelledError","useState","UseTwapSwapStepResult","startTwapSwap","cancelTwapOrder","reset","cancelFlow","retryFlow","goToBeforeSwap","isFlowCancellable","isOrderCancellable","step","orderCancellationStep","isNonFlowStep","explorerLink","error","Error","erroredStep","result","usedPrice","submittedTwapOrder","tradeFlowType","useTwapSwapStep","options","$","_c","logger","twapFlow","runTwapOrderFlow","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","twapOrderSubmission","permitOrApprovalHappened","txHash","signature","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","isPostingOrder","twapOrderCancelation","orderId","order","id","undefined","nonFlowStep","setNonFlowStep","t0","Symbol","for","t1","resetStepOverride","once","log","t2","isError","t3","freshPrice","resultProps","t4","options_0","t5","t6","t7","t8","options_1","t9"],"sources":["../../../../src/hooks/swap/tradeFlow/useTwapSwapStep.ts"],"sourcesContent":["import type {\n CancelOrderStepKey,\n NonFlowStep,\n TwapOrderStep,\n TwapOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useTwapFlow,\n type SubmitTwapOrderResult,\n type UseTwapFlowInput,\n type UseTwapFlowResult,\n} from \"./useTwapFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { isUserCancelledError } from \"./common/errors\";\nimport { useState } from \"react\";\n\ntype UseTwapSwapStepResult = {\n startTwapSwap: UseTwapFlowResult[\"runTwapOrderFlow\"];\n cancelTwapOrder: UseTwapFlowResult[\"cancelTwapOrder\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseTwapFlowResult[\"reset\"];\n cancelFlow: UseTwapFlowResult[\"cancelFlow\"];\n retryFlow: UseTwapFlowResult[\"retryFlow\"];\n goToBeforeSwap: () => void;\n isFlowCancellable: boolean;\n isOrderCancellable: boolean;\n step?: TwapOrderStep;\n orderCancellationStep?: CancelOrderStepKey;\n isNonFlowStep: boolean;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: TwapOrderStepKey;\n result?: SubmitTwapOrderResult;\n usedPrice: UseTwapFlowResult[\"usedPrice\"];\n submittedTwapOrder?: UseTwapFlowResult[\"submittedTwapOrder\"];\n tradeFlowType: UseTwapFlowResult[\"tradeFlowType\"];\n};\n\nexport function useTwapSwapStep(\n options: UseTwapFlowInput\n): UseTwapSwapStepResult {\n const logger = useLogger(\"TwapSwapStep\");\n const twapFlow = useTwapFlow(options);\n\n const startTwapSwap = twapFlow.runTwapOrderFlow;\n const cancelTwapOrder = twapFlow.cancelTwapOrder;\n const reset = twapFlow.reset;\n const cancelFlow = twapFlow.cancelFlow;\n const retryFlow = twapFlow.retryFlow;\n\n let step: TwapOrderStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n twapFlow.signPermit.isPending || !twapFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n twapFlow.approval.isPending || !twapFlow.approval.isSuccess;\n\n const willUsePermit =\n twapFlow.approval.needsApproval &&\n twapFlow.signPermit.isPermitSupported &&\n twapFlow.signPermit.isPermitReadyToSign;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n twapFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (twapFlow.twapOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!(\n twapFlow.approval.txHash || twapFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (twapFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n twapFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isPostingOrder = twapFlow.twapOrderSubmission.isPostingOrder;\n\n const isFlowCancellable =\n // final Order is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n (approvalIsStarted || isOrderBeingSigned) && !isPostingOrder;\n\n const isOrderCancellable = twapFlow.twapOrderCancelation.isOrderCancellable;\n\n const orderId = twapFlow.twapOrderSubmission.order?.id;\n const explorerLink = orderId\n ? constructExplorerOrderDetailsLink(orderId)\n : undefined;\n\n const [nonFlowStep, setNonFlowStep] = useState<NonFlowStep | null>(null);\n const goToBeforeSwap = () => {\n setNonFlowStep({ key: \"prepare-swap\" });\n };\n const resetStepOverride = () => {\n setNonFlowStep(null);\n };\n\n step = nonFlowStep || step;\n const isNonFlowStep = !!nonFlowStep;\n\n logger.once.log(\"step\", step, twapFlow, {\n isFlowCancellable,\n explorerLink,\n orderId,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(twapFlow.error) ? null : twapFlow.error;\n\n let erroredStep: TwapOrderStepKey | undefined;\n\n if (twapFlow.isError) {\n if (twapFlow.approval.isError || twapFlow.signPermit.isError) {\n erroredStep = \"signature\";\n } else if (twapFlow.twapOrderSubmission.isError) {\n erroredStep = \"order-submission\";\n }\n }\n\n const resultProps: Pick<\n UseTwapSwapStepResult,\n | \"usedPrice\"\n | \"isFlowCancellable\"\n | \"isOrderCancellable\"\n | \"error\"\n | \"erroredStep\"\n | \"result\"\n | \"submittedTwapOrder\"\n | \"explorerLink\"\n > = isNonFlowStep\n ? {\n // don't return previous data when in non-flow step\n usedPrice: twapFlow.freshPrice,\n isFlowCancellable: false,\n isOrderCancellable: false,\n error: null,\n }\n : {\n result: twapFlow.result,\n usedPrice: twapFlow.usedPrice,\n submittedTwapOrder: twapFlow.submittedTwapOrder, // submitted or updated Twap Order\n erroredStep,\n error,\n isFlowCancellable,\n isOrderCancellable,\n explorerLink,\n };\n\n return {\n startTwapSwap: (options) => {\n resetStepOverride();\n return startTwapSwap(options);\n },\n cancelTwapOrder: () => {\n resetStepOverride();\n return cancelTwapOrder();\n },\n reset: () => {\n resetStepOverride();\n return reset();\n },\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow: () => {\n resetStepOverride();\n return cancelFlow();\n },\n retryFlow: (options) => {\n resetStepOverride();\n return retryFlow(options);\n },\n goToBeforeSwap,\n step,\n orderCancellationStep: twapFlow.twapOrderCancelation.step,\n isNonFlowStep,\n ...resultProps,\n tradeFlowType: twapFlow.tradeFlowType,\n };\n}\n"],"mappings":"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"}
|