@velora-dex/widget 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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 +63 -108
- 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 -67
- 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 +49 -94
- 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 +238 -642
- 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.js +60 -92
- 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.js +83 -177
- 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.js +199 -445
- 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/utils.js +40 -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/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.js +56 -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 +44 -64
- 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 +52 -102
- package/dist/components/widget/SwapRate/SwapRate.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 +116 -248
- 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 +89 -200
- 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 +10 -8
- 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 +74 -114
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +149 -231
- 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 +35 -73
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.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 +129 -112
- package/dist/components/widget/TradeOverview/steps.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js +25 -63
- 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/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 +96 -202
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/Updaters.js +34 -70
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/Warnings.js +158 -318
- 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.js +141 -366
- 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.js +502 -1202
- 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 +165 -451
- package/dist/core/inputs/hooks/useTokenToInputProps.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.js +100 -126
- 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 +173 -309
- 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 +123 -290
- 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 +30 -67
- 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 +38 -65
- 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 +178 -247
- 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 +114 -245
- 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/events/effects/formInput.js +28 -53
- 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/widgetState.js +34 -40
- package/dist/events/getters/widgetState.js.map +1 -1
- package/dist/events/hooks/useActivateEffects.js +8 -9
- 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 +14 -11
- 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 +6 -5
- 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 +26 -35
- package/dist/hooks/swap/prices/delta/bridge/utils.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 -283
- 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 +44 -96
- 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 +117 -264
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +24 -31
- package/dist/hooks/swap/prices/delta/mutations/utils.js.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 +69 -98
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +75 -53
- 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 +16 -25
- 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.js +128 -199
- 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.js +118 -249
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.js +11 -12
- package/dist/hooks/swap/prices/delta/queries/utils.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 +135 -195
- 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 +57 -162
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +169 -478
- 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/tradeFlow/common/errors.js +19 -26
- package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +138 -356
- 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 +131 -165
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +153 -239
- 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 -353
- 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 +413 -645
- 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.js +303 -444
- 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/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 +19 -44
- 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.js +5 -5
- 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 +11 -6
- 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 +33 -45
- 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 +53 -82
- 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/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 +9 -10
- 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/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 -3439
- 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 +12 -10
- 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/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/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":"useMarketFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useMarketFlow.ts"],"sourcesContent":["import { useAwaitTx } from \"@/hooks/txs\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { useSendMarketSwapTx } from \"../prices/market/mutations/useSendMarketSwapTx\";\nimport {\n useBuildTx,\n type BuildMarketSwapTxInput,\n} from \"../prices/market/mutations/useBuildTx\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport {\n type Address,\n type Hash,\n type Hex,\n type TransactionReceipt,\n} from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n isTransactionCancelledError,\n TransactionCancelledError,\n UserCancelledError,\n} from \"./common/errors\";\nimport { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { useLogger } from \"@/core/logger\";\nimport { useConstructGasParams } from \"./common/useConstructGasParams\";\nimport {\n useMarketPriceQuery,\n useSubscribeToMarketPrice,\n} from \"../prices/market/queries/useMarketPriceQuery\";\nimport { usePartner } from \"@/hooks/usePartner\";\n\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { type CallsReceipt } from \"@/hooks/batch/useAwaitCalls\";\nimport { useBatchWithApproveTxs } from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport type { BatchTxStepResult } from \"./common/types\";\nimport { usePricesParams } from \"../prices/usePricesParams\";\nimport {\n useReplaceTx,\n type ReplaceTxResult,\n} from \"@/hooks/txs/mutations/useReplaceTx\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\n\nexport type UseMarketFlowInput = {\n marketPrice?: OptimalRate;\n};\n\nexport type MarketSwapRequest = BuildMarketSwapTxInput & {\n // narrow down BuildMarketSwapTxInput from \"any two present\" {srcAmount?, destAmount?, slippage?}\n // to \"amounts always present\" variant\n swapTxInput: { srcAmount: string; destAmount: string };\n};\n\nconst marketSwapFlowType = \"marketSwap\";\n\nexport type SubmitSwapResult = {\n tradeFlowType: typeof marketSwapFlowType;\n approve: SubmitTxResult;\n swap: SubmitTxResult & { swapRequest?: MarketSwapRequest };\n marketPrice: OptimalRate;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt}) when mined,\n// maybe??\ntype RunMarketOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseMarketFlowResult = {\n tradeFlowType: typeof marketSwapFlowType;\n chainId: SupportedChainId;\n runMarketSwapFlow: (options?: RunMarketOptions) => Promise<SubmitSwapResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (options?: RunMarketOptions) => Promise<SubmitSwapResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n buildTxParams: {\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n swap: {\n txHash?: Hash;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n isTxCancellable: boolean;\n cancelSwapTx: () => Promise<ReplaceTxResult | undefined>;\n cancellingState: {\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n result?: ReplaceTxResult;\n step?: CancelOrderStepKey;\n };\n error: Error | null;\n };\n swapBatch: BatchTxStepResult;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitSwapResult;\n usedPrice?: OptimalRate;\n freshPrice?: OptimalRate;\n submittedSwapRequest?: MarketSwapRequest;\n};\n\nconst MARKET_SWAP_MUTATION_KEY = \"runMarketSwapFlow\";\n\nexport function useMarketFlow({\n marketPrice: _marketPrice,\n}: UseMarketFlowInput): UseMarketFlowResult {\n const logger = useLogger(\"MarketFlow\");\n const { resolvedSlippage } = useSlippage(\"swap\");\n const swapSideFromInput = useSwapSide();\n\n const { priceParams, chainId } = usePricesParams(\"swap\");\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams,\n chainId,\n query: {\n enabled: false,\n },\n });\n\n const marketPrice = marketPriceQuery.data || _marketPrice;\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 const {\n approval,\n signPermit,\n approveTxMut,\n signPermitMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: marketPrice?.srcToken,\n // if we already approved some amount, save it in approval and signPermit objects\n srcAmount: marketPrice?.srcAmount,\n spenderContractType: \"AugustusSwapper\",\n // marketPrice is the preferred source of truth\n swapSide: marketPrice?.side ?? swapSideFromInput,\n tradeMode: \"swap\",\n chainId,\n });\n\n /* 4. Build Swap tx */\n const buildTxMut = useBuildTx({\n chainId,\n mutationOptions: {\n onSuccess: () => {\n logger.log(\"Build tx success\");\n },\n onError: (error) => {\n logger.error(\"Build tx error\", error);\n },\n },\n });\n\n const buildTxParams: UseMarketFlowResult[\"buildTxParams\"] = {\n isPending: buildTxMut.isPending,\n isError: buildTxMut.isError,\n isSuccess: buildTxMut.isSuccess,\n error: buildTxMut.error,\n };\n\n /* 5. submit Swap tx */\n\n /* 5.1. submit standalone Swap tx */\n\n const sendSwapTxMut = useSendMarketSwapTx({\n onSuccess: () => {\n logger.log(\"Swap tx success\");\n },\n onError: (error) => {\n logger.error(\"Swap tx error\", error);\n },\n });\n\n /* 5.2. submit Batch tx */\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* 6. await Swap tx */\n\n /* 6.1. await standalone Swap tx */\n const swapTxMined = useAwaitTx({\n hash: sendSwapTxMut.txHash,\n chainId,\n });\n\n /* 6.2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n const cancelSwapTxMut = useReplaceTx({\n chainId,\n txHash: sendSwapTxMut.txHash,\n cancelTxType: \"SWAP\",\n onSuccess: (details) => {\n onSwap?.({\n event: {\n name: \"Swap:cancelled\",\n params: {\n swapMode: \"market\",\n cancelTxDetails: details,\n },\n },\n });\n },\n });\n\n // allows to abort (cancel) currently running flow,\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelSwapTx = async () => {\n try {\n assert(sendSwapTxMut.txHash, \"Swap tx hash is not available\");\n const result = await cancelSwapTxMut.replaceTx({\n action: \"cancel\",\n hash: sendSwapTxMut.txHash,\n });\n if (result.replacementTxReceipt.status === \"success\") {\n currentAbortControllerRef.current?.abort(\n new TransactionCancelledError(\"Swap tx cancelled\", result)\n );\n }\n return result;\n } catch (error) {\n logger.error(\"Cancel swap tx error\", error);\n // allow to re-trigger cancellation after error (like UserCancelledError)\n cancelSwapTxMut.reset();\n }\n };\n\n const swap: UseMarketFlowResult[\"swap\"] = {\n txHash: sendSwapTxMut.txHash,\n receipt: swapTxMined.data,\n /* tx sending */\n isConfirmingTX: sendSwapTxMut.isPending,\n isConfirmingTxError: sendSwapTxMut.isError,\n isTxSent: sendSwapTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: swapTxMined.isLoading,\n isTxMined: swapTxMined.isSuccess,\n isTxAwaitingError: swapTxMined.isError,\n /* combined */\n isPending: sendSwapTxMut.isPending || swapTxMined.isLoading,\n isSuccess: swapTxMined.isSuccess, // final success\n isError: sendSwapTxMut.isError || swapTxMined.isError,\n error: sendSwapTxMut.error || swapTxMined.error,\n isTxCancellable:\n cancelSwapTxMut.isWalletSupported &&\n // allow to retry cancel (no !cancelSwapTxMut.isPending check) if the Cancel tx is slow\n !!sendSwapTxMut.txHash &&\n !swapTxMined.data &&\n !cancelSwapTxMut.isSuccess,\n cancelSwapTx,\n cancellingState: {\n isPending: cancelSwapTxMut.isPending,\n isError: cancelSwapTxMut.isError,\n isSuccess: cancelSwapTxMut.isSuccess,\n error: cancelSwapTxMut.error,\n result: cancelSwapTxMut.result,\n step: cancelSwapTxMut.step,\n },\n };\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const swapBatch: UseMarketFlowResult[\"swapBatch\"] = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.error,\n };\n\n const { address: account } = useAccount();\n\n const ensureTxReceipt = useEnsureTxReceipt();\n const ensureCallsStatus = useEnsureCallsStatus();\n\n const usingPriceRef = useRef<OptimalRate | 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 = useSwapReceiverAddressValue();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const { constructGasParams } = useConstructGasParams();\n\n const { partner, partnerAddress, partnerFeeBps, partnerTakesSurplus } =\n usePartner();\n\n const subscribeToPrice = useSubscribeToMarketPrice();\n\n const { onSwap } = useWidgetEvents();\n\n const submitSwapTx: (\n options?: RunMarketOptions & { lastPrice?: OptimalRate | null }\n ) => Promise<SubmitSwapResult> = async ({ onTxSent, lastPrice } = {}) => {\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 buildTxMut.reset();\n sendSwapTxMut.reset();\n batchTxMut.reset();\n cancelSwapTxMut.reset();\n\n // no sense in starting flow without a price,\n // which may be unavailable only if we are retrying and deltaPrice response now returns an error.\n // Otherwise this flow will be stopped by disabling Swap button in the first place\n assert(marketPrice, \"Market price is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\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 // marketPrice here is the starting price, available before async code and waiting\n let freshPrice = marketPrice;\n if (freshPrice.hmac === lastPrice?.hmac) {\n // we are resubmitting the Swap tx, because it failed the last time,\n // but the price hasn't updated yet, so force refetch\n const newPriceResult = await marketPriceQuery.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 shouldBatchTxs =\n canBatchTxs && approval.needsApproval && !!allowanceToSet;\n\n try {\n // need allowance\n if (!shouldBatchTxs && approval.needsApproval && 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 = marketPriceQueryKey;\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,\n onData: (newPrice) => {\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 // slightly higher amount if BUY with slippage\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: newPrice.srcAmount,\n destAmount: newPrice.destAmount,\n },\n resolvedSlippage,\n newPrice.side\n );\n\n // if new price fits into allowance, update it\n if (approvedAmount >= BigInt(amountsAfterSlippage.srcAmount)) {\n logger.log(\"~ fresh price ~\", newPrice);\n freshPrice = newPrice;\n usingPriceRef.current = freshPrice;\n }\n },\n });\n }\n\n const tryPermit =\n signPermit.isPermitSupported && signPermit.isPermitReadyToSign;\n try {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n // Token doesn't support Permit\n // make an Approval tx\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 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 // as long as we had set approvedAmount, we will only get new prices that satisfy the allowance\n const marketPriceToUse = freshPrice;\n usingPriceRef.current = marketPriceToUse;\n // no longer need updates, unsubscribe\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n\n assert(marketPriceToUse, \"Market price is not available\");\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: marketPriceToUse.srcAmount,\n destAmount: marketPriceToUse.destAmount,\n },\n resolvedSlippage,\n marketPriceToUse.side\n );\n\n // fresh gas params\n const gasParams = constructGasParams();\n\n const swapRequest: MarketSwapRequest = {\n swapTxInput: {\n userAddress: account,\n receiver: receiverAddress,\n srcToken: marketPriceToUse.srcToken,\n destToken: marketPriceToUse.destToken,\n srcDecimals: marketPriceToUse.srcDecimals,\n destDecimals: marketPriceToUse.destDecimals,\n\n partner,\n partnerAddress,\n partnerFeeBps,\n takeSurplus: partnerTakesSurplus,\n\n permit: signedPermitResult?.permitEncodedArgs, // just signed Permit signature\n\n priceRoute: marketPriceToUse,\n ...amountsAfterSlippage,\n },\n\n swapTxOptions: {\n // ignoreChecks: true,\n // gas estimate will break if only swap tx is estimated, but approve tx is not considered in a batch\n ignoreGasEstimate: shouldBatchTxs,\n // for Batch-capable wallets batch Approve+Swap tx have to ignore all checks\n ignoreAllowance: shouldBatchTxs,\n // onlyParams: true,\n degenMode: priceParams.degenMode,\n ...gasParams,\n },\n };\n\n const txParams = await buildTxMut.mutateAsync(swapRequest);\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n let swapTxHash: Hash | undefined;\n let swapCallsId: string | undefined;\n\n onSwap?.({\n event: {\n name: \"Swap:request\",\n params: {\n swapMode: \"market\",\n price: marketPriceToUse,\n },\n },\n });\n\n if (shouldBatchTxs) {\n const { calls } = await addTxWithApprovals({\n txsParams: [\n {\n to: txParams.to as Address,\n account: txParams.from as Address,\n data: txParams.data as Hex,\n value: BigInt(txParams.value),\n chainId: txParams.chainId,\n },\n ],\n approveProps: [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ],\n });\n\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n swapCallsId = sendCallsResult.id;\n onSwap?.({\n event: {\n name: \"Swap:sent\",\n params: {\n swapMode: \"market\",\n price: marketPriceToUse,\n callsId: swapCallsId,\n },\n },\n });\n } else {\n swapTxHash = await sendSwapTxMut.sendTransactionAsync({\n ...txParams,\n chainId,\n });\n onSwap?.({\n event: {\n name: \"Swap:sent\",\n params: {\n swapMode: \"market\",\n price: marketPriceToUse,\n txHash: swapTxHash,\n },\n },\n });\n }\n\n // no use aborting past this point, tx is already sent,\n // but we may want to connect this late abortion to tx cancellation, in the future\n\n // tx is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n let swapCallsReceipt: CallsReceipt | undefined;\n let swapTxReceipt: TransactionReceipt | undefined;\n\n if (swapCallsId) {\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: swapCallsId,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\"~ swapTx ~ awaiting calls id :\", swapCallsId);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"swap\",\n callsId: swapCallsId,\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"swap\",\n source: \"local\",\n srcTokenAddress: marketPriceToUse.srcToken as Address,\n destTokenAddress: marketPriceToUse.destToken as Address,\n srcAmount: amountsAfterSlippage.srcAmount,\n destAmount: amountsAfterSlippage.destAmount,\n srcAmountUSD: marketPriceToUse.srcUSD,\n destAmountUSD: marketPriceToUse.destUSD,\n gasCost: marketPriceToUse.gasCost,\n swapSide: marketPriceToUse.side,\n },\n });\n }\n\n swapCallsReceipt = await sendCallsReceiptPromise;\n\n if (swapCallsReceipt) {\n onSwap?.({\n event: {\n name: \"Swap:confirmed\",\n params: {\n swapMode: \"market\",\n price: marketPriceToUse,\n callsReceipt: swapCallsReceipt,\n callsId: swapCallsId,\n },\n },\n });\n }\n } else if (swapTxHash) {\n const swapTxReceiptPromise = ensureTxReceipt({\n hash: swapTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:swapTx\", swapTxHash, data);\n },\n });\n\n logger.log(\"~ swapTx ~ awaiting tx hash :\", swapTxHash);\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n // watch for signal to potentially get aborted after a cancel tx is mined\n const txCancelledPromise = new Promise<never>((_, reject) => {\n signal.onabort = () => {\n try {\n signal.throwIfAborted();\n } catch (error) {\n if (isTransactionCancelledError(error)) {\n reject(error);\n }\n }\n };\n });\n\n // whichever happens first:\n // - original swap tx is mined (not reverted) and swapTxReceiptPromise resolves\n // - the abort signal fires (e.g. after a cancel/replace tx is mined) and the race rejects\n // if the original tx is replaced/cancelled, ensureTxReceipt will never resolve (or reject if given a timeout)\n const txReceiptOrCancelledPromise = Promise.race([\n swapTxReceiptPromise,\n txCancelledPromise,\n ]);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"swap\",\n transactionHash: swapTxHash,\n receiptPromise: txReceiptOrCancelledPromise,\n transactionSpecificData: {\n action: \"swap\",\n source: \"local\",\n srcTokenAddress: marketPriceToUse.srcToken as Address,\n destTokenAddress: marketPriceToUse.destToken as Address,\n srcAmount: amountsAfterSlippage.srcAmount,\n destAmount: amountsAfterSlippage.destAmount,\n srcAmountUSD: marketPriceToUse.srcUSD,\n destAmountUSD: marketPriceToUse.destUSD,\n gasCost: marketPriceToUse.gasCost,\n gasCostUSD: marketPriceToUse.gasCostUSD,\n swapSide: marketPriceToUse.side,\n },\n });\n }\n\n swapTxReceipt = await txReceiptOrCancelledPromise;\n\n if (swapTxReceipt) {\n onSwap?.({\n event: {\n name: \"Swap:confirmed\",\n params: {\n swapMode: \"market\",\n price: marketPriceToUse,\n txReceipt: swapTxReceipt,\n txHash: swapTxHash,\n },\n },\n });\n }\n }\n\n logger.log(\"~ swapTx ~ receipt:\", swapCallsReceipt || swapTxReceipt);\n\n return {\n tradeFlowType: marketSwapFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n swap: {\n swapRequest,\n callsId: swapCallsId,\n txHash: swapTxHash,\n receipt: swapTxReceipt,\n callsReceipt: swapCallsReceipt,\n },\n marketPrice: marketPriceToUse,\n // @TODO add whatever else may be relevant\n account,\n receiverAddress,\n };\n } catch (error) {\n // Market swap failed, we can't be sure if nonce can be reused or it was incremented in a different tx\n // or even Order in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n\n if (!isTransactionCancelledError(error)) {\n // Swap:cancelled event is handled in cancelSwapTxMut.onSuccess\n onSwap?.({\n event: {\n name: \"Swap:failed\",\n params: {\n swapMode: \"market\",\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 marketSwapMut = useMutation({\n mutationFn: submitSwapTx,\n mutationKey: [MARKET_SWAP_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Swap tx success\", data);\n },\n onError: (error) => {\n logger.error(\"Swap tx error\", error);\n },\n onSettled: () => {\n logger.log(\"Swap tx settled\");\n },\n });\n\n const runMarketSwapFlow = marketSwapMut.mutateAsync;\n\n const reset = () => {\n usingPriceRef.current = null;\n\n approveTxMut.reset();\n signPermitMut.reset();\n buildTxMut.reset();\n sendSwapTxMut.reset();\n batchTxMut.reset();\n marketSwapMut.reset();\n\n cancelSwapTxMut.reset();\n };\n\n const retryFlow = (options?: RunMarketOptions): Promise<SubmitSwapResult> => {\n const lastPrice = usingPriceRef.current;\n reset();\n return runMarketSwapFlow({ ...options, lastPrice });\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice = usingPriceRef.current || marketPrice;\n\n const result = marketSwapMut.data;\n const submittedSwapRequest = result?.swap.swapRequest;\n\n /* 7. return result */\n return {\n tradeFlowType: marketSwapFlowType,\n chainId,\n runMarketSwapFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n buildTxParams,\n swap,\n swapBatch,\n // marketSwapMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: marketSwapMut.isPending,\n isSuccess: marketSwapMut.isSuccess,\n isError: marketSwapMut.isError,\n error: marketSwapMut.error,\n result: marketSwapMut.data,\n usedPrice,\n freshPrice: marketPrice,\n submittedSwapRequest,\n };\n}\n"],"names":["marketSwapFlowType","MARKET_SWAP_MUTATION_KEY","useMarketFlow","marketPrice","_marketPrice","logger","useLogger","resolvedSlippage","useSlippage","swapSideFromInput","useSwapSide","priceParams","chainId","usePricesParams","result","marketPriceQuery","queryKey","marketPriceQueryKey","useMarketPriceQuery","query","enabled","data","approval","signPermit","approveTxMut","signPermitMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcAmount","spenderContractType","swapSide","side","tradeMode","buildTxMut","useBuildTx","mutationOptions","onSuccess","log","onError","error","buildTxParams","isPending","isError","isSuccess","sendSwapTxMut","useSendMarketSwapTx","forCurrentChain","canBatchTxs","useCanBatchTxs","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","swapTxMined","useAwaitTx","hash","txHash","batchTxMined","useAwaitCalls","id","cancelSwapTxMut","useReplaceTx","cancelTxType","details","onSwap","event","name","params","swapMode","cancelTxDetails","currentAbortControllerRef","useRef","cancelSwapTx","assert","replaceTx","action","replacementTxReceipt","status","current","abort","TransactionCancelledError","reset","swap","receipt","isConfirmingTX","isConfirmingTxError","isTxSent","isTxPending","isLoading","isTxMined","isTxAwaitingError","isTxCancellable","isWalletSupported","cancellingState","step","lastCallsReceipt","receipts","length","swapBatch","callsId","transactionHash","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isCallsMined","isCallsAwaitingError","address","account","useAccount","ensureTxReceipt","useEnsureTxReceipt","ensureCallsStatus","useEnsureCallsStatus","usingPriceRef","cancelFlow","UserCancelledError","receiverAddress","useSwapReceiverAddressValue","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","constructGasParams","useConstructGasParams","partner","partnerAddress","partnerFeeBps","partnerTakesSurplus","usePartner","subscribeToPrice","useSubscribeToMarketPrice","useWidgetEvents","submitSwapTx","onTxSent","lastPrice","abortController","AbortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","freshPrice","hmac","newPriceResult","refetch","cancelRefetch","throwIfAborted","unsubscribeFromPrice","shouldBatchTxs","needsApproval","approvedAmount","onData","newPrice","aborted","undefined","amountsAfterSlippage","applySlippage","destAmount","BigInt","tryPermit","isPermitSupported","isPermitReadyToSign","onApproveTx","request","approveAsync","allowanceData","sent","approveTxReceiptPromise","onReplaced","receiptPromise","transactionSpecificData","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","value","permit","permitEncodedArgs","failed","marketPriceToUse","gasParams","swapRequest","swapTxInput","userAddress","receiver","destToken","srcDecimals","destDecimals","takeSurplus","priceRoute","swapTxOptions","ignoreGasEstimate","ignoreAllowance","degenMode","txParams","mutateAsync","swapTxHash","swapCallsId","price","calls","txsParams","to","from","approveProps","sendCallsResult","sendCalls","sendTransactionAsync","signedPermitData","swapCallsReceipt","swapTxReceipt","sendCallsReceiptPromise","then","source","srcTokenAddress","destTokenAddress","srcAmountUSD","srcUSD","destAmountUSD","destUSD","gasCost","callsReceipt","swapTxReceiptPromise","txCancelledPromise","Promise","_","reject","onabort","isTransactionCancelledError","txReceiptOrCancelledPromise","race","gasCostUSD","tradeFlowType","approve","marketSwapMut","useMutation","mutationFn","mutationKey","onSettled","runMarketSwapFlow","retryFlow","options","usedPrice","submittedSwapRequest"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useMarketFlow.js","names":["useAwaitTx","OptimalRate","useAccount","useSendMarketSwapTx","useBuildTx","BuildMarketSwapTxInput","assert","useEnsureTxReceipt","Address","Hash","Hex","TransactionReceipt","ApprovalFlowResult","SignPermitFlowResult","SubmitTxResult","applySlippage","useSlippage","useMutation","useRef","SupportedChainId","isTransactionCancelledError","TransactionCancelledError","UserCancelledError","useSwapReceiverAddressValue","CallsSentObject","TxSentObject","useSwapSide","useApproveOrPermit","useMarkPermit1Or2NonceAsUsed","SignedPermitResult","useLogger","useConstructGasParams","useMarketPriceQuery","useSubscribeToMarketPrice","usePartner","useSendBatchTx","useCanBatchTxs","useAwaitCalls","useEnsureCallsStatus","CallsReceipt","useBatchWithApproveTxs","useWidgetEvents","BatchTxStepResult","usePricesParams","useReplaceTx","ReplaceTxResult","CancelOrderStepKey","UseMarketFlowInput","marketPrice","MarketSwapRequest","swapTxInput","srcAmount","destAmount","marketSwapFlowType","SubmitSwapResult","tradeFlowType","approve","swap","swapRequest","account","receiverAddress","OnTxSent","txSent","RunMarketOptions","onTxSent","UseMarketFlowResult","chainId","runMarketSwapFlow","options","Promise","reset","cancelFlow","retryFlow","approval","signPermit","buildTxParams","isPending","isError","isSuccess","error","Error","txHash","receipt","isConfirmingTX","isConfirmingTxError","isTxSent","isTxPending","isTxMined","isTxAwaitingError","isTxCancellable","cancelSwapTx","cancellingState","result","step","swapBatch","usedPrice","freshPrice","submittedSwapRequest","MARKET_SWAP_MUTATION_KEY","useMarketFlow","_marketPrice","logger","resolvedSlippage","swapSideFromInput","priceParams","marketPriceQuery","queryKey","marketPriceQueryKey","query","enabled","data","approveTxMut","signPermitMut","events","approveOrPermitEvents","srcToken","spenderContractType","swapSide","side","tradeMode","buildTxMut","mutationOptions","onSuccess","log","onError","sendSwapTxMut","forCurrentChain","canBatchTxs","addTxWithApprovals","batchTxMut","swapTxMined","hash","batchTxMined","id","cancelSwapTxMut","cancelTxType","details","onSwap","event","name","params","swapMode","cancelTxDetails","currentAbortControllerRef","AbortController","replaceTx","action","replacementTxReceipt","status","current","abort","isLoading","isWalletSupported","lastCallsReceipt","receipts","length","callsId","transactionHash","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isCallsMined","isCallsAwaitingError","address","ensureTxReceipt","ensureCallsStatus","usingPriceRef","markNonceAsUsed","clearNonce","constructGasParams","partner","partnerAddress","partnerFeeBps","partnerTakesSurplus","subscribeToPrice","submitSwapTx","lastPrice","abortController","signal","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","hmac","newPriceResult","refetch","cancelRefetch","throwIfAborted","unsubscribeFromPrice","shouldBatchTxs","needsApproval","approvedAmount","onData","newPrice","aborted","undefined","amountsAfterSlippage","BigInt","tryPermit","isPermitSupported","isPermitReadyToSign","onApproveTx","request","approveAsync","allowanceData","sent","approveTxReceiptPromise","onReplaced","receiptPromise","transactionSpecificData","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","value","permit","permitEncodedArgs","failed","marketPriceToUse","gasParams","userAddress","receiver","destToken","srcDecimals","destDecimals","takeSurplus","priceRoute","swapTxOptions","ignoreGasEstimate","ignoreAllowance","degenMode","txParams","mutateAsync","swapTxHash","swapCallsId","price","calls","txsParams","to","from","approveProps","sendCallsResult","sendCalls","sendTransactionAsync","signedPermitData","swapCallsReceipt","swapTxReceipt","sendCallsReceiptPromise","then","source","srcTokenAddress","destTokenAddress","srcAmountUSD","srcUSD","destAmountUSD","destUSD","gasCost","callsReceipt","swapTxReceiptPromise","txCancelledPromise","_","reject","onabort","txReceiptOrCancelledPromise","race","gasCostUSD","marketSwapMut","mutationFn","mutationKey","onSettled"],"sources":["../../../../src/hooks/swap/tradeFlow/useMarketFlow.ts"],"sourcesContent":["import { useAwaitTx } from \"@/hooks/txs\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { useSendMarketSwapTx } from \"../prices/market/mutations/useSendMarketSwapTx\";\nimport {\n useBuildTx,\n type BuildMarketSwapTxInput,\n} from \"../prices/market/mutations/useBuildTx\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport {\n type Address,\n type Hash,\n type Hex,\n type TransactionReceipt,\n} from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n isTransactionCancelledError,\n TransactionCancelledError,\n UserCancelledError,\n} from \"./common/errors\";\nimport { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { useLogger } from \"@/core/logger\";\nimport { useConstructGasParams } from \"./common/useConstructGasParams\";\nimport {\n useMarketPriceQuery,\n useSubscribeToMarketPrice,\n} from \"../prices/market/queries/useMarketPriceQuery\";\nimport { usePartner } from \"@/hooks/usePartner\";\n\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { type CallsReceipt } from \"@/hooks/batch/useAwaitCalls\";\nimport { useBatchWithApproveTxs } from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport type { BatchTxStepResult } from \"./common/types\";\nimport { usePricesParams } from \"../prices/usePricesParams\";\nimport {\n useReplaceTx,\n type ReplaceTxResult,\n} from \"@/hooks/txs/mutations/useReplaceTx\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\n\nexport type UseMarketFlowInput = {\n marketPrice?: OptimalRate;\n};\n\nexport type MarketSwapRequest = BuildMarketSwapTxInput & {\n // narrow down BuildMarketSwapTxInput from \"any two present\" {srcAmount?, destAmount?, slippage?}\n // to \"amounts always present\" variant\n swapTxInput: { srcAmount: string; destAmount: string };\n};\n\nconst marketSwapFlowType = \"marketSwap\";\n\nexport type SubmitSwapResult = {\n tradeFlowType: typeof marketSwapFlowType;\n approve: SubmitTxResult;\n swap: SubmitTxResult & { swapRequest?: MarketSwapRequest };\n marketPrice: OptimalRate;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt}) when mined,\n// maybe??\ntype RunMarketOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseMarketFlowResult = {\n tradeFlowType: typeof marketSwapFlowType;\n chainId: SupportedChainId;\n runMarketSwapFlow: (options?: RunMarketOptions) => Promise<SubmitSwapResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (options?: RunMarketOptions) => Promise<SubmitSwapResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n buildTxParams: {\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n swap: {\n txHash?: Hash;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n isTxCancellable: boolean;\n cancelSwapTx: () => Promise<ReplaceTxResult | undefined>;\n cancellingState: {\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n result?: ReplaceTxResult;\n step?: CancelOrderStepKey;\n };\n error: Error | null;\n };\n swapBatch: BatchTxStepResult;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitSwapResult;\n usedPrice?: OptimalRate;\n freshPrice?: OptimalRate;\n submittedSwapRequest?: MarketSwapRequest;\n};\n\nconst MARKET_SWAP_MUTATION_KEY = \"runMarketSwapFlow\";\n\nexport function useMarketFlow({\n marketPrice: _marketPrice,\n}: UseMarketFlowInput): UseMarketFlowResult {\n const logger = useLogger(\"MarketFlow\");\n const { resolvedSlippage } = useSlippage(\"swap\");\n const swapSideFromInput = useSwapSide();\n\n const { priceParams, chainId } = usePricesParams(\"swap\");\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams,\n chainId,\n query: {\n enabled: false,\n },\n });\n\n const marketPrice = marketPriceQuery.data || _marketPrice;\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 const {\n approval,\n signPermit,\n approveTxMut,\n signPermitMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: marketPrice?.srcToken,\n // if we already approved some amount, save it in approval and signPermit objects\n srcAmount: marketPrice?.srcAmount,\n spenderContractType: \"AugustusSwapper\",\n // marketPrice is the preferred source of truth\n swapSide: marketPrice?.side ?? swapSideFromInput,\n tradeMode: \"swap\",\n chainId,\n });\n\n /* 4. Build Swap tx */\n const buildTxMut = useBuildTx({\n chainId,\n mutationOptions: {\n onSuccess: () => {\n logger.log(\"Build tx success\");\n },\n onError: (error) => {\n logger.error(\"Build tx error\", error);\n },\n },\n });\n\n const buildTxParams: UseMarketFlowResult[\"buildTxParams\"] = {\n isPending: buildTxMut.isPending,\n isError: buildTxMut.isError,\n isSuccess: buildTxMut.isSuccess,\n error: buildTxMut.error,\n };\n\n /* 5. submit Swap tx */\n\n /* 5.1. submit standalone Swap tx */\n\n const sendSwapTxMut = useSendMarketSwapTx({\n onSuccess: () => {\n logger.log(\"Swap tx success\");\n },\n onError: (error) => {\n logger.error(\"Swap tx error\", error);\n },\n });\n\n /* 5.2. submit Batch tx */\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* 6. await Swap tx */\n\n /* 6.1. await standalone Swap tx */\n const swapTxMined = useAwaitTx({\n hash: sendSwapTxMut.txHash,\n chainId,\n });\n\n /* 6.2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n const cancelSwapTxMut = useReplaceTx({\n chainId,\n txHash: sendSwapTxMut.txHash,\n cancelTxType: \"SWAP\",\n onSuccess: (details) => {\n onSwap?.({\n event: {\n name: \"Swap:cancelled\",\n params: {\n swapMode: \"market\",\n cancelTxDetails: details,\n },\n },\n });\n },\n });\n\n // allows to abort (cancel) currently running flow,\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelSwapTx = async () => {\n try {\n assert(sendSwapTxMut.txHash, \"Swap tx hash is not available\");\n const result = await cancelSwapTxMut.replaceTx({\n action: \"cancel\",\n hash: sendSwapTxMut.txHash,\n });\n if (result.replacementTxReceipt.status === \"success\") {\n currentAbortControllerRef.current?.abort(\n new TransactionCancelledError(\"Swap tx cancelled\", result)\n );\n }\n return result;\n } catch (error) {\n logger.error(\"Cancel swap tx error\", error);\n // allow to re-trigger cancellation after error (like UserCancelledError)\n cancelSwapTxMut.reset();\n }\n };\n\n const swap: UseMarketFlowResult[\"swap\"] = {\n txHash: sendSwapTxMut.txHash,\n receipt: swapTxMined.data,\n /* tx sending */\n isConfirmingTX: sendSwapTxMut.isPending,\n isConfirmingTxError: sendSwapTxMut.isError,\n isTxSent: sendSwapTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: swapTxMined.isLoading,\n isTxMined: swapTxMined.isSuccess,\n isTxAwaitingError: swapTxMined.isError,\n /* combined */\n isPending: sendSwapTxMut.isPending || swapTxMined.isLoading,\n isSuccess: swapTxMined.isSuccess, // final success\n isError: sendSwapTxMut.isError || swapTxMined.isError,\n error: sendSwapTxMut.error || swapTxMined.error,\n isTxCancellable:\n cancelSwapTxMut.isWalletSupported &&\n // allow to retry cancel (no !cancelSwapTxMut.isPending check) if the Cancel tx is slow\n !!sendSwapTxMut.txHash &&\n !swapTxMined.data &&\n !cancelSwapTxMut.isSuccess,\n cancelSwapTx,\n cancellingState: {\n isPending: cancelSwapTxMut.isPending,\n isError: cancelSwapTxMut.isError,\n isSuccess: cancelSwapTxMut.isSuccess,\n error: cancelSwapTxMut.error,\n result: cancelSwapTxMut.result,\n step: cancelSwapTxMut.step,\n },\n };\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const swapBatch: UseMarketFlowResult[\"swapBatch\"] = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.error,\n };\n\n const { address: account } = useAccount();\n\n const ensureTxReceipt = useEnsureTxReceipt();\n const ensureCallsStatus = useEnsureCallsStatus();\n\n const usingPriceRef = useRef<OptimalRate | 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 = useSwapReceiverAddressValue();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const { constructGasParams } = useConstructGasParams();\n\n const { partner, partnerAddress, partnerFeeBps, partnerTakesSurplus } =\n usePartner();\n\n const subscribeToPrice = useSubscribeToMarketPrice();\n\n const { onSwap } = useWidgetEvents();\n\n const submitSwapTx: (\n options?: RunMarketOptions & { lastPrice?: OptimalRate | null }\n ) => Promise<SubmitSwapResult> = async ({ onTxSent, lastPrice } = {}) => {\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 buildTxMut.reset();\n sendSwapTxMut.reset();\n batchTxMut.reset();\n cancelSwapTxMut.reset();\n\n // no sense in starting flow without a price,\n // which may be unavailable only if we are retrying and deltaPrice response now returns an error.\n // Otherwise this flow will be stopped by disabling Swap button in the first place\n assert(marketPrice, \"Market price is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\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 // marketPrice here is the starting price, available before async code and waiting\n let freshPrice = marketPrice;\n if (freshPrice.hmac === lastPrice?.hmac) {\n // we are resubmitting the Swap tx, because it failed the last time,\n // but the price hasn't updated yet, so force refetch\n const newPriceResult = await marketPriceQuery.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 shouldBatchTxs =\n canBatchTxs && approval.needsApproval && !!allowanceToSet;\n\n try {\n // need allowance\n if (!shouldBatchTxs && approval.needsApproval && 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 = marketPriceQueryKey;\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,\n onData: (newPrice) => {\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 // slightly higher amount if BUY with slippage\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: newPrice.srcAmount,\n destAmount: newPrice.destAmount,\n },\n resolvedSlippage,\n newPrice.side\n );\n\n // if new price fits into allowance, update it\n if (approvedAmount >= BigInt(amountsAfterSlippage.srcAmount)) {\n logger.log(\"~ fresh price ~\", newPrice);\n freshPrice = newPrice;\n usingPriceRef.current = freshPrice;\n }\n },\n });\n }\n\n const tryPermit =\n signPermit.isPermitSupported && signPermit.isPermitReadyToSign;\n try {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n // Token doesn't support Permit\n // make an Approval tx\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 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 // as long as we had set approvedAmount, we will only get new prices that satisfy the allowance\n const marketPriceToUse = freshPrice;\n usingPriceRef.current = marketPriceToUse;\n // no longer need updates, unsubscribe\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n\n assert(marketPriceToUse, \"Market price is not available\");\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: marketPriceToUse.srcAmount,\n destAmount: marketPriceToUse.destAmount,\n },\n resolvedSlippage,\n marketPriceToUse.side\n );\n\n // fresh gas params\n const gasParams = constructGasParams();\n\n const swapRequest: MarketSwapRequest = {\n swapTxInput: {\n userAddress: account,\n receiver: receiverAddress,\n srcToken: marketPriceToUse.srcToken,\n destToken: marketPriceToUse.destToken,\n srcDecimals: marketPriceToUse.srcDecimals,\n destDecimals: marketPriceToUse.destDecimals,\n\n partner,\n partnerAddress,\n partnerFeeBps,\n takeSurplus: partnerTakesSurplus,\n\n permit: signedPermitResult?.permitEncodedArgs, // just signed Permit signature\n\n priceRoute: marketPriceToUse,\n ...amountsAfterSlippage,\n },\n\n swapTxOptions: {\n // ignoreChecks: true,\n // gas estimate will break if only swap tx is estimated, but approve tx is not considered in a batch\n ignoreGasEstimate: shouldBatchTxs,\n // for Batch-capable wallets batch Approve+Swap tx have to ignore all checks\n ignoreAllowance: shouldBatchTxs,\n // onlyParams: true,\n degenMode: priceParams.degenMode,\n ...gasParams,\n },\n };\n\n const txParams = await buildTxMut.mutateAsync(swapRequest);\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n let swapTxHash: Hash | undefined;\n let swapCallsId: string | undefined;\n\n onSwap?.({\n event: {\n name: \"Swap:request\",\n params: {\n swapMode: \"market\",\n price: marketPriceToUse,\n },\n },\n });\n\n if (shouldBatchTxs) {\n const { calls } = await addTxWithApprovals({\n txsParams: [\n {\n to: txParams.to as Address,\n account: txParams.from as Address,\n data: txParams.data as Hex,\n value: BigInt(txParams.value),\n chainId: txParams.chainId,\n },\n ],\n approveProps: [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ],\n });\n\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n swapCallsId = sendCallsResult.id;\n onSwap?.({\n event: {\n name: \"Swap:sent\",\n params: {\n swapMode: \"market\",\n price: marketPriceToUse,\n callsId: swapCallsId,\n },\n },\n });\n } else {\n swapTxHash = await sendSwapTxMut.sendTransactionAsync({\n ...txParams,\n chainId,\n });\n onSwap?.({\n event: {\n name: \"Swap:sent\",\n params: {\n swapMode: \"market\",\n price: marketPriceToUse,\n txHash: swapTxHash,\n },\n },\n });\n }\n\n // no use aborting past this point, tx is already sent,\n // but we may want to connect this late abortion to tx cancellation, in the future\n\n // tx is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n let swapCallsReceipt: CallsReceipt | undefined;\n let swapTxReceipt: TransactionReceipt | undefined;\n\n if (swapCallsId) {\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: swapCallsId,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\"~ swapTx ~ awaiting calls id :\", swapCallsId);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"swap\",\n callsId: swapCallsId,\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"swap\",\n source: \"local\",\n srcTokenAddress: marketPriceToUse.srcToken as Address,\n destTokenAddress: marketPriceToUse.destToken as Address,\n srcAmount: amountsAfterSlippage.srcAmount,\n destAmount: amountsAfterSlippage.destAmount,\n srcAmountUSD: marketPriceToUse.srcUSD,\n destAmountUSD: marketPriceToUse.destUSD,\n gasCost: marketPriceToUse.gasCost,\n swapSide: marketPriceToUse.side,\n },\n });\n }\n\n swapCallsReceipt = await sendCallsReceiptPromise;\n\n if (swapCallsReceipt) {\n onSwap?.({\n event: {\n name: \"Swap:confirmed\",\n params: {\n swapMode: \"market\",\n price: marketPriceToUse,\n callsReceipt: swapCallsReceipt,\n callsId: swapCallsId,\n },\n },\n });\n }\n } else if (swapTxHash) {\n const swapTxReceiptPromise = ensureTxReceipt({\n hash: swapTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:swapTx\", swapTxHash, data);\n },\n });\n\n logger.log(\"~ swapTx ~ awaiting tx hash :\", swapTxHash);\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n // watch for signal to potentially get aborted after a cancel tx is mined\n const txCancelledPromise = new Promise<never>((_, reject) => {\n signal.onabort = () => {\n try {\n signal.throwIfAborted();\n } catch (error) {\n if (isTransactionCancelledError(error)) {\n reject(error);\n }\n }\n };\n });\n\n // whichever happens first:\n // - original swap tx is mined (not reverted) and swapTxReceiptPromise resolves\n // - the abort signal fires (e.g. after a cancel/replace tx is mined) and the race rejects\n // if the original tx is replaced/cancelled, ensureTxReceipt will never resolve (or reject if given a timeout)\n const txReceiptOrCancelledPromise = Promise.race([\n swapTxReceiptPromise,\n txCancelledPromise,\n ]);\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"swap\",\n transactionHash: swapTxHash,\n receiptPromise: txReceiptOrCancelledPromise,\n transactionSpecificData: {\n action: \"swap\",\n source: \"local\",\n srcTokenAddress: marketPriceToUse.srcToken as Address,\n destTokenAddress: marketPriceToUse.destToken as Address,\n srcAmount: amountsAfterSlippage.srcAmount,\n destAmount: amountsAfterSlippage.destAmount,\n srcAmountUSD: marketPriceToUse.srcUSD,\n destAmountUSD: marketPriceToUse.destUSD,\n gasCost: marketPriceToUse.gasCost,\n gasCostUSD: marketPriceToUse.gasCostUSD,\n swapSide: marketPriceToUse.side,\n },\n });\n }\n\n swapTxReceipt = await txReceiptOrCancelledPromise;\n\n if (swapTxReceipt) {\n onSwap?.({\n event: {\n name: \"Swap:confirmed\",\n params: {\n swapMode: \"market\",\n price: marketPriceToUse,\n txReceipt: swapTxReceipt,\n txHash: swapTxHash,\n },\n },\n });\n }\n }\n\n logger.log(\"~ swapTx ~ receipt:\", swapCallsReceipt || swapTxReceipt);\n\n return {\n tradeFlowType: marketSwapFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n swap: {\n swapRequest,\n callsId: swapCallsId,\n txHash: swapTxHash,\n receipt: swapTxReceipt,\n callsReceipt: swapCallsReceipt,\n },\n marketPrice: marketPriceToUse,\n // @TODO add whatever else may be relevant\n account,\n receiverAddress,\n };\n } catch (error) {\n // Market swap failed, we can't be sure if nonce can be reused or it was incremented in a different tx\n // or even Order in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n\n if (!isTransactionCancelledError(error)) {\n // Swap:cancelled event is handled in cancelSwapTxMut.onSuccess\n onSwap?.({\n event: {\n name: \"Swap:failed\",\n params: {\n swapMode: \"market\",\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 marketSwapMut = useMutation({\n mutationFn: submitSwapTx,\n mutationKey: [MARKET_SWAP_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Swap tx success\", data);\n },\n onError: (error) => {\n logger.error(\"Swap tx error\", error);\n },\n onSettled: () => {\n logger.log(\"Swap tx settled\");\n },\n });\n\n const runMarketSwapFlow = marketSwapMut.mutateAsync;\n\n const reset = () => {\n usingPriceRef.current = null;\n\n approveTxMut.reset();\n signPermitMut.reset();\n buildTxMut.reset();\n sendSwapTxMut.reset();\n batchTxMut.reset();\n marketSwapMut.reset();\n\n cancelSwapTxMut.reset();\n };\n\n const retryFlow = (options?: RunMarketOptions): Promise<SubmitSwapResult> => {\n const lastPrice = usingPriceRef.current;\n reset();\n return runMarketSwapFlow({ ...options, lastPrice });\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice = usingPriceRef.current || marketPrice;\n\n const result = marketSwapMut.data;\n const submittedSwapRequest = result?.swap.swapRequest;\n\n /* 7. return result */\n return {\n tradeFlowType: marketSwapFlowType,\n chainId,\n runMarketSwapFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n buildTxParams,\n swap,\n swapBatch,\n // marketSwapMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: marketSwapMut.isPending,\n isSuccess: marketSwapMut.isSuccess,\n isError: marketSwapMut.isError,\n error: marketSwapMut.error,\n result: marketSwapMut.data,\n usedPrice,\n freshPrice: marketPrice,\n submittedSwapRequest,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,233 +1,90 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { useState } from
|
|
8
|
-
|
|
9
|
-
function
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const resetStepOverride = t1;
|
|
87
|
-
step = nonFlowStep || step;
|
|
88
|
-
const isNonFlowStep = !!nonFlowStep;
|
|
89
|
-
logger.once.log("step", step, marketFlow, {
|
|
90
|
-
isFlowCancellable,
|
|
91
|
-
explorerLink,
|
|
92
|
-
txHash: swapTxHash,
|
|
93
|
-
isSwapTxCancellable,
|
|
94
|
-
isSwapTxCancelled,
|
|
95
|
-
cancelSwapTxResult
|
|
96
|
-
});
|
|
97
|
-
let t2;
|
|
98
|
-
if ($[2] !== marketFlow.error) {
|
|
99
|
-
t2 = isUserCancelledError(marketFlow.error) ? null : marketFlow.error;
|
|
100
|
-
$[2] = marketFlow.error;
|
|
101
|
-
$[3] = t2;
|
|
102
|
-
} else {
|
|
103
|
-
t2 = $[3];
|
|
104
|
-
}
|
|
105
|
-
const error = t2;
|
|
106
|
-
let erroredStep;
|
|
107
|
-
if (marketFlow.isError) {
|
|
108
|
-
if (marketFlow.approval.isError || marketFlow.signPermit.isError || marketFlow.buildTxParams.isError || marketFlow.swap.isConfirmingTxError || marketFlow.swapBatch.isConfirmingCallsError) {
|
|
109
|
-
erroredStep = "signature";
|
|
110
|
-
} else {
|
|
111
|
-
if (marketFlow.swap.isTxAwaitingError || marketFlow.swapBatch.isCallsAwaitingError) {
|
|
112
|
-
erroredStep = "swap-tx-execution";
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
let t3;
|
|
117
|
-
if ($[4] !== error || $[5] !== erroredStep || $[6] !== explorerLink || $[7] !== isFlowCancellable || $[8] !== isNonFlowStep || $[9] !== marketFlow.freshPrice || $[10] !== marketFlow.result || $[11] !== marketFlow.submittedSwapRequest || $[12] !== marketFlow.swap.cancellingState.step || $[13] !== marketFlow.usedPrice) {
|
|
118
|
-
t3 = isNonFlowStep ? {
|
|
119
|
-
usedPrice: marketFlow.freshPrice,
|
|
120
|
-
isFlowCancellable: false,
|
|
121
|
-
error: null
|
|
122
|
-
} : {
|
|
123
|
-
isFlowCancellable,
|
|
124
|
-
explorerLink,
|
|
125
|
-
error,
|
|
126
|
-
erroredStep,
|
|
127
|
-
result: marketFlow.result,
|
|
128
|
-
usedPrice: marketFlow.usedPrice,
|
|
129
|
-
submittedSwapRequest: marketFlow.submittedSwapRequest,
|
|
130
|
-
swapTxCancellationStep: marketFlow.swap.cancellingState.step
|
|
131
|
-
};
|
|
132
|
-
$[4] = error;
|
|
133
|
-
$[5] = erroredStep;
|
|
134
|
-
$[6] = explorerLink;
|
|
135
|
-
$[7] = isFlowCancellable;
|
|
136
|
-
$[8] = isNonFlowStep;
|
|
137
|
-
$[9] = marketFlow.freshPrice;
|
|
138
|
-
$[10] = marketFlow.result;
|
|
139
|
-
$[11] = marketFlow.submittedSwapRequest;
|
|
140
|
-
$[12] = marketFlow.swap.cancellingState.step;
|
|
141
|
-
$[13] = marketFlow.usedPrice;
|
|
142
|
-
$[14] = t3;
|
|
143
|
-
} else {
|
|
144
|
-
t3 = $[14];
|
|
145
|
-
}
|
|
146
|
-
const resultProps = t3;
|
|
147
|
-
let t4;
|
|
148
|
-
if ($[15] !== resetStepOverride || $[16] !== startMarketSwap) {
|
|
149
|
-
t4 = (options_0) => {
|
|
150
|
-
resetStepOverride();
|
|
151
|
-
return startMarketSwap(options_0);
|
|
152
|
-
};
|
|
153
|
-
$[15] = resetStepOverride;
|
|
154
|
-
$[16] = startMarketSwap;
|
|
155
|
-
$[17] = t4;
|
|
156
|
-
} else {
|
|
157
|
-
t4 = $[17];
|
|
158
|
-
}
|
|
159
|
-
let t5;
|
|
160
|
-
if ($[18] !== reset || $[19] !== resetStepOverride) {
|
|
161
|
-
t5 = () => {
|
|
162
|
-
resetStepOverride();
|
|
163
|
-
return reset();
|
|
164
|
-
};
|
|
165
|
-
$[18] = reset;
|
|
166
|
-
$[19] = resetStepOverride;
|
|
167
|
-
$[20] = t5;
|
|
168
|
-
} else {
|
|
169
|
-
t5 = $[20];
|
|
170
|
-
}
|
|
171
|
-
let t6;
|
|
172
|
-
if ($[21] !== cancelFlow || $[22] !== resetStepOverride) {
|
|
173
|
-
t6 = () => {
|
|
174
|
-
resetStepOverride();
|
|
175
|
-
return cancelFlow();
|
|
176
|
-
};
|
|
177
|
-
$[21] = cancelFlow;
|
|
178
|
-
$[22] = resetStepOverride;
|
|
179
|
-
$[23] = t6;
|
|
180
|
-
} else {
|
|
181
|
-
t6 = $[23];
|
|
182
|
-
}
|
|
183
|
-
let t7;
|
|
184
|
-
if ($[24] !== resetStepOverride || $[25] !== retryFlow) {
|
|
185
|
-
t7 = (options_1) => {
|
|
186
|
-
resetStepOverride();
|
|
187
|
-
return retryFlow(options_1);
|
|
188
|
-
};
|
|
189
|
-
$[24] = resetStepOverride;
|
|
190
|
-
$[25] = retryFlow;
|
|
191
|
-
$[26] = t7;
|
|
192
|
-
} else {
|
|
193
|
-
t7 = $[26];
|
|
194
|
-
}
|
|
195
|
-
let t8;
|
|
196
|
-
if ($[27] !== cancelSwapTxResult || $[28] !== goToBeforeSwap || $[29] !== isNonFlowStep || $[30] !== isSwapTxCancellable || $[31] !== isSwapTxCancelled || $[32] !== marketFlow.swap.cancelSwapTx || $[33] !== marketFlow.tradeFlowType || $[34] !== resultProps || $[35] !== step || $[36] !== t4 || $[37] !== t5 || $[38] !== t6 || $[39] !== t7) {
|
|
197
|
-
t8 = {
|
|
198
|
-
startMarketSwap: t4,
|
|
199
|
-
reset: t5,
|
|
200
|
-
cancelFlow: t6,
|
|
201
|
-
retryFlow: t7,
|
|
202
|
-
goToBeforeSwap,
|
|
203
|
-
step,
|
|
204
|
-
isNonFlowStep,
|
|
205
|
-
...resultProps,
|
|
206
|
-
tradeFlowType: marketFlow.tradeFlowType,
|
|
207
|
-
isSwapTxCancellable,
|
|
208
|
-
isSwapTxCancelled,
|
|
209
|
-
cancelSwapTxResult,
|
|
210
|
-
cancelSwapTx: marketFlow.swap.cancelSwapTx
|
|
211
|
-
};
|
|
212
|
-
$[27] = cancelSwapTxResult;
|
|
213
|
-
$[28] = goToBeforeSwap;
|
|
214
|
-
$[29] = isNonFlowStep;
|
|
215
|
-
$[30] = isSwapTxCancellable;
|
|
216
|
-
$[31] = isSwapTxCancelled;
|
|
217
|
-
$[32] = marketFlow.swap.cancelSwapTx;
|
|
218
|
-
$[33] = marketFlow.tradeFlowType;
|
|
219
|
-
$[34] = resultProps;
|
|
220
|
-
$[35] = step;
|
|
221
|
-
$[36] = t4;
|
|
222
|
-
$[37] = t5;
|
|
223
|
-
$[38] = t6;
|
|
224
|
-
$[39] = t7;
|
|
225
|
-
$[40] = t8;
|
|
226
|
-
} else {
|
|
227
|
-
t8 = $[40];
|
|
228
|
-
}
|
|
229
|
-
return t8;
|
|
1
|
+
import { useLogger as e } from "../../../core/logger.js";
|
|
2
|
+
import { constructTxLinkForChain as t } from "../../../lib/utils/explorer.js";
|
|
3
|
+
import { getStandaloneTxHash as n } from "../../../transactions/hash.js";
|
|
4
|
+
import { isUserCancelledError as r } from "./common/errors.js";
|
|
5
|
+
import { useMarketFlow as i } from "./useMarketFlow.js";
|
|
6
|
+
import { c as a } from "react-compiler-runtime";
|
|
7
|
+
import { useState as o } from "react";
|
|
8
|
+
//#region src/hooks/swap/tradeFlow/useMarketSwapStep.ts
|
|
9
|
+
function s(s) {
|
|
10
|
+
let c = a(41), l = e("MarketSwapStep"), u = i(s), d = u.runMarketSwapFlow, f = u.reset, p = u.cancelFlow, m = u.retryFlow, h, g = u.signPermit.isPending || !u.signPermit.isPermitSigned, _ = u.approval.isPending || !u.approval.isSuccess, v = u.approval.needsApproval && u.signPermit.isPermitSupported && u.signPermit.isPermitReadyToSign && !u.swapBatch.canBatchTxs ? g : _;
|
|
11
|
+
u.approval.needsApproval && v ? h = {
|
|
12
|
+
key: "signature",
|
|
13
|
+
subStep: "approval-signature"
|
|
14
|
+
} : u.buildTxParams.isPending || u.swap.isConfirmingTX || u.swapBatch.isConfirmingCalls ? h = {
|
|
15
|
+
key: "signature",
|
|
16
|
+
subStep: u.approval.txHash || u.signPermit.signature ? "order-signature" : "standalone-order-signature"
|
|
17
|
+
} : u.swap.isTxPending || u.swapBatch.isCallsPending ? h = { key: "swap-tx-execution" } : u.isPending && (h = {
|
|
18
|
+
key: "signature",
|
|
19
|
+
subStep: "standalone-order-signature"
|
|
20
|
+
});
|
|
21
|
+
let y = h?.key === "signature" && h.subStep === "approval-signature" && u.approval.isTxPending, b = h?.key === "signature" && (h.subStep === "order-signature" || h.subStep === "standalone-order-signature"), x = h?.key === "swap-tx-execution" && !u.swap.isTxSent && !u.swapBatch.isCallsSent, S = y || b || x, C = u.swapBatch.txHash || n({ transactionHash: u.swap.txHash }), w = u.swap.isTxCancellable, T = u.swap.cancellingState.isSuccess, E = u.swap.cancellingState.result, D = T && E?.replacementTxHash || C, O = D ? t({
|
|
22
|
+
chainId: u.chainId,
|
|
23
|
+
txHash: D
|
|
24
|
+
}) : void 0, [k, A] = o(null), j;
|
|
25
|
+
c[0] === Symbol.for("react.memo_cache_sentinel") ? (j = () => {
|
|
26
|
+
A({ key: "prepare-swap" });
|
|
27
|
+
}, c[0] = j) : j = c[0];
|
|
28
|
+
let M = j, N;
|
|
29
|
+
c[1] === Symbol.for("react.memo_cache_sentinel") ? (N = () => {
|
|
30
|
+
A(null);
|
|
31
|
+
}, c[1] = N) : N = c[1];
|
|
32
|
+
let P = N;
|
|
33
|
+
h = k || h;
|
|
34
|
+
let F = !!k;
|
|
35
|
+
l.once.log("step", h, u, {
|
|
36
|
+
isFlowCancellable: S,
|
|
37
|
+
explorerLink: O,
|
|
38
|
+
txHash: C,
|
|
39
|
+
isSwapTxCancellable: w,
|
|
40
|
+
isSwapTxCancelled: T,
|
|
41
|
+
cancelSwapTxResult: E
|
|
42
|
+
});
|
|
43
|
+
let I;
|
|
44
|
+
c[2] === u.error ? I = c[3] : (I = r(u.error) ? null : u.error, c[2] = u.error, c[3] = I);
|
|
45
|
+
let L = I, R;
|
|
46
|
+
u.isError && (u.approval.isError || u.signPermit.isError || u.buildTxParams.isError || u.swap.isConfirmingTxError || u.swapBatch.isConfirmingCallsError ? R = "signature" : (u.swap.isTxAwaitingError || u.swapBatch.isCallsAwaitingError) && (R = "swap-tx-execution"));
|
|
47
|
+
let z;
|
|
48
|
+
c[4] !== L || c[5] !== R || c[6] !== O || c[7] !== S || c[8] !== F || c[9] !== u.freshPrice || c[10] !== u.result || c[11] !== u.submittedSwapRequest || c[12] !== u.swap.cancellingState.step || c[13] !== u.usedPrice ? (z = F ? {
|
|
49
|
+
usedPrice: u.freshPrice,
|
|
50
|
+
isFlowCancellable: !1,
|
|
51
|
+
error: null
|
|
52
|
+
} : {
|
|
53
|
+
isFlowCancellable: S,
|
|
54
|
+
explorerLink: O,
|
|
55
|
+
error: L,
|
|
56
|
+
erroredStep: R,
|
|
57
|
+
result: u.result,
|
|
58
|
+
usedPrice: u.usedPrice,
|
|
59
|
+
submittedSwapRequest: u.submittedSwapRequest,
|
|
60
|
+
swapTxCancellationStep: u.swap.cancellingState.step
|
|
61
|
+
}, c[4] = L, c[5] = R, c[6] = O, c[7] = S, c[8] = F, c[9] = u.freshPrice, c[10] = u.result, c[11] = u.submittedSwapRequest, c[12] = u.swap.cancellingState.step, c[13] = u.usedPrice, c[14] = z) : z = c[14];
|
|
62
|
+
let B = z, V;
|
|
63
|
+
c[15] !== P || c[16] !== d ? (V = (e) => (P(), d(e)), c[15] = P, c[16] = d, c[17] = V) : V = c[17];
|
|
64
|
+
let H;
|
|
65
|
+
c[18] !== f || c[19] !== P ? (H = () => (P(), f()), c[18] = f, c[19] = P, c[20] = H) : H = c[20];
|
|
66
|
+
let U;
|
|
67
|
+
c[21] !== p || c[22] !== P ? (U = () => (P(), p()), c[21] = p, c[22] = P, c[23] = U) : U = c[23];
|
|
68
|
+
let W;
|
|
69
|
+
c[24] !== P || c[25] !== m ? (W = (e) => (P(), m(e)), c[24] = P, c[25] = m, c[26] = W) : W = c[26];
|
|
70
|
+
let G;
|
|
71
|
+
return c[27] !== E || c[28] !== M || c[29] !== F || c[30] !== w || c[31] !== T || c[32] !== u.swap.cancelSwapTx || c[33] !== u.tradeFlowType || c[34] !== B || c[35] !== h || c[36] !== V || c[37] !== H || c[38] !== U || c[39] !== W ? (G = {
|
|
72
|
+
startMarketSwap: V,
|
|
73
|
+
reset: H,
|
|
74
|
+
cancelFlow: U,
|
|
75
|
+
retryFlow: W,
|
|
76
|
+
goToBeforeSwap: M,
|
|
77
|
+
step: h,
|
|
78
|
+
isNonFlowStep: F,
|
|
79
|
+
...B,
|
|
80
|
+
tradeFlowType: u.tradeFlowType,
|
|
81
|
+
isSwapTxCancellable: w,
|
|
82
|
+
isSwapTxCancelled: T,
|
|
83
|
+
cancelSwapTxResult: E,
|
|
84
|
+
cancelSwapTx: u.swap.cancelSwapTx
|
|
85
|
+
}, c[27] = E, c[28] = M, c[29] = F, c[30] = w, c[31] = T, c[32] = u.swap.cancelSwapTx, c[33] = u.tradeFlowType, c[34] = B, c[35] = h, c[36] = V, c[37] = H, c[38] = U, c[39] = W, c[40] = G) : G = c[40], G;
|
|
230
86
|
}
|
|
87
|
+
//#endregion
|
|
88
|
+
export { s as useMarketSwapStep };
|
|
231
89
|
|
|
232
|
-
|
|
233
|
-
//# sourceMappingURL=useMarketSwapStep.js.map
|
|
90
|
+
//# sourceMappingURL=useMarketSwapStep.js.map
|