@velora-dex/widget 0.6.0 → 0.6.1-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index.js +6 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/assets/bridges/canonical-uni.svg.js +12 -0
- package/dist/assets/bridges/canonical-uni.svg.js.map +1 -0
- package/dist/assets/bridges/cctp.svg.js +12 -0
- package/dist/assets/bridges/cctp.svg.js.map +1 -0
- package/dist/assets/bridges/celer.svg.js +16 -0
- package/dist/assets/bridges/celer.svg.js.map +1 -0
- package/dist/assets/bridges/{relay.js.map → relay.svg.js} +12 -1
- package/dist/assets/bridges/relay.svg.js.map +1 -0
- package/dist/assets/check.svg.js +12 -0
- package/dist/assets/check.svg.js.map +1 -0
- package/dist/assets/chevron.svg.js +12 -0
- package/dist/assets/chevron.svg.js.map +1 -0
- package/dist/assets/circle-check.svg.js +12 -0
- package/dist/assets/circle-check.svg.js.map +1 -0
- package/dist/assets/circle-exclamation.svg.js +12 -0
- package/dist/assets/circle-exclamation.svg.js.map +1 -0
- package/dist/assets/copy.svg.js +12 -0
- package/dist/assets/copy.svg.js.map +1 -0
- package/dist/assets/delta.svg.js +12 -0
- package/dist/assets/delta.svg.js.map +1 -0
- package/dist/assets/ellipse.svg.js +12 -0
- package/dist/assets/ellipse.svg.js.map +1 -0
- package/dist/assets/external-url.svg.js +12 -0
- package/dist/assets/external-url.svg.js.map +1 -0
- package/dist/assets/info.svg.js +12 -0
- package/dist/assets/info.svg.js.map +1 -0
- package/dist/assets/logout.svg.js +12 -0
- package/dist/assets/logout.svg.js.map +1 -0
- package/dist/assets/market.svg.js +12 -0
- package/dist/assets/{market.js → market.svg.js.map} +1 -23
- package/dist/assets/price-impact.svg.js +12 -0
- package/dist/assets/price-impact.svg.js.map +1 -0
- package/dist/assets/receipt.svg.js +12 -0
- package/dist/assets/receipt.svg.js.map +1 -0
- package/dist/assets/refresh.svg.js +12 -0
- package/dist/assets/refresh.svg.js.map +1 -0
- package/dist/assets/slider.svg.js +12 -0
- package/dist/assets/slider.svg.js.map +1 -0
- package/dist/assets/speedometer.svg.js +12 -0
- package/dist/assets/speedometer.svg.js.map +1 -0
- package/dist/assets/spinner.svg.js +18 -0
- package/dist/assets/spinner.svg.js.map +1 -0
- package/dist/assets/two-dots.svg.js +12 -0
- package/dist/assets/two-dots.svg.js.map +1 -0
- package/dist/assets/vlr.svg.js +4 -0
- package/dist/assets/vlr.svg.js.map +1 -0
- package/dist/assets/wavax.svg.js +12 -0
- package/dist/assets/wavax.svg.js.map +1 -0
- package/dist/assets/wavax.svg2.js +4 -0
- package/dist/assets/wavax.svg2.js.map +1 -0
- package/dist/assets/wbnb.svg.js +12 -0
- package/dist/assets/wbnb.svg.js.map +1 -0
- package/dist/assets/wbnb.svg2.js +4 -0
- package/dist/assets/wbnb.svg2.js.map +1 -0
- package/dist/assets/weth.svg.js +12 -0
- package/dist/assets/weth.svg.js.map +1 -0
- package/dist/assets/weth.svg2.js +4 -0
- package/dist/assets/weth.svg2.js.map +1 -0
- package/dist/assets/wmatic.svg.js +12 -0
- package/dist/assets/wmatic.svg.js.map +1 -0
- package/dist/assets/wmatic.svg2.js +4 -0
- package/dist/assets/wmatic.svg2.js.map +1 -0
- package/dist/assets/wxdai.svg.js +12 -0
- package/dist/assets/wxdai.svg.js.map +1 -0
- package/dist/assets/wxdai.svg2.js +4 -0
- package/dist/assets/wxdai.svg2.js.map +1 -0
- package/dist/components/ui/accordion.js +208 -77
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +109 -63
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.js +142 -51
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/drawer.js +270 -100
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js +232 -84
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/input.js +122 -50
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/progress.js +118 -47
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/ui/skeleton.js +40 -18
- package/dist/components/ui/skeleton.js.map +1 -1
- package/dist/components/ui/sonner.js +66 -39
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/components/ui/switch.js +63 -28
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/tooltip.js +159 -61
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/web3/AccountButton.js +131 -62
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +95 -56
- 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 +51 -58
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js +72 -48
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js +35 -24
- package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
- package/dist/components/web3/ConnectWallets/WalletConnectButtons.js +242 -102
- package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
- package/dist/components/web3/ConnectWallets/assets/browser-wallet.svg.js +4 -0
- package/dist/components/web3/ConnectWallets/assets/browser-wallet.svg.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/bscwallet.svg.js +4 -0
- package/dist/components/web3/ConnectWallets/assets/bscwallet.svg.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/coinbasewallet.svg.js +4 -0
- package/dist/components/web3/ConnectWallets/assets/coinbasewallet.svg.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/email.svg.js +4 -0
- package/dist/components/web3/ConnectWallets/assets/email.svg.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/ledger.svg.js +4 -0
- package/dist/components/web3/ConnectWallets/assets/ledger.svg.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/metamask.svg.js +4 -0
- package/dist/components/web3/ConnectWallets/assets/metamask.svg.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/paraswap.svg.js +4 -0
- package/dist/components/web3/ConnectWallets/assets/paraswap.svg.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/safe.svg.js +4 -0
- package/dist/components/web3/ConnectWallets/assets/safe.svg.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/trezor.svg.js +4 -0
- package/dist/components/web3/ConnectWallets/assets/trezor.svg.js.map +1 -0
- package/dist/components/web3/ConnectWallets/assets/walletconnect.svg.js +4 -0
- package/dist/components/web3/ConnectWallets/assets/walletconnect.svg.js.map +1 -0
- package/dist/components/web3/ConnectWallets/index.js +254 -110
- package/dist/components/web3/ConnectWallets/index.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/button.js +196 -80
- package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/connectRunner.js +68 -49
- package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/iframe.js +31 -17
- package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/provider.js +25 -16
- package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletFlags.js +102 -97
- package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js +173 -122
- package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +182 -116
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/web3/providers.js +54 -30
- package/dist/components/web3/providers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Activities.js +122 -66
- package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +130 -64
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivityItems.js +319 -161
- package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.js +166 -90
- package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/assets/eye-crossed.svg.js +12 -0
- package/dist/components/widget/AppHeader/Activities/assets/eye-crossed.svg.js.map +1 -0
- package/dist/components/widget/AppHeader/Activities/assets/eye.svg.js +12 -0
- package/dist/components/widget/AppHeader/Activities/assets/eye.svg.js.map +1 -0
- package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js +831 -330
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
- package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.js +68 -42
- package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
- package/dist/components/widget/AppHeader/ActivityButton.js +101 -45
- package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +172 -81
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js +95 -49
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
- package/dist/components/widget/AppHeader/state/showMoreAtom.js +18 -13
- package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js +474 -187
- package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js +216 -98
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgesList.js +72 -40
- package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js +241 -119
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/BridgePreferences/BridgePreferences.js +134 -75
- package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js +135 -78
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButton.js +104 -43
- package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js +64 -35
- package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/constants.js +3 -5
- package/dist/components/widget/Button/CancelButton/constants.js.map +1 -1
- package/dist/components/widget/Button/DismissButton.js +27 -19
- package/dist/components/widget/Button/DismissButton.js.map +1 -1
- package/dist/components/widget/CompareQuotes/CompareQuotes.js +208 -96
- package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
- package/dist/components/widget/Details/DetailWithTooltip.js +75 -28
- package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueList.js +68 -38
- package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueListExpandable.js +60 -29
- package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
- package/dist/components/widget/Details/SwapDetailsExpandable.js +19 -11
- package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
- package/dist/components/widget/DexesList/DexItem.js +357 -201
- package/dist/components/widget/DexesList/DexItem.js.map +1 -1
- package/dist/components/widget/DexesList/DexesList.js +58 -49
- package/dist/components/widget/DexesList/DexesList.js.map +1 -1
- package/dist/components/widget/DexesList/assets/exchanges/biswap.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/biswap.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/complusswap.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/complusswap.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/hashflow.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/hashflow.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/icons.json.js +159 -0
- package/dist/components/widget/DexesList/assets/exchanges/icons.json.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/quickswap.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/quickswap.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/shibaswap.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/shibaswap.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/uniswap.svg.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/uniswap.svg.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-dark.svg.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-dark.svg.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-light.svg.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-light.svg.js.map +1 -0
- package/dist/components/widget/DexesList/assets/gas.svg.js +12 -0
- package/dist/components/widget/DexesList/assets/gas.svg.js.map +1 -0
- package/dist/components/widget/DexesList/assets/unknown-dex.svg.js +4 -0
- package/dist/components/widget/DexesList/assets/unknown-dex.svg.js.map +1 -0
- package/dist/components/widget/DexesList/constants.js +3 -5
- package/dist/components/widget/DexesList/constants.js.map +1 -1
- package/dist/components/widget/DexesList/getDexProps.js +89 -59
- package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +277 -118
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js +46 -34
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +664 -238
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +45 -23
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +65 -29
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +106 -52
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +173 -217
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +49 -28
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +237 -104
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +75 -45
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
- package/dist/components/widget/Drawer/Overlay.js +60 -25
- package/dist/components/widget/Drawer/Overlay.js.map +1 -1
- package/dist/components/widget/Drawer/index.js +229 -93
- package/dist/components/widget/Drawer/index.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js +258 -85
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/Dropdown/DropdownWithItems.js +43 -35
- package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
- package/dist/components/widget/Duration/Duration.d.ts +1 -1
- package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
- package/dist/components/widget/Duration/Duration.js +89 -60
- package/dist/components/widget/Duration/Duration.js.map +1 -1
- package/dist/components/widget/Duration/utils.js +4 -6
- package/dist/components/widget/Duration/utils.js.map +1 -1
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.js +39 -48
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
- package/dist/components/widget/Icon/CheckIcon.js +17 -10
- package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
- package/dist/components/widget/Icon/ChevronIcon.js +41 -18
- package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
- package/dist/components/widget/Icon/DeltaIcon.js +17 -10
- package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
- package/dist/components/widget/Icon/EllipseIcon.js +17 -10
- package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
- package/dist/components/widget/Icon/InfoIcon.js +44 -21
- package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
- package/dist/components/widget/Icon/MarketIcon.js +17 -10
- package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
- package/dist/components/widget/Icon/SliderIcon.js +17 -10
- package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js +120 -92
- package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
- package/dist/components/widget/ImportToken/useImportTokenDrawer.js +89 -38
- package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +208 -97
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +169 -83
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js +89 -77
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +2 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +447 -199
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/constants.js +9 -6
- package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.js +63 -40
- package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
- package/dist/components/widget/LimitPriceInput/index.js +319 -158
- package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
- package/dist/components/widget/Line/Line.js +47 -17
- package/dist/components/widget/Line/Line.js.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +64 -36
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/arbitrum.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/arbitrum.svg.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/avalanche.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/avalanche.svg.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/base.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/base.svg.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/bsc.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/bsc.svg.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/eth.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/eth.svg.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/gnosis.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/gnosis.svg.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/optimism.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/optimism.svg.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/polygon.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/polygon.svg.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/unichain.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/unichain.svg.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js +54 -33
- package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +83 -38
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js +70 -32
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js +46 -18
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js +44 -15
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/utils/items.js +61 -49
- package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js +144 -60
- package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +109 -55
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
- package/dist/components/widget/NumberInput/NumberInput.d.ts +18 -0
- package/dist/components/widget/NumberInput/NumberInput.d.ts.map +1 -0
- package/dist/components/widget/NumberInput/NumberInput.js +239 -0
- package/dist/components/widget/NumberInput/NumberInput.js.map +1 -0
- package/dist/components/widget/NumberInput/assets/arrow-down.svg.js +12 -0
- package/dist/components/widget/NumberInput/assets/arrow-down.svg.js.map +1 -0
- package/dist/components/widget/NumberInput/assets/arrow-up.svg.js +12 -0
- package/dist/components/widget/NumberInput/assets/arrow-up.svg.js.map +1 -0
- package/dist/components/widget/OrderExpiryInput/index.js +223 -112
- package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js +186 -84
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js +93 -51
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js +15 -16
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +180 -83
- 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 +80 -56
- package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js +198 -92
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
- package/dist/components/widget/PoweredBy/PoweredBy.js +19 -16
- package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
- package/dist/components/widget/PoweredBy/assets/velora.svg.js +12 -0
- package/dist/components/widget/PoweredBy/assets/velora.svg.js.map +1 -0
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js +124 -67
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js +39 -18
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +68 -44
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js +142 -39
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +204 -90
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +106 -82
- 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 +144 -56
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/Screen/ScreenContainer.js +34 -18
- package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +197 -82
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SettingsButton/SettingsButton.js +59 -25
- package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +413 -166
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +31 -19
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js +9 -7
- package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +23 -10
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -9
- package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js +111 -52
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/SwapRate/types.d.ts +13 -0
- package/dist/components/widget/SwapRate/types.d.ts.map +1 -0
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts +7 -0
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -0
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +118 -0
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -0
- package/dist/components/widget/Tabs/Tabs.js +101 -49
- package/dist/components/widget/Tabs/Tabs.js.map +1 -1
- package/dist/components/widget/Toasts/CustomToast.js +220 -120
- package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.js +174 -81
- package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenLink.js +63 -32
- package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
- package/dist/components/widget/TokenBadge/assets/placeholder.png.js +4 -0
- package/dist/components/widget/TokenBadge/assets/placeholder.png.js.map +1 -0
- package/dist/components/widget/TokenInput/InputContainer.js +52 -17
- package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
- package/dist/components/widget/TokenInput/InputField.js +82 -50
- package/dist/components/widget/TokenInput/InputField.js.map +1 -1
- package/dist/components/widget/TokenInput/InputFooter.js +204 -86
- package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
- package/dist/components/widget/TokenInput/InputHeader.js +56 -28
- package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
- package/dist/components/widget/TokenInput/common/Balance.js +26 -21
- package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
- package/dist/components/widget/TokenInput/common/MaxButtons.js +46 -25
- package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
- package/dist/components/widget/TokenInput/index.js +167 -84
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js +75 -34
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js +82 -43
- package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js +225 -99
- package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/constants.js +18 -20
- package/dist/components/widget/TradeOverview/CancelOrder/constants.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/utils.js +43 -24
- package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +241 -116
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +131 -60
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +181 -73
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +229 -101
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +149 -69
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/Step.js +164 -71
- package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.js +40 -16
- package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js +106 -57
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +84 -51
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +179 -89
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js +24 -21
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/constants.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/constants.js +9 -10
- package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.js +46 -22
- package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +170 -74
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +255 -149
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js +375 -175
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +50 -43
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js +95 -43
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js +41 -31
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/index.js +48 -19
- package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js +56 -31
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js +404 -190
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +221 -132
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js +45 -26
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +7 -2
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +85 -35
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +15 -0
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +249 -0
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -0
- package/dist/components/widget/TradeOverview/VerticalDash.js +34 -28
- package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
- package/dist/components/widget/TradeOverview/assets/1_approving.lottie.js +4 -0
- package/dist/components/widget/TradeOverview/assets/1_approving.lottie.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/2_in_progress.lottie.js +4 -0
- package/dist/components/widget/TradeOverview/assets/2_in_progress.lottie.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/3_executing_step.lottie.js +4 -0
- package/dist/components/widget/TradeOverview/assets/3_executing_step.lottie.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/4_complete_step.lottie.js +4 -0
- package/dist/components/widget/TradeOverview/assets/4_complete_step.lottie.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/5_error_step.lottie.js +4 -0
- package/dist/components/widget/TradeOverview/assets/5_error_step.lottie.js.map +1 -0
- package/dist/components/widget/TradeOverview/motionProps.js +119 -63
- package/dist/components/widget/TradeOverview/motionProps.js.map +1 -1
- package/dist/components/widget/TradeOverview/steps.d.ts +37 -4
- package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/steps.js +121 -129
- package/dist/components/widget/TradeOverview/steps.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +4 -2
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js +65 -25
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js +4 -6
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js +34 -26
- package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +87 -36
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js +88 -38
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js +66 -28
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js +139 -81
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeParameter.js +82 -42
- package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/DeltaParameter.js +65 -35
- package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/EIP1559Parameter.js +55 -27
- package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js +75 -43
- package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js +25 -16
- package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js +176 -92
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js +141 -60
- package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
- package/dist/components/widget/TradeParameters/TradeParameters.js +207 -93
- package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js +181 -98
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +49 -25
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +15 -11
- 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 +17 -12
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js +10 -8
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js +6 -7
- 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 +61 -28
- package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/constants.js +8 -5
- package/dist/components/widget/TradeParameters/state/constants.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js +19 -7
- 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 +12 -8
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js +10 -7
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +14 -9
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js +15 -10
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js +30 -23
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js +261 -97
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +160 -93
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +84 -49
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js +80 -69
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/TransactionDetails/TransactionListItem.js +385 -172
- package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
- package/dist/components/widget/TransactionDetails/utils.js +75 -44
- package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
- package/dist/components/widget/Twap/CustomDurationDrawer.d.ts +6 -0
- package/dist/components/widget/Twap/CustomDurationDrawer.d.ts.map +1 -0
- package/dist/components/widget/Twap/CustomDurationDrawer.js +237 -0
- package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -0
- package/dist/components/widget/Twap/OrderDuration.d.ts +2 -0
- package/dist/components/widget/Twap/OrderDuration.d.ts.map +1 -0
- package/dist/components/widget/Twap/OrderDuration.js +144 -0
- package/dist/components/widget/Twap/OrderDuration.js.map +1 -0
- package/dist/components/widget/Twap/OrderSplit.d.ts +2 -0
- package/dist/components/widget/Twap/OrderSplit.d.ts.map +1 -0
- package/dist/components/widget/Twap/OrderSplit.js +57 -0
- package/dist/components/widget/Twap/OrderSplit.js.map +1 -0
- package/dist/components/widget/Twap/RateProtection.d.ts +2 -0
- package/dist/components/widget/Twap/RateProtection.d.ts.map +1 -0
- package/dist/components/widget/Twap/RateProtection.js +57 -0
- package/dist/components/widget/Twap/RateProtection.js.map +1 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +3 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +1 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js +33 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -0
- package/dist/components/widget/Warning/InsufficientBalanceMessage.js +24 -13
- package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
- package/dist/components/widget/Warning/Warning.js +150 -57
- package/dist/components/widget/Warning/Warning.js.map +1 -1
- package/dist/components/widget/Warning/WarningMessage.js +34 -17
- package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthContent.js +164 -86
- package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +156 -64
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +121 -91
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +157 -60
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/components/widget/YouGet/YouGet.js +156 -94
- package/dist/components/widget/YouGet/YouGet.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
- package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -1
- package/dist/core/ConnectWalletDrawerButton.js +112 -47
- package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
- package/dist/core/LimitOrderButton.js +160 -68
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/LimitOrderDetails.js +22 -13
- package/dist/core/LimitOrderDetails.js.map +1 -1
- package/dist/core/OtcOrderButton.js +156 -72
- package/dist/core/OtcOrderButton.js.map +1 -1
- package/dist/core/OtcOrderDetails.js +22 -13
- package/dist/core/OtcOrderDetails.js.map +1 -1
- package/dist/core/Toaster.js +22 -19
- package/dist/core/Toaster.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.d.ts +5 -0
- package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.js +259 -96
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/TwapDetails.d.ts +2 -0
- package/dist/core/TwapDetails.d.ts.map +1 -0
- package/dist/core/TwapDetails.js +24 -0
- package/dist/core/TwapDetails.js.map +1 -0
- package/dist/core/Updaters.js +70 -34
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/Warnings.d.ts +2 -1
- package/dist/core/Warnings.d.ts.map +1 -1
- package/dist/core/Warnings.js +384 -158
- package/dist/core/Warnings.js.map +1 -1
- package/dist/core/across/isCrosschainPossible.d.ts +1 -1
- package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
- package/dist/core/across/isCrosschainPossible.js +39 -24
- package/dist/core/across/isCrosschainPossible.js.map +1 -1
- package/dist/core/across/utils.js +37 -18
- package/dist/core/across/utils.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +449 -141
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/constants.js +23 -14
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1403 -502
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/types.d.ts +1 -1
- package/dist/core/inputs/hooks/types.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js +145 -75
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +452 -167
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenSwitcherProps.js +35 -17
- package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +387 -165
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useWarningMessage.d.ts +10 -0
- package/dist/core/inputs/hooks/useWarningMessage.d.ts.map +1 -0
- package/dist/core/inputs/hooks/useWarningMessage.js +71 -0
- package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -0
- package/dist/core/inputs/hooks/utils.js +39 -24
- package/dist/core/inputs/hooks/utils.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts +4 -0
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +171 -100
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/inputAmountAtom.js +19 -13
- package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js +248 -138
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.js +23 -14
- package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js +303 -173
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/inputs/state/subscriptions.js +19 -14
- package/dist/core/inputs/state/subscriptions.js.map +1 -1
- package/dist/core/limit/state/constants.js +24 -28
- package/dist/core/limit/state/constants.js.map +1 -1
- package/dist/core/limit/state/currentLimitInputAtom.js +5 -6
- package/dist/core/limit/state/currentLimitInputAtom.js.map +1 -1
- package/dist/core/limit/state/deadlineAtom.js +24 -12
- package/dist/core/limit/state/deadlineAtom.js.map +1 -1
- package/dist/core/limit/state/isCrosschainAtom.js +11 -9
- package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/limit/state/isLimitPriceLockedAtom.js +5 -6
- package/dist/core/limit/state/isLimitPriceLockedAtom.js.map +1 -1
- package/dist/core/limit/state/isLimitPriceReversedAtom.js +5 -6
- package/dist/core/limit/state/isLimitPriceReversedAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputActionsAtom.js +77 -41
- package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js +27 -18
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/state/limitTokenAtoms.js +16 -9
- package/dist/core/limit/state/limitTokenAtoms.js.map +1 -1
- package/dist/core/limit/state/receiverAddressAtom.js +39 -18
- package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js +160 -86
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js +57 -38
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/state/utils.d.ts +1 -1
- package/dist/core/limit/state/utils.js +101 -89
- package/dist/core/limit/state/utils.js.map +1 -1
- package/dist/core/limit/useLimitDetailsListProps.js +67 -38
- package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
- package/dist/core/limit/useLimitNotSupported.js +22 -11
- package/dist/core/limit/useLimitNotSupported.js.map +1 -1
- package/dist/core/limit/useLimitPriceDifference.js +50 -25
- package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.js +117 -43
- package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +288 -123
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +389 -144
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js +60 -24
- package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js +351 -126
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/logger.js +37 -25
- package/dist/core/logger.js.map +1 -1
- package/dist/core/otc/state/currentOtcInputAtom.js +5 -6
- package/dist/core/otc/state/currentOtcInputAtom.js.map +1 -1
- package/dist/core/otc/state/deadlineAtom.js +24 -12
- package/dist/core/otc/state/deadlineAtom.js.map +1 -1
- package/dist/core/otc/state/isOtcPriceLockedAtom.js +5 -6
- package/dist/core/otc/state/isOtcPriceLockedAtom.js.map +1 -1
- package/dist/core/otc/state/isOtcPriceReversedAtom.js +5 -6
- package/dist/core/otc/state/isOtcPriceReversedAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputActionsAtom.js +77 -41
- package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputAmountAtom.js +27 -18
- package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
- package/dist/core/otc/state/receiverAddressAtom.js +39 -18
- package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenActionsAtom.js +79 -34
- package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.js +23 -13
- package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/otc/useOtcDetailsListProps.js +67 -38
- package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
- package/dist/core/otc/useOtcNotSupported.js +22 -11
- package/dist/core/otc/useOtcNotSupported.js.map +1 -1
- package/dist/core/otc/useOtcPriceDifference.js +50 -25
- package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
- package/dist/core/otc/useOtcPriceInputProps.js +136 -48
- package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js +389 -144
- package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenSwitcherProps.js +50 -21
- package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.js +177 -71
- package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
- package/dist/core/screen/hooks/useInitialValue.js +7 -8
- package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.js +33 -16
- package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
- package/dist/core/screen/hooks/useResizeObserver.js +34 -18
- package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
- package/dist/core/screen/hooks/useRunOnMount.js +26 -11
- 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 +23 -13
- package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
- package/dist/core/screen/state/hooks/useScreenValue.js +40 -21
- package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
- package/dist/core/screen/state/hooks/useSetScreen.js +111 -56
- package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
- package/dist/core/screen/state/screenAtom.js +9 -8
- package/dist/core/screen/state/screenAtom.js.map +1 -1
- package/dist/core/state/apiConfigAtom.js +19 -14
- package/dist/core/state/apiConfigAtom.js.map +1 -1
- package/dist/core/state/chainToAtom.d.ts +2 -0
- package/dist/core/state/chainToAtom.d.ts.map +1 -1
- package/dist/core/state/chainToAtom.js +88 -30
- package/dist/core/state/chainToAtom.js.map +1 -1
- package/dist/core/state/configActionsAtom.js +40 -21
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.js +44 -38
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/configEffectAtom.d.ts.map +1 -1
- package/dist/core/state/configEffectAtom.js +60 -38
- package/dist/core/state/configEffectAtom.js.map +1 -1
- package/dist/core/state/containerAtom.js +16 -11
- package/dist/core/state/containerAtom.js.map +1 -1
- package/dist/core/state/currentSwapInputAtom.js +5 -6
- package/dist/core/state/currentSwapInputAtom.js.map +1 -1
- package/dist/core/state/enabledChainsAtom.js +96 -39
- package/dist/core/state/enabledChainsAtom.js.map +1 -1
- package/dist/core/state/enabledTradeModesAtom.js +48 -24
- package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
- package/dist/core/state/externalProviderAtom.js +22 -10
- package/dist/core/state/externalProviderAtom.js.map +1 -1
- package/dist/core/state/getSelectableDestChains.js +32 -22
- package/dist/core/state/getSelectableDestChains.js.map +1 -1
- package/dist/core/state/isCrosschainAtom.js +15 -11
- package/dist/core/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/state/tradeModeAtom.d.ts +1 -1
- package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
- package/dist/core/state/tradeModeAtom.js +16 -11
- package/dist/core/state/tradeModeAtom.js.map +1 -1
- package/dist/core/state/validatedPartnerConfigAtom.js +20 -15
- package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +269 -178
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/store.js +14 -7
- package/dist/core/store.js.map +1 -1
- package/dist/core/subscriptions.js +10 -9
- package/dist/core/subscriptions.js.map +1 -1
- package/dist/core/swapDetails/fees.js +40 -35
- package/dist/core/swapDetails/fees.js.map +1 -1
- package/dist/core/swapDetails/maxToPay.js +39 -24
- package/dist/core/swapDetails/maxToPay.js.map +1 -1
- package/dist/core/swapDetails/orderRouting.js +60 -42
- package/dist/core/swapDetails/orderRouting.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.d.ts +2 -2
- package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
- package/dist/core/swapDetails/priceImpact.js +39 -31
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/types.d.ts +4 -0
- package/dist/core/swapDetails/types.d.ts.map +1 -0
- package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +149 -114
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/swapDetails/youGet.js +36 -27
- package/dist/core/swapDetails/youGet.js.map +1 -1
- package/dist/core/twap/state/constants.d.ts +24 -0
- package/dist/core/twap/state/constants.d.ts.map +1 -0
- package/dist/core/twap/state/constants.js +28 -0
- package/dist/core/twap/state/constants.js.map +1 -0
- package/dist/core/twap/state/currentTwapInputAtom.d.ts +4 -0
- package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +1 -0
- package/dist/core/twap/state/currentTwapInputAtom.js +6 -0
- package/dist/core/twap/state/currentTwapInputAtom.js.map +1 -0
- package/dist/core/twap/state/isCrosschainAtom.d.ts +3 -0
- package/dist/core/twap/state/isCrosschainAtom.d.ts.map +1 -0
- package/dist/core/twap/state/isCrosschainAtom.js +16 -0
- package/dist/core/twap/state/isCrosschainAtom.js.map +1 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +13 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.js +194 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -0
- package/dist/core/twap/state/twapInputAmountAtom.d.ts +9 -0
- package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapInputAmountAtom.js +21 -0
- package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -0
- package/dist/core/twap/state/twapParamsAtom.d.ts +24 -0
- package/dist/core/twap/state/twapParamsAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapParamsAtom.js +31 -0
- package/dist/core/twap/state/twapParamsAtom.js.map +1 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.d.ts +5 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.js +10 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.js.map +1 -0
- package/dist/core/twap/state/twapSideAtom.d.ts +4 -0
- package/dist/core/twap/state/twapSideAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapSideAtom.js +24 -0
- package/dist/core/twap/state/twapSideAtom.js.map +1 -0
- package/dist/core/twap/state/twapTokenAtoms.d.ts +10 -0
- package/dist/core/twap/state/twapTokenAtoms.d.ts.map +1 -0
- package/dist/core/twap/state/twapTokenAtoms.js +17 -0
- package/dist/core/twap/state/twapTokenAtoms.js.map +1 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +12 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.js +44 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -0
- package/dist/core/twap/useTwapDetailsListProps.d.ts +3 -0
- package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapDetailsListProps.js +144 -0
- package/dist/core/twap/useTwapDetailsListProps.js.map +1 -0
- package/dist/core/twap/useTwapTokenFromInputProps.d.ts +9 -0
- package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapTokenFromInputProps.js +455 -0
- package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +3 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.js +37 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -0
- package/dist/core/twap/useTwapTokenToInputProps.d.ts +10 -0
- package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapTokenToInputProps.js +301 -0
- package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -0
- package/dist/events/effects/formInput.d.ts +3 -0
- package/dist/events/effects/formInput.d.ts.map +1 -1
- package/dist/events/effects/formInput.js +69 -28
- package/dist/events/effects/formInput.js.map +1 -1
- package/dist/events/effects/price.js +50 -35
- package/dist/events/effects/price.js.map +1 -1
- package/dist/events/effects/swapMode.js +45 -40
- package/dist/events/effects/swapMode.js.map +1 -1
- package/dist/events/getters/limit.js +39 -32
- package/dist/events/getters/limit.js.map +1 -1
- package/dist/events/getters/otc.js +37 -31
- package/dist/events/getters/otc.js.map +1 -1
- package/dist/events/getters/settings.js +27 -21
- package/dist/events/getters/settings.js.map +1 -1
- package/dist/events/getters/swap.js +56 -48
- package/dist/events/getters/swap.js.map +1 -1
- package/dist/events/getters/twap.d.ts +6 -0
- package/dist/events/getters/twap.d.ts.map +1 -0
- package/dist/events/getters/twap.js +71 -0
- package/dist/events/getters/twap.js.map +1 -0
- package/dist/events/getters/widgetState.d.ts.map +1 -1
- package/dist/events/getters/widgetState.js +42 -34
- package/dist/events/getters/widgetState.js.map +1 -1
- package/dist/events/hooks/useActivateEffects.d.ts.map +1 -1
- package/dist/events/hooks/useActivateEffects.js +10 -8
- package/dist/events/hooks/useActivateEffects.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js +114 -48
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js +66 -30
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/events/types/common.d.ts +8 -0
- package/dist/events/types/common.d.ts.map +1 -1
- package/dist/events/types/formInput.d.ts +11 -2
- package/dist/events/types/formInput.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +4 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/events/types/limit.d.ts +2 -2
- package/dist/events/types/limit.d.ts.map +1 -1
- package/dist/events/types/swap.d.ts +3 -2
- package/dist/events/types/swap.d.ts.map +1 -1
- package/dist/events/types/twap.d.ts +26 -0
- package/dist/events/types/twap.d.ts.map +1 -0
- package/dist/external/.pnpm/react-compiler-runtime@1.0.0_react@19.1.1/external/react-compiler-runtime/dist/index.js +385 -0
- package/dist/external/.pnpm/react-compiler-runtime@1.0.0_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +1 -0
- package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d/external/vaul/dist/index.js +1621 -910
- 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 +56 -27
- package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
- package/dist/hooks/batch/useBatchWithApproveTxs.js +91 -53
- package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
- package/dist/hooks/batch/useCanBatchTxs.js +73 -36
- package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.d.ts +1 -1
- package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js +86 -42
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js +23 -14
- package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js +25 -14
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +73 -30
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
- package/dist/hooks/gas/config.js +41 -42
- package/dist/hooks/gas/config.js.map +1 -1
- package/dist/hooks/gas/useGasPrices.js +115 -71
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/gas/utils.js +10 -11
- package/dist/hooks/gas/utils.js.map +1 -1
- package/dist/hooks/getCode/query.js +28 -19
- package/dist/hooks/getCode/query.js.map +1 -1
- package/dist/hooks/getCode/useIsAccountContract.js +35 -16
- package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
- package/dist/hooks/getCode/useIsContractAtAddress.js +61 -29
- package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js +386 -164
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js +117 -57
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +92 -28
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/utils.js +6 -7
- package/dist/hooks/otc/mutations/utils.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js +160 -74
- package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrders.js +205 -78
- package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
- package/dist/hooks/otc/queries/utils.js +7 -17
- package/dist/hooks/otc/queries/utils.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +464 -297
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +128 -54
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +389 -251
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +126 -53
- package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js +97 -34
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignPermit.js +91 -32
- package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js +39 -14
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js +89 -46
- package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js +117 -45
- package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js +141 -110
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js +332 -142
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js +57 -24
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js +51 -22
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js +103 -48
- package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +102 -44
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js +139 -91
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +286 -119
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js +20 -10
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js +53 -22
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/utils/abi.js +366 -432
- package/dist/hooks/permit/utils/abi.js.map +1 -1
- package/dist/hooks/permit/utils/constants.js +217 -229
- package/dist/hooks/permit/utils/constants.js.map +1 -1
- package/dist/hooks/permit/utils/construct.js +214 -178
- package/dist/hooks/permit/utils/construct.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.d.ts +0 -3
- package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js +7 -16
- package/dist/hooks/permit/utils/deadlines.js.map +1 -1
- package/dist/hooks/permit/utils/detect.js +228 -181
- package/dist/hooks/permit/utils/detect.js.map +1 -1
- package/dist/hooks/permit/utils/domainSeparator.js +200 -123
- package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
- package/dist/hooks/permit/utils/encodeArgs.js +44 -47
- package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
- package/dist/hooks/permit/utils/trySignPermit1.js +269 -222
- package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
- package/dist/hooks/permit/utils/utils.js +31 -24
- package/dist/hooks/permit/utils/utils.js.map +1 -1
- package/dist/hooks/sdk/useGetContracts.js +22 -11
- package/dist/hooks/sdk/useGetContracts.js.map +1 -1
- package/dist/hooks/sdk/useSpender.js +31 -14
- package/dist/hooks/sdk/useSpender.js.map +1 -1
- package/dist/hooks/swap/prices/constants.d.ts +1 -0
- package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
- package/dist/hooks/swap/prices/constants.js +6 -6
- package/dist/hooks/swap/prices/constants.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/const.js +11 -11
- package/dist/hooks/swap/prices/delta/bridge/const.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js +34 -19
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +33 -27
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +19 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +86 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +37 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +164 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +69 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +278 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +15 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +89 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +60 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +325 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +18 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +87 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts +12 -1
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +2 -5
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +114 -49
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +101 -60
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -3
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +282 -97
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +6 -6
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +162 -75
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +85 -41
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +85 -37
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js +67 -24
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +86 -46
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +78 -32
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +4 -4
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +272 -117
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +17 -6
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +64 -24
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +7 -46
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/const.js +7 -6
- package/dist/hooks/swap/prices/delta/orders/unposted/const.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js +25 -17
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js +31 -26
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +42 -31
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +6 -5
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +67 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +116 -69
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +41 -10
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +194 -82
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js +23 -14
- 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 +10 -9
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +0 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js +79 -29
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js +73 -28
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.d.ts +10 -2
- package/dist/hooks/swap/prices/delta/queries/errors.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.js +25 -16
- package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +159 -73
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js +254 -130
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +5 -6
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +130 -49
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +7 -7
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +201 -128
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +86 -34
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +14 -19
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +220 -118
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/factory.js +33 -21
- package/dist/hooks/swap/prices/factory.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js +53 -20
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js +86 -37
- package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/errors.js +13 -11
- package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +197 -135
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js +115 -39
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +166 -57
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -0
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +496 -169
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +75 -28
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +16 -0
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -0
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +73 -0
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -0
- package/dist/hooks/swap/prices/useTwapPrices.d.ts +44 -0
- package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -0
- package/dist/hooks/swap/prices/useTwapPrices.js +254 -0
- package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/errors.js +26 -19
- package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +48 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +71 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +50 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +94 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/types.d.ts +4 -2
- package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +2 -0
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +358 -138
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js +221 -126
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js +324 -193
- package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js +81 -39
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +6 -6
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +276 -131
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +7 -7
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +354 -153
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js +86 -30
- package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +2 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +355 -153
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.d.ts.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.d.ts +8 -9
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +636 -413
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +235 -87
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +6 -7
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +436 -303
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +123 -53
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +658 -435
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +231 -88
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +94 -0
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +619 -0
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +25 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +225 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -0
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js +140 -87
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.js +75 -28
- package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/utils.js +27 -16
- package/dist/hooks/tokens/allowance/utils.js.map +1 -1
- package/dist/hooks/tokens/balances/queries.js +76 -56
- package/dist/hooks/tokens/balances/queries.js.map +1 -1
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +78 -35
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js +75 -52
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +64 -27
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +190 -69
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +77 -40
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useSelectedTokenBalances.js +36 -22
- package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useTokenBalance.js +252 -95
- package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +124 -50
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
- package/dist/hooks/tokens/data/useFetchTokens.js +40 -15
- package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
- package/dist/hooks/tokens/data/useMultichainTokensData.js +165 -106
- package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
- package/dist/hooks/tokens/prices/queries.js +74 -50
- package/dist/hooks/tokens/prices/queries.js.map +1 -1
- package/dist/hooks/tokens/prices/useMultichainTokenPrices.js +69 -32
- package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/prices/useTokenPrices.js +115 -48
- package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js +258 -107
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/hooks/tokens/useNativeToken.js +36 -14
- package/dist/hooks/tokens/useNativeToken.js.map +1 -1
- package/dist/hooks/tokens/useTokenTaxFee.js +65 -32
- package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
- package/dist/hooks/tokens/useTokensByAddress.js +32 -20
- package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.d.ts +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js +62 -22
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/txs/mutations/useApprove.js +142 -54
- package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
- package/dist/hooks/txs/mutations/useDepositWeth.js +138 -56
- package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
- package/dist/hooks/txs/mutations/useReplaceTx.js +509 -234
- package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
- package/dist/hooks/txs/mutations/useSendTx.js +103 -33
- package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
- package/dist/hooks/txs/queries/useAccountNonce.js +29 -16
- package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js +169 -62
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/hooks/txs/queries/useTxFees.js +98 -42
- package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.js +121 -71
- package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
- package/dist/hooks/txs/queries/useTxResponse.js +72 -28
- package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
- package/dist/hooks/txs/queries/useWalletCanReplaceTx.js +28 -14
- package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
- package/dist/hooks/txs/queries/utils.js +10 -11
- package/dist/hooks/txs/queries/utils.js.map +1 -1
- package/dist/hooks/useAvailableCrosses.js +73 -35
- package/dist/hooks/useAvailableCrosses.js.map +1 -1
- package/dist/hooks/useBreakpoints.js +20 -10
- package/dist/hooks/useBreakpoints.js.map +1 -1
- package/dist/hooks/useBridgeInfo.d.ts +1 -1
- package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
- package/dist/hooks/useBridgeInfo.js +37 -18
- package/dist/hooks/useBridgeInfo.js.map +1 -1
- package/dist/hooks/useBridgeProtocols.js +32 -19
- package/dist/hooks/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/useCachedQueryError.js +9 -8
- package/dist/hooks/useCachedQueryError.js.map +1 -1
- package/dist/hooks/useChainMatches.js +29 -13
- package/dist/hooks/useChainMatches.js.map +1 -1
- package/dist/hooks/useClickOutside.js +63 -26
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useCurrentChain.js +8 -9
- package/dist/hooks/useCurrentChain.js.map +1 -1
- package/dist/hooks/useDebouncedInputState.js +58 -24
- package/dist/hooks/useDebouncedInputState.js.map +1 -1
- package/dist/hooks/useEIP1559Enabled.js +29 -16
- package/dist/hooks/useEIP1559Enabled.js.map +1 -1
- package/dist/hooks/useGlobalDeltaEnabled.js +40 -20
- package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.d.ts +1 -1
- package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.js +67 -23
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
- package/dist/hooks/useMinViemClient.js +105 -47
- package/dist/hooks/useMinViemClient.js.map +1 -1
- package/dist/hooks/usePartner.js +8 -7
- package/dist/hooks/usePartner.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +4 -4
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +148 -130
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSelectableDestChains.d.ts +1 -1
- package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
- package/dist/hooks/useSelectableDestChains.js +94 -35
- package/dist/hooks/useSelectableDestChains.js.map +1 -1
- package/dist/hooks/useSlippage.d.ts.map +1 -1
- package/dist/hooks/useSlippage.js +45 -19
- package/dist/hooks/useSlippage.js.map +1 -1
- package/dist/hooks/useSwitchChainWithGuard.js +68 -28
- package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -0
- package/dist/lib/constants/delta.d.ts.map +1 -1
- package/dist/lib/constants/delta.js +18 -16
- package/dist/lib/constants/delta.js.map +1 -1
- package/dist/lib/constants/index.js +9 -5
- package/dist/lib/constants/index.js.map +1 -1
- package/dist/lib/constants/mobile.js +5 -6
- package/dist/lib/constants/mobile.js.map +1 -1
- package/dist/lib/constants/otc.js +5 -11
- package/dist/lib/constants/otc.js.map +1 -1
- package/dist/lib/constants/storage.js +5 -6
- package/dist/lib/constants/storage.js.map +1 -1
- package/dist/lib/constants/time.d.ts +1 -0
- package/dist/lib/constants/time.d.ts.map +1 -1
- package/dist/lib/constants/time.js +6 -5
- package/dist/lib/constants/time.js.map +1 -1
- package/dist/lib/constants/urls.js +26 -16
- 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 +22 -11
- package/dist/lib/ipfs.js.map +1 -1
- package/dist/lib/queryClient.js +60 -40
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/tradeMode.d.ts +9 -1
- package/dist/lib/tradeMode.d.ts.map +1 -1
- package/dist/lib/tradeMode.js +8 -11
- package/dist/lib/tradeMode.js.map +1 -1
- package/dist/lib/utils/approval.js +112 -78
- package/dist/lib/utils/approval.js.map +1 -1
- package/dist/lib/utils/atomWithCompare.js +11 -7
- package/dist/lib/utils/atomWithCompare.js.map +1 -1
- package/dist/lib/utils/copyToClipboard.js +12 -11
- package/dist/lib/utils/copyToClipboard.js.map +1 -1
- package/dist/lib/utils/delta.d.ts +10 -0
- package/dist/lib/utils/delta.d.ts.map +1 -1
- package/dist/lib/utils/delta.js +74 -39
- package/dist/lib/utils/delta.js.map +1 -1
- package/dist/lib/utils/dexes.js +11 -5
- package/dist/lib/utils/dexes.js.map +1 -1
- package/dist/lib/utils/explorer.js +41 -20
- package/dist/lib/utils/explorer.js.map +1 -1
- package/dist/lib/utils/fee.js +12 -11
- package/dist/lib/utils/fee.js.map +1 -1
- package/dist/lib/utils/formatFiatPrice.js +10 -11
- package/dist/lib/utils/formatFiatPrice.js.map +1 -1
- package/dist/lib/utils/formatPercent.js +8 -9
- package/dist/lib/utils/formatPercent.js.map +1 -1
- package/dist/lib/utils/formatTokenBalance.js +32 -15
- package/dist/lib/utils/formatTokenBalance.js.map +1 -1
- package/dist/lib/utils/index.d.ts +22 -0
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +99 -53
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/logger.js +229 -160
- 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 +8 -7
- package/dist/lib/utils/mobile.js.map +1 -1
- package/dist/lib/utils/price.js +35 -22
- package/dist/lib/utils/price.js.map +1 -1
- package/dist/lib/utils/priceImpact.js +41 -29
- package/dist/lib/utils/priceImpact.js.map +1 -1
- package/dist/lib/utils/providerErrors.js +25 -26
- package/dist/lib/utils/providerErrors.js.map +1 -1
- package/dist/lib/utils/rate.js +16 -14
- package/dist/lib/utils/rate.js.map +1 -1
- package/dist/lib/utils/removeZeroDecimals.js +12 -11
- package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
- package/dist/lib/utils/savedAmountUSD.js +55 -26
- package/dist/lib/utils/savedAmountUSD.js.map +1 -1
- package/dist/lib/utils/scaleFactor.d.ts +3 -0
- package/dist/lib/utils/scaleFactor.d.ts.map +1 -0
- package/dist/lib/utils/scaleFactor.js +12 -0
- package/dist/lib/utils/scaleFactor.js.map +1 -0
- package/dist/lib/utils/slippage.js +11 -12
- package/dist/lib/utils/slippage.js.map +1 -1
- package/dist/lib/utils/theme.js +9 -5
- package/dist/lib/utils/theme.js.map +1 -1
- package/dist/lib/utils/time.d.ts +2 -0
- package/dist/lib/utils/time.d.ts.map +1 -1
- package/dist/lib/utils/time.js +16 -9
- package/dist/lib/utils/time.js.map +1 -1
- package/dist/lib/utils/toDecimal.js +22 -13
- package/dist/lib/utils/toDecimal.js.map +1 -1
- package/dist/lib/utils/toasts.d.ts +3 -4
- package/dist/lib/utils/toasts.d.ts.map +1 -1
- package/dist/lib/utils/toasts.js +50 -65
- package/dist/lib/utils/toasts.js.map +1 -1
- package/dist/lib/utils/tradeFlow.js +10 -12
- package/dist/lib/utils/tradeFlow.js.map +1 -1
- package/dist/lib/utils/transactionHandlers.js +15 -12
- package/dist/lib/utils/transactionHandlers.js.map +1 -1
- package/dist/lib/utils/tuple.js +12 -10
- package/dist/lib/utils/tuple.js.map +1 -1
- package/dist/lib/utils/twap.d.ts +24 -0
- package/dist/lib/utils/twap.d.ts.map +1 -0
- package/dist/lib/utils/twap.js +52 -0
- package/dist/lib/utils/twap.js.map +1 -0
- package/dist/lib/utils/useDateNow.js +5 -7
- package/dist/lib/utils/useDateNow.js.map +1 -1
- package/dist/lib/web3/privy/config.js +36 -15
- package/dist/lib/web3/privy/config.js.map +1 -1
- package/dist/lib/web3/wagmi/config.js +36 -25
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/lib/web3/wagmi/constants.js +27 -36
- package/dist/lib/web3/wagmi/constants.js.map +1 -1
- package/dist/lib/web3/wagmi/external.js +32 -27
- package/dist/lib/web3/wagmi/external.js.map +1 -1
- package/dist/lib/web3/wagmi/isInIframe.js +3 -5
- package/dist/lib/web3/wagmi/isInIframe.js.map +1 -1
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js +109 -61
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
- package/dist/lib/web3/wagmi/switchChain.js +21 -13
- package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
- package/dist/lib/web3/wagmi/transports.js +20 -18
- package/dist/lib/web3/wagmi/transports.js.map +1 -1
- package/dist/lib/web3/wagmi/utils.js +7 -8
- package/dist/lib/web3/wagmi/utils.js.map +1 -1
- package/dist/styles.css +3506 -1
- package/dist/tokens/blacklist.js +23 -16
- package/dist/tokens/blacklist.js.map +1 -1
- package/dist/tokens/constants.js +23 -20
- package/dist/tokens/constants.js.map +1 -1
- package/dist/tokens/constructor.js +75 -50
- package/dist/tokens/constructor.js.map +1 -1
- package/dist/tokens/defaultTokens.js +207 -203
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/hooks.js +20 -16
- package/dist/tokens/hooks.js.map +1 -1
- package/dist/tokens/lists/constants.js +30 -13
- package/dist/tokens/lists/constants.js.map +1 -1
- package/dist/tokens/lists/download.js +29 -16
- package/dist/tokens/lists/download.js.map +1 -1
- package/dist/tokens/lists/lists.json.js +4 -0
- package/dist/tokens/lists/lists.json.js.map +1 -0
- package/dist/tokens/lists/state/effects.js +30 -26
- package/dist/tokens/lists/state/effects.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsActionsAtom.js +34 -24
- package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsStateAtom.js +53 -32
- package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
- package/dist/tokens/lists/utils.js +19 -14
- package/dist/tokens/lists/utils.js.map +1 -1
- package/dist/tokens/overrides.js +173 -86
- package/dist/tokens/overrides.js.map +1 -1
- package/dist/tokens/queries.js +119 -65
- package/dist/tokens/queries.js.map +1 -1
- package/dist/tokens/stabeCoins/hooks.js +36 -17
- package/dist/tokens/stabeCoins/hooks.js.map +1 -1
- package/dist/tokens/stabeCoins/index.js +6 -5
- package/dist/tokens/stabeCoins/index.js.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.js +71 -55
- package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
- package/dist/tokens/state/allTokensByChainAtom.js +47 -36
- package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
- package/dist/tokens/state/constructTokens.js +37 -25
- package/dist/tokens/state/constructTokens.js.map +1 -1
- package/dist/tokens/state/fromListsAtom.js +42 -34
- package/dist/tokens/state/fromListsAtom.js.map +1 -1
- package/dist/tokens/state/importedTokensAtom.js +10 -8
- package/dist/tokens/state/importedTokensAtom.js.map +1 -1
- package/dist/tokens/utils/areTokensSame.js +4 -6
- package/dist/tokens/utils/areTokensSame.js.map +1 -1
- package/dist/tokens/utils/brand.js +7 -8
- package/dist/tokens/utils/brand.js.map +1 -1
- package/dist/tokens/utils/eth.js +12 -9
- package/dist/tokens/utils/eth.js.map +1 -1
- package/dist/tokens/utils/filtering.js +72 -34
- package/dist/tokens/utils/filtering.js.map +1 -1
- package/dist/tokens/utils/sets.js +16 -13
- package/dist/tokens/utils/sets.js.map +1 -1
- package/dist/tokens/utils/sorting.js +51 -33
- package/dist/tokens/utils/sorting.js.map +1 -1
- package/dist/tokens/utils/transferAmountsFromReceipt.js +345 -160
- package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
- package/dist/transactions/hash.js +30 -15
- package/dist/transactions/hash.js.map +1 -1
- package/dist/transactions/logger.js +5 -6
- package/dist/transactions/logger.js.map +1 -1
- package/dist/transactions/queries/ensureCallsStatus.js +43 -27
- package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
- package/dist/transactions/queries/ensureEstimateFeesPerGas.js +21 -14
- package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.js +85 -49
- package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
- package/dist/transactions/queries/ensureTxResponse.js +21 -14
- package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
- package/dist/transactions/state/effects/finalize.js +72 -46
- package/dist/transactions/state/effects/finalize.js.map +1 -1
- package/dist/transactions/state/hooks/useActivateEffects.js +10 -8
- 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 +68 -28
- package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.js +222 -147
- package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
- package/dist/transactions/state/transactionsAtom.js +58 -23
- package/dist/transactions/state/transactionsAtom.js.map +1 -1
- package/dist/transactions/status.js +11 -7
- package/dist/transactions/status.js.map +1 -1
- package/dist/transactions/types.d.ts +4 -4
- package/dist/transactions/types.d.ts.map +1 -1
- package/dist/transactions/utils.js +27 -26
- package/dist/transactions/utils.js.map +1 -1
- package/package.json +10 -12
- package/dist/assets/bridges/canonical-uni.js +0 -44
- package/dist/assets/bridges/canonical-uni.js.map +0 -1
- package/dist/assets/bridges/cctp.js +0 -53
- package/dist/assets/bridges/cctp.js.map +0 -1
- package/dist/assets/bridges/celer.js +0 -94
- package/dist/assets/bridges/celer.js.map +0 -1
- package/dist/assets/bridges/relay.js +0 -40
- package/dist/assets/check.js +0 -24
- package/dist/assets/check.js.map +0 -1
- package/dist/assets/chevron.js +0 -22
- package/dist/assets/chevron.js.map +0 -1
- package/dist/assets/circle-check.js +0 -20
- package/dist/assets/circle-check.js.map +0 -1
- package/dist/assets/circle-exclamation.js +0 -24
- package/dist/assets/circle-exclamation.js.map +0 -1
- package/dist/assets/copy.js +0 -24
- package/dist/assets/copy.js.map +0 -1
- package/dist/assets/delta.js +0 -20
- package/dist/assets/delta.js.map +0 -1
- package/dist/assets/ellipse.js +0 -25
- package/dist/assets/ellipse.js.map +0 -1
- package/dist/assets/external-url.js +0 -43
- package/dist/assets/external-url.js.map +0 -1
- package/dist/assets/info.js +0 -23
- package/dist/assets/info.js.map +0 -1
- package/dist/assets/logout.js +0 -20
- package/dist/assets/logout.js.map +0 -1
- package/dist/assets/market.js.map +0 -1
- package/dist/assets/price-impact.js +0 -20
- package/dist/assets/price-impact.js.map +0 -1
- package/dist/assets/receipt.js +0 -25
- package/dist/assets/receipt.js.map +0 -1
- package/dist/assets/refresh.js +0 -26
- package/dist/assets/refresh.js.map +0 -1
- package/dist/assets/slider.js +0 -20
- package/dist/assets/slider.js.map +0 -1
- package/dist/assets/speedometer.js +0 -46
- package/dist/assets/speedometer.js.map +0 -1
- package/dist/assets/spinner.js +0 -57
- package/dist/assets/spinner.js.map +0 -1
- package/dist/assets/vlr.js +0 -6
- package/dist/assets/vlr.js.map +0 -1
- package/dist/assets/wavax.js +0 -47
- package/dist/assets/wavax.js.map +0 -1
- package/dist/assets/wavax2.js +0 -6
- package/dist/assets/wavax2.js.map +0 -1
- package/dist/assets/wbnb.js +0 -47
- package/dist/assets/wbnb.js.map +0 -1
- package/dist/assets/wbnb2.js +0 -6
- package/dist/assets/wbnb2.js.map +0 -1
- package/dist/assets/weth.js +0 -49
- package/dist/assets/weth.js.map +0 -1
- package/dist/assets/weth2.js +0 -6
- package/dist/assets/weth2.js.map +0 -1
- package/dist/assets/wmatic.js +0 -69
- package/dist/assets/wmatic.js.map +0 -1
- package/dist/assets/wmatic2.js +0 -6
- package/dist/assets/wmatic2.js.map +0 -1
- package/dist/assets/wxdai.js +0 -56
- package/dist/assets/wxdai.js.map +0 -1
- package/dist/assets/wxdai2.js +0 -6
- package/dist/assets/wxdai2.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/browser-wallet.js +0 -6
- package/dist/components/web3/ConnectWallets/assets/browser-wallet.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/bscwallet.js +0 -6
- package/dist/components/web3/ConnectWallets/assets/bscwallet.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/coinbasewallet.js +0 -6
- package/dist/components/web3/ConnectWallets/assets/coinbasewallet.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/email.js +0 -6
- package/dist/components/web3/ConnectWallets/assets/email.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/ledger.js +0 -6
- package/dist/components/web3/ConnectWallets/assets/ledger.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/metamask.js +0 -6
- package/dist/components/web3/ConnectWallets/assets/metamask.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/paraswap.js +0 -6
- package/dist/components/web3/ConnectWallets/assets/paraswap.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/safe.js +0 -6
- package/dist/components/web3/ConnectWallets/assets/safe.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/trezor.js +0 -6
- package/dist/components/web3/ConnectWallets/assets/trezor.js.map +0 -1
- package/dist/components/web3/ConnectWallets/assets/walletconnect.js +0 -6
- package/dist/components/web3/ConnectWallets/assets/walletconnect.js.map +0 -1
- package/dist/components/widget/AppHeader/Activities/assets/eye-crossed.js +0 -20
- package/dist/components/widget/AppHeader/Activities/assets/eye-crossed.js.map +0 -1
- package/dist/components/widget/AppHeader/Activities/assets/eye.js +0 -20
- package/dist/components/widget/AppHeader/Activities/assets/eye.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/biswap.js +0 -6
- package/dist/components/widget/DexesList/assets/exchanges/biswap.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.js +0 -6
- package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/complusswap.js +0 -6
- package/dist/components/widget/DexesList/assets/exchanges/complusswap.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/hashflow.js +0 -6
- package/dist/components/widget/DexesList/assets/exchanges/hashflow.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/icons.js +0 -83
- package/dist/components/widget/DexesList/assets/exchanges/icons.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/quickswap.js +0 -6
- package/dist/components/widget/DexesList/assets/exchanges/quickswap.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/shibaswap.js +0 -6
- package/dist/components/widget/DexesList/assets/exchanges/shibaswap.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/uniswap.js +0 -6
- package/dist/components/widget/DexesList/assets/exchanges/uniswap.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/velora-dark.js +0 -6
- package/dist/components/widget/DexesList/assets/exchanges/velora-dark.js.map +0 -1
- package/dist/components/widget/DexesList/assets/exchanges/velora-light.js +0 -6
- package/dist/components/widget/DexesList/assets/exchanges/velora-light.js.map +0 -1
- package/dist/components/widget/DexesList/assets/gas.js +0 -20
- package/dist/components/widget/DexesList/assets/gas.js.map +0 -1
- package/dist/components/widget/DexesList/assets/unknown-dex.js +0 -6
- package/dist/components/widget/DexesList/assets/unknown-dex.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/arbitrum.js +0 -47
- package/dist/components/widget/NetworkIcon/assets/sqr/arbitrum.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/avalanche.js +0 -27
- package/dist/components/widget/NetworkIcon/assets/sqr/avalanche.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/base.js +0 -27
- package/dist/components/widget/NetworkIcon/assets/sqr/base.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/bsc.js +0 -31
- package/dist/components/widget/NetworkIcon/assets/sqr/bsc.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/eth.js +0 -67
- package/dist/components/widget/NetworkIcon/assets/sqr/eth.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/gnosis.js +0 -35
- package/dist/components/widget/NetworkIcon/assets/sqr/gnosis.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/optimism.js +0 -33
- package/dist/components/widget/NetworkIcon/assets/sqr/optimism.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/polygon.js +0 -27
- package/dist/components/widget/NetworkIcon/assets/sqr/polygon.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/unichain.js +0 -46
- package/dist/components/widget/NetworkIcon/assets/sqr/unichain.js.map +0 -1
- package/dist/components/widget/PoweredBy/assets/velora.js +0 -55
- package/dist/components/widget/PoweredBy/assets/velora.js.map +0 -1
- package/dist/components/widget/TokenBadge/assets/placeholder.js +0 -6
- package/dist/components/widget/TokenBadge/assets/placeholder.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/1_approving.js +0 -6
- package/dist/components/widget/TradeOverview/assets/1_approving.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/2_in_progress.js +0 -6
- package/dist/components/widget/TradeOverview/assets/2_in_progress.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/3_executing_step.js +0 -6
- package/dist/components/widget/TradeOverview/assets/3_executing_step.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/4_complete_step.js +0 -6
- package/dist/components/widget/TradeOverview/assets/4_complete_step.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/5_error_step.js +0 -6
- package/dist/components/widget/TradeOverview/assets/5_error_step.js.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts +0 -4
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/utils.js +0 -15
- package/dist/hooks/swap/prices/delta/queries/utils.js.map +0 -1
- package/dist/lib/web3/wagmi/supportedChains.js +0 -2
- package/dist/tokens/lists/lists.js +0 -6
- package/dist/tokens/lists/lists.js.map +0 -1
|
@@ -1,168 +1,353 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { ETH_ADDRESS_LOWERCASE
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { assert
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
import { d as distExports } from '../../_virtual/index.js';
|
|
2
|
+
import { decodeEventLog, erc20Abi } from 'viem';
|
|
3
|
+
import { getBalance, getTransactionReceipt, getTransaction, getGasPrice } from 'viem/actions';
|
|
4
|
+
import { ETH_ADDRESS_LOWERCASE } from '../constants.js';
|
|
5
|
+
import { gatherObjectsByProp } from '../../lib/utils/index.js';
|
|
6
|
+
import { useQuery } from '@tanstack/react-query';
|
|
7
|
+
import { useClient } from 'wagmi';
|
|
8
|
+
import 'react';
|
|
9
|
+
import { assert } from 'ts-essentials';
|
|
10
|
+
import { isETH } from './eth.js';
|
|
11
|
+
import { createLogger } from '../../lib/utils/logger.js';
|
|
12
|
+
import { isFilledArray } from '../../lib/utils/tuple.js';
|
|
13
|
+
|
|
14
|
+
const TRANSFER_EVENT_SIGNATURE = "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";
|
|
15
|
+
function getERC20TransferAmountsFromReceipt({
|
|
16
|
+
receipt,
|
|
17
|
+
tokens,
|
|
18
|
+
senderAddress,
|
|
19
|
+
receiverAddress
|
|
20
|
+
}) {
|
|
21
|
+
const result = gatherObjectsByProp(tokens, (token) => token.address.toLowerCase(), (token) => ({
|
|
22
|
+
token: token.address,
|
|
23
|
+
sentAmount: 0n,
|
|
24
|
+
receivedAmount: 0n
|
|
25
|
+
}));
|
|
26
|
+
const tokensSet = new Set(tokens.map((token) => token.address.toLowerCase()));
|
|
27
|
+
const fromAddressLowercase = senderAddress.toLowerCase();
|
|
28
|
+
const toAddressLowercase = receiverAddress.toLowerCase();
|
|
29
|
+
for (const log of receipt.logs) {
|
|
30
|
+
const logAddressLowercase = log.address.toLowerCase();
|
|
31
|
+
if (isFilledArray(log.topics) && log.topics[0] === TRANSFER_EVENT_SIGNATURE && tokensSet.has(logAddressLowercase)) {
|
|
32
|
+
try {
|
|
33
|
+
const decoded = decodeEventLog({
|
|
34
|
+
abi: erc20Abi,
|
|
35
|
+
data: log.data,
|
|
36
|
+
topics: log.topics,
|
|
37
|
+
eventName: "Transfer"
|
|
38
|
+
});
|
|
39
|
+
const {
|
|
40
|
+
from: fromAddress,
|
|
41
|
+
to: toAddress,
|
|
42
|
+
value
|
|
43
|
+
} = decoded.args;
|
|
44
|
+
const tokenTransfer = result[logAddressLowercase];
|
|
45
|
+
if (!tokenTransfer) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (fromAddress.toLowerCase() === fromAddressLowercase) {
|
|
49
|
+
tokenTransfer.sentAmount += value;
|
|
50
|
+
}
|
|
51
|
+
if (toAddress.toLowerCase() === toAddressLowercase) {
|
|
52
|
+
tokenTransfer.receivedAmount += value;
|
|
53
|
+
}
|
|
54
|
+
} catch (_error) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
37
60
|
}
|
|
38
|
-
|
|
39
|
-
async function
|
|
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
|
-
|
|
61
|
+
const REASONABLE_GAS_PRICE = 2700000000n;
|
|
62
|
+
async function getNativeTokenTransfer({
|
|
63
|
+
receipt,
|
|
64
|
+
senderAddress,
|
|
65
|
+
receiverAddress,
|
|
66
|
+
client
|
|
67
|
+
}) {
|
|
68
|
+
const beforeBlockNumber = receipt.blockNumber - 1n;
|
|
69
|
+
const afterBlockNumber = receipt.blockNumber;
|
|
70
|
+
const senderPromises = [
|
|
71
|
+
// Get balances before the transaction
|
|
72
|
+
getBalance(client, {
|
|
73
|
+
address: senderAddress,
|
|
74
|
+
blockNumber: beforeBlockNumber
|
|
75
|
+
}),
|
|
76
|
+
// Get balances after the transaction
|
|
77
|
+
getBalance(client, {
|
|
78
|
+
address: senderAddress,
|
|
79
|
+
blockNumber: afterBlockNumber
|
|
80
|
+
})
|
|
81
|
+
];
|
|
82
|
+
const senderIsReceiver = senderAddress.toLowerCase() === receiverAddress.toLowerCase();
|
|
83
|
+
const receiverPromises = senderIsReceiver ? (
|
|
84
|
+
// reuse sender promises if sender is receiver
|
|
85
|
+
senderPromises
|
|
86
|
+
) : [
|
|
87
|
+
// Get balances before the transaction
|
|
88
|
+
getBalance(client, {
|
|
89
|
+
address: receiverAddress,
|
|
90
|
+
blockNumber: beforeBlockNumber
|
|
91
|
+
}),
|
|
92
|
+
// Get balances after the transaction
|
|
93
|
+
getBalance(client, {
|
|
94
|
+
address: receiverAddress,
|
|
95
|
+
blockNumber: afterBlockNumber
|
|
96
|
+
})
|
|
97
|
+
];
|
|
98
|
+
const [senderBalanceBefore, senderBalanceAfter, receiverBalanceBefore, receiverBalanceAfter] = await Promise.all([...senderPromises, ...receiverPromises]);
|
|
99
|
+
let sentAmount = senderBalanceBefore - senderBalanceAfter;
|
|
100
|
+
let receivedAmount = receiverBalanceAfter - receiverBalanceBefore;
|
|
101
|
+
let gasPrice = receipt.effectiveGasPrice;
|
|
102
|
+
let from = receipt.from;
|
|
103
|
+
if (!gasPrice) {
|
|
104
|
+
const minTxData = await getMinTxDataFromHash({
|
|
105
|
+
hash: receipt.transactionHash,
|
|
106
|
+
client
|
|
107
|
+
});
|
|
108
|
+
gasPrice = minTxData.gasPrice;
|
|
109
|
+
from = minTxData.from;
|
|
110
|
+
}
|
|
111
|
+
if (!gasPrice) {
|
|
112
|
+
gasPrice = REASONABLE_GAS_PRICE;
|
|
113
|
+
}
|
|
114
|
+
if (!from) {
|
|
115
|
+
from = client.account?.address || senderAddress;
|
|
116
|
+
}
|
|
117
|
+
const gasCost = receipt.gasUsed * gasPrice;
|
|
118
|
+
if (senderAddress.toLowerCase() === from.toLowerCase()) {
|
|
119
|
+
sentAmount -= gasCost;
|
|
120
|
+
}
|
|
121
|
+
if (senderAddress.toLowerCase() === receiverAddress.toLowerCase()) {
|
|
122
|
+
receivedAmount += gasCost;
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
token: ETH_ADDRESS_LOWERCASE,
|
|
126
|
+
// Native token address
|
|
127
|
+
sentAmount: sentAmount > 0n ? sentAmount : 0n,
|
|
128
|
+
receivedAmount: receivedAmount > 0n ? receivedAmount : 0n
|
|
129
|
+
};
|
|
67
130
|
}
|
|
68
|
-
async function
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
131
|
+
async function getTokenTransfersFromReceipt({
|
|
132
|
+
receipt,
|
|
133
|
+
tokens,
|
|
134
|
+
senderAddress,
|
|
135
|
+
receiverAddress,
|
|
136
|
+
client
|
|
137
|
+
}) {
|
|
138
|
+
const tokensWithoutNative = tokens.filter((token) => !isETH(token));
|
|
139
|
+
const tokenTransfers = getERC20TransferAmountsFromReceipt({
|
|
140
|
+
receipt,
|
|
141
|
+
tokens: tokensWithoutNative,
|
|
142
|
+
senderAddress,
|
|
143
|
+
receiverAddress
|
|
144
|
+
});
|
|
145
|
+
if (tokensWithoutNative.length < tokens.length) {
|
|
146
|
+
const nativeTokenTransfer = await getNativeTokenTransfer({
|
|
147
|
+
receipt,
|
|
148
|
+
senderAddress,
|
|
149
|
+
receiverAddress,
|
|
150
|
+
client
|
|
151
|
+
});
|
|
152
|
+
tokenTransfers[ETH_ADDRESS_LOWERCASE] = nativeTokenTransfer;
|
|
153
|
+
}
|
|
154
|
+
return tokenTransfers;
|
|
81
155
|
}
|
|
82
|
-
function
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
156
|
+
function validateAmount({
|
|
157
|
+
calculatedAmount,
|
|
158
|
+
expectedAmount,
|
|
159
|
+
tolerancePercent = 15
|
|
160
|
+
// max slippage %
|
|
161
|
+
}) {
|
|
162
|
+
if (expectedAmount === 0n) {
|
|
163
|
+
return expectedAmount;
|
|
164
|
+
}
|
|
165
|
+
const tolerance = expectedAmount * BigInt(tolerancePercent) / 100n;
|
|
166
|
+
const minExpected = expectedAmount - tolerance;
|
|
167
|
+
const maxExpected = expectedAmount + tolerance;
|
|
168
|
+
if (calculatedAmount >= minExpected && calculatedAmount <= maxExpected) {
|
|
169
|
+
return calculatedAmount;
|
|
170
|
+
} else {
|
|
171
|
+
return expectedAmount;
|
|
172
|
+
}
|
|
86
173
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
174
|
+
const logger1 = createLogger("Swap:amounts:Expected");
|
|
175
|
+
const logger2 = createLogger("Swap:amounts:Detected");
|
|
176
|
+
function getTokenTransfersFromReceiptWithLimits({
|
|
177
|
+
detectedTokenTransfers,
|
|
178
|
+
expectedTokenTransfers
|
|
179
|
+
}) {
|
|
180
|
+
const validatedTokenTransfers = {};
|
|
181
|
+
logger1.once.log("Expected token transfers", expectedTokenTransfers);
|
|
182
|
+
logger2.once.log("Detected token transfers", detectedTokenTransfers);
|
|
183
|
+
for (const [tokenAddress, calculatedTransfer] of Object.entries(detectedTokenTransfers)) {
|
|
184
|
+
const expectedTransfer = expectedTokenTransfers[tokenAddress];
|
|
185
|
+
if (!expectedTransfer) {
|
|
186
|
+
validatedTokenTransfers[tokenAddress] = calculatedTransfer;
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
const validatedTransfer = {
|
|
190
|
+
token: calculatedTransfer.token,
|
|
191
|
+
sentAmount: validateAmount({
|
|
192
|
+
calculatedAmount: calculatedTransfer.sentAmount,
|
|
193
|
+
expectedAmount: expectedTransfer.sentAmount
|
|
194
|
+
}),
|
|
195
|
+
receivedAmount: validateAmount({
|
|
196
|
+
calculatedAmount: calculatedTransfer.receivedAmount,
|
|
197
|
+
expectedAmount: expectedTransfer.receivedAmount
|
|
198
|
+
})
|
|
199
|
+
};
|
|
200
|
+
validatedTokenTransfers[tokenAddress] = validatedTransfer;
|
|
201
|
+
}
|
|
202
|
+
return validatedTokenTransfers;
|
|
110
203
|
}
|
|
111
|
-
function
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
204
|
+
function useTokenTransfersFromReceipt(t0) {
|
|
205
|
+
const $ = distExports.c(24);
|
|
206
|
+
const {
|
|
207
|
+
receipt,
|
|
208
|
+
tokens,
|
|
209
|
+
senderAddress,
|
|
210
|
+
receiverAddress,
|
|
211
|
+
expectedTokenTransfers,
|
|
212
|
+
chainId
|
|
213
|
+
} = t0;
|
|
214
|
+
let t1;
|
|
215
|
+
if ($[0] !== chainId) {
|
|
216
|
+
t1 = {
|
|
217
|
+
chainId
|
|
218
|
+
};
|
|
219
|
+
$[0] = chainId;
|
|
220
|
+
$[1] = t1;
|
|
221
|
+
} else {
|
|
222
|
+
t1 = $[1];
|
|
223
|
+
}
|
|
224
|
+
const client = useClient(t1);
|
|
225
|
+
let t2;
|
|
226
|
+
if ($[2] !== expectedTokenTransfers) {
|
|
227
|
+
t2 = (data) => {
|
|
228
|
+
if (!expectedTokenTransfers) {
|
|
229
|
+
return data;
|
|
230
|
+
}
|
|
231
|
+
return getTokenTransfersFromReceiptWithLimits({
|
|
232
|
+
detectedTokenTransfers: data,
|
|
233
|
+
expectedTokenTransfers
|
|
234
|
+
});
|
|
235
|
+
};
|
|
236
|
+
$[2] = expectedTokenTransfers;
|
|
237
|
+
$[3] = t2;
|
|
238
|
+
} else {
|
|
239
|
+
t2 = $[3];
|
|
240
|
+
}
|
|
241
|
+
const select = t2;
|
|
242
|
+
const t3 = receipt?.transactionHash;
|
|
243
|
+
const t4 = receipt?.logs.length;
|
|
244
|
+
let t5;
|
|
245
|
+
if ($[4] !== senderAddress) {
|
|
246
|
+
t5 = senderAddress?.toLowerCase();
|
|
247
|
+
$[4] = senderAddress;
|
|
248
|
+
$[5] = t5;
|
|
249
|
+
} else {
|
|
250
|
+
t5 = $[5];
|
|
251
|
+
}
|
|
252
|
+
let t6;
|
|
253
|
+
if ($[6] !== receiverAddress) {
|
|
254
|
+
t6 = receiverAddress?.toLowerCase();
|
|
255
|
+
$[6] = receiverAddress;
|
|
256
|
+
$[7] = t6;
|
|
257
|
+
} else {
|
|
258
|
+
t6 = $[7];
|
|
259
|
+
}
|
|
260
|
+
let t7;
|
|
261
|
+
if ($[8] !== t3 || $[9] !== t4 || $[10] !== t5 || $[11] !== t6) {
|
|
262
|
+
t7 = ["token-transfers-from-receipt", t3, t4, t5, t6];
|
|
263
|
+
$[8] = t3;
|
|
264
|
+
$[9] = t4;
|
|
265
|
+
$[10] = t5;
|
|
266
|
+
$[11] = t6;
|
|
267
|
+
$[12] = t7;
|
|
268
|
+
} else {
|
|
269
|
+
t7 = $[12];
|
|
270
|
+
}
|
|
271
|
+
let t8;
|
|
272
|
+
if ($[13] !== client || $[14] !== receipt || $[15] !== receiverAddress || $[16] !== senderAddress || $[17] !== tokens) {
|
|
273
|
+
t8 = async () => {
|
|
274
|
+
assert(receipt, "Receipt is required");
|
|
275
|
+
assert(senderAddress, "Sender address is required");
|
|
276
|
+
assert(receiverAddress, "Receiver address is required");
|
|
277
|
+
return getTokenTransfersFromReceipt({
|
|
278
|
+
receipt,
|
|
279
|
+
tokens,
|
|
280
|
+
senderAddress,
|
|
281
|
+
receiverAddress,
|
|
282
|
+
client
|
|
283
|
+
});
|
|
284
|
+
};
|
|
285
|
+
$[13] = client;
|
|
286
|
+
$[14] = receipt;
|
|
287
|
+
$[15] = receiverAddress;
|
|
288
|
+
$[16] = senderAddress;
|
|
289
|
+
$[17] = tokens;
|
|
290
|
+
$[18] = t8;
|
|
291
|
+
} else {
|
|
292
|
+
t8 = $[18];
|
|
293
|
+
}
|
|
294
|
+
const t9 = !!receipt && receipt.logs.length > 0 && tokens.length > 0 && !!senderAddress && !!receiverAddress;
|
|
295
|
+
let t10;
|
|
296
|
+
if ($[19] !== select || $[20] !== t7 || $[21] !== t8 || $[22] !== t9) {
|
|
297
|
+
t10 = {
|
|
298
|
+
queryKey: t7,
|
|
299
|
+
queryFn: t8,
|
|
300
|
+
select,
|
|
301
|
+
enabled: t9
|
|
302
|
+
};
|
|
303
|
+
$[19] = select;
|
|
304
|
+
$[20] = t7;
|
|
305
|
+
$[21] = t8;
|
|
306
|
+
$[22] = t9;
|
|
307
|
+
$[23] = t10;
|
|
308
|
+
} else {
|
|
309
|
+
t10 = $[23];
|
|
310
|
+
}
|
|
311
|
+
return useQuery(t10);
|
|
146
312
|
}
|
|
147
|
-
async function
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
313
|
+
async function getMinTxDataFromHash({
|
|
314
|
+
hash,
|
|
315
|
+
client
|
|
316
|
+
}) {
|
|
317
|
+
let gasPrice = void 0;
|
|
318
|
+
let from;
|
|
319
|
+
try {
|
|
320
|
+
const receipt = await getTransactionReceipt(client, {
|
|
321
|
+
hash
|
|
322
|
+
});
|
|
323
|
+
from = receipt.from;
|
|
324
|
+
gasPrice = receipt.effectiveGasPrice;
|
|
325
|
+
} catch {
|
|
326
|
+
}
|
|
327
|
+
if (!gasPrice) {
|
|
328
|
+
try {
|
|
329
|
+
const tx = await getTransaction(client, {
|
|
330
|
+
hash
|
|
331
|
+
});
|
|
332
|
+
from = tx.from;
|
|
333
|
+
gasPrice = tx.gasPrice;
|
|
334
|
+
} catch {
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
if (!gasPrice) {
|
|
338
|
+
try {
|
|
339
|
+
gasPrice = await getGasPrice(client);
|
|
340
|
+
} catch {
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
if (!from) {
|
|
344
|
+
from = client.account?.address;
|
|
345
|
+
}
|
|
346
|
+
return {
|
|
347
|
+
from,
|
|
348
|
+
gasPrice
|
|
349
|
+
};
|
|
164
350
|
}
|
|
165
|
-
//#endregion
|
|
166
|
-
export { w as useTokenTransfersFromReceipt };
|
|
167
351
|
|
|
168
|
-
|
|
352
|
+
export { getERC20TransferAmountsFromReceipt, getNativeTokenTransfer, getTokenTransfersFromReceipt, getTokenTransfersFromReceiptWithLimits, useTokenTransfersFromReceipt };
|
|
353
|
+
//# sourceMappingURL=transferAmountsFromReceipt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferAmountsFromReceipt.js","names":["Address","TransactionReceipt","Client","decodeEventLog","erc20Abi","Hex","Hash","getBalance","getGasPrice","getTransaction","getTransactionReceipt","Token","ETH_ADDRESS_LOWERCASE","gatherObjectsByProp","useQuery","UseQueryResult","useClient","SupportedChainId","useCallback","assert","MarkOptional","isETH","createLogger","isFilledArray","MinRequiredReceiptLog","address","topics","data","ERC20TransferAmountsFromReceiptInput","receipt","logs","tokens","Pick","senderAddress","receiverAddress","TransferAmountsFromReceiptInput","TokenTransfers","token","sentAmount","receivedAmount","TransferAmountsFromReceiptResult","Record","TRANSFER_EVENT_SIGNATURE","getERC20TransferAmountsFromReceipt","result","toLowerCase","tokensSet","Set","map","fromAddressLowercase","toAddressLowercase","log","logAddressLowercase","has","decoded","abi","eventName","from","fromAddress","to","toAddress","value","args","tokenTransfer","_error","NativeTokenTransferInput","client","REASONABLE_GAS_PRICE","getNativeTokenTransfer","Promise","beforeBlockNumber","blockNumber","afterBlockNumber","senderPromises","const","senderIsReceiver","receiverPromises","senderBalanceBefore","senderBalanceAfter","receiverBalanceBefore","receiverBalanceAfter","all","gasPrice","effectiveGasPrice","minTxData","getMinTxDataFromHash","hash","transactionHash","account","gasCost","gasUsed","TokenTransfersFromReceiptInput","getTokenTransfersFromReceipt","tokensWithoutNative","filter","tokenTransfers","length","nativeTokenTransfer","TokenTransfersFromReceiptWithLimitsInput","detectedTokenTransfers","expectedTokenTransfers","validateAmount","calculatedAmount","expectedAmount","tolerancePercent","tolerance","BigInt","minExpected","maxExpected","logger1","logger2","getTokenTransfersFromReceiptWithLimits","validatedTokenTransfers","once","tokenAddress","calculatedTransfer","Object","entries","expectedTransfer","validatedTransfer","UseTokenTransfersFromReceiptInput","chainId","useTokenTransfersFromReceipt","t0","$","_c","t1","t2","select","t3","t4","t5","t6","t7","t8","t9","t10","queryKey","queryFn","enabled","MinTxData","GetMinTxDataFromHashInput","undefined","tx"],"sources":["../../../src/tokens/utils/transferAmountsFromReceipt.ts"],"sourcesContent":["import {\n type Address,\n type TransactionReceipt,\n type Client,\n decodeEventLog,\n erc20Abi,\n type Hex,\n type Hash,\n} from \"viem\";\nimport {\n getBalance,\n getGasPrice,\n getTransaction,\n getTransactionReceipt,\n} from \"viem/actions\";\nimport type { Token } from \"../state/types\";\nimport { ETH_ADDRESS_LOWERCASE } from \"../constants\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useClient } from \"wagmi\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useCallback } from \"react\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { isETH } from \"./eth\";\nimport { createLogger } from \"@/lib/utils/logger\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\n\ntype MinRequiredReceiptLog = {\n address: Address;\n topics: Hex[];\n data: Hex;\n};\n\ntype ERC20TransferAmountsFromReceiptInput = {\n receipt: {\n logs: MinRequiredReceiptLog[];\n };\n tokens: Pick<Token, \"address\">[];\n senderAddress: Address;\n receiverAddress: Address;\n};\n\ntype TransferAmountsFromReceiptInput = ERC20TransferAmountsFromReceiptInput & {\n receipt: MarkOptional<\n Pick<\n TransactionReceipt,\n | \"blockNumber\"\n | \"gasUsed\"\n | \"effectiveGasPrice\"\n | \"from\"\n | \"transactionHash\"\n >,\n \"effectiveGasPrice\" | \"from\"\n >;\n};\n\nexport type TokenTransfers = {\n token: Address;\n sentAmount: bigint;\n receivedAmount: bigint;\n};\n\ntype TransferAmountsFromReceiptResult = Record<Address, TokenTransfers>;\n\n// ERC20 Transfer event signature: Transfer(address,address,uint256)\nconst TRANSFER_EVENT_SIGNATURE =\n \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\";\n\n// give TransactionReceipt and tokens finds all transfers of Tokens to receiverAddress and returns amounts\nexport function getERC20TransferAmountsFromReceipt({\n receipt,\n tokens,\n senderAddress,\n receiverAddress,\n}: ERC20TransferAmountsFromReceiptInput): TransferAmountsFromReceiptResult {\n // Initialize result mapping with one entry per token\n const result: Record<Address, TokenTransfers> = gatherObjectsByProp(\n tokens,\n (token) => token.address.toLowerCase(),\n (token) => ({\n token: token.address as Address,\n sentAmount: 0n,\n receivedAmount: 0n,\n })\n );\n\n // Create a map for quick token lookup\n const tokensSet = new Set(tokens.map((token) => token.address.toLowerCase()));\n\n const fromAddressLowercase = senderAddress.toLowerCase();\n const toAddressLowercase = receiverAddress.toLowerCase();\n\n // Parse all logs in the transaction receipt\n for (const log of receipt.logs) {\n const logAddressLowercase = log.address.toLowerCase() as Address;\n // Check if this is a Transfer event from one of our tokens\n if (\n isFilledArray(log.topics) &&\n log.topics[0] === TRANSFER_EVENT_SIGNATURE &&\n tokensSet.has(logAddressLowercase)\n ) {\n try {\n // Parse the Transfer event parameters\n // topics[0] = event signature\n // topics[1] = from address (padded to 32 bytes)\n // topics[2] = to address (padded to 32 bytes)\n // data = value (uint256)\n\n const decoded = decodeEventLog({\n abi: erc20Abi,\n data: log.data,\n topics: log.topics,\n eventName: \"Transfer\",\n });\n\n const { from: fromAddress, to: toAddress, value } = decoded.args;\n\n const tokenTransfer = result[logAddressLowercase];\n if (!tokenTransfer) {\n continue;\n }\n\n // Check if the transfer is from sender to someone else\n if (fromAddress.toLowerCase() === fromAddressLowercase) {\n tokenTransfer.sentAmount += value;\n }\n // Check if the transfer is to receiver from someone else\n if (toAddress.toLowerCase() === toAddressLowercase) {\n tokenTransfer.receivedAmount += value;\n }\n } catch (_error) {\n // If parsing fails, skip this log\n continue;\n }\n }\n }\n\n return result;\n}\n\ntype NativeTokenTransferInput = {\n receipt: MarkOptional<\n Pick<\n TransactionReceipt,\n | \"blockNumber\"\n | \"gasUsed\"\n | \"effectiveGasPrice\"\n | \"from\"\n | \"transactionHash\"\n >,\n \"effectiveGasPrice\" | \"from\"\n >;\n senderAddress: Address;\n receiverAddress: Address;\n client: Client;\n};\n\n// when no gasPrice was fetched across several methods\nconst REASONABLE_GAS_PRICE = 2700000000n;\n\nexport async function getNativeTokenTransfer({\n receipt,\n senderAddress,\n receiverAddress,\n client,\n}: NativeTokenTransferInput): Promise<TokenTransfers> {\n const beforeBlockNumber = receipt.blockNumber - 1n;\n const afterBlockNumber = receipt.blockNumber;\n\n /*\n if the transaction was the only one transaction involving the sender and receiver\n in the block it was mined, and if the transaction was a SwapTransaction only,\n not some bulk transaction or a flashbot transaction, then we can consider\n that the ETH balances difference matches the ETH Swap amount.\n */\n\n const senderPromises = [\n // Get balances before the transaction\n getBalance(client, {\n address: senderAddress,\n blockNumber: beforeBlockNumber,\n }),\n // Get balances after the transaction\n getBalance(client, {\n address: senderAddress,\n blockNumber: afterBlockNumber,\n }),\n ] as const;\n\n const senderIsReceiver =\n senderAddress.toLowerCase() === receiverAddress.toLowerCase();\n\n const receiverPromises = senderIsReceiver\n ? // reuse sender promises if sender is receiver\n senderPromises\n : ([\n // Get balances before the transaction\n getBalance(client, {\n address: receiverAddress,\n blockNumber: beforeBlockNumber,\n }),\n // Get balances after the transaction\n getBalance(client, {\n address: receiverAddress,\n blockNumber: afterBlockNumber,\n }),\n ] as const);\n\n const [\n senderBalanceBefore,\n senderBalanceAfter,\n receiverBalanceBefore,\n receiverBalanceAfter,\n ] = await Promise.all([...senderPromises, ...receiverPromises]);\n\n // Calculate the differences\n let sentAmount = senderBalanceBefore - senderBalanceAfter; // difference in balances = sent ETH + paid gas\n let receivedAmount = receiverBalanceAfter - receiverBalanceBefore;\n\n let gasPrice = receipt.effectiveGasPrice;\n let from = receipt.from;\n if (!gasPrice) {\n // SendCalls receipt does not include some fields,\n // try to fetch them from the transaction hash\n const minTxData = await getMinTxDataFromHash({\n hash: receipt.transactionHash,\n client,\n });\n gasPrice = minTxData.gasPrice;\n from = minTxData.from;\n }\n\n if (!gasPrice) {\n gasPrice = REASONABLE_GAS_PRICE;\n }\n\n if (!from) {\n from = client.account?.address || senderAddress;\n }\n\n const gasCost = receipt.gasUsed * gasPrice;\n\n // if sender is the transaction sender (it may not be if a Relayer was involved)\n if (senderAddress.toLowerCase() === from.toLowerCase()) {\n // Adjust sentAmount for gas:\n // Subtract gas cost from sentAmount to get actual ETH sent (excluding gas fees)\n sentAmount -= gasCost;\n }\n\n // if sender is receiver, then need to adjust receivedAmount for gas\n if (senderAddress.toLowerCase() === receiverAddress.toLowerCase()) {\n receivedAmount += gasCost; // gas was paid out of the receivedAmount, so make this the amount before gas paid\n }\n\n return {\n token: ETH_ADDRESS_LOWERCASE, // Native token address\n sentAmount: sentAmount > 0n ? sentAmount : 0n,\n receivedAmount: receivedAmount > 0n ? receivedAmount : 0n,\n };\n}\n\ntype TokenTransfersFromReceiptInput = TransferAmountsFromReceiptInput & {\n client: Client;\n};\n\nexport async function getTokenTransfersFromReceipt({\n receipt,\n tokens,\n senderAddress,\n receiverAddress,\n client,\n}: TokenTransfersFromReceiptInput): Promise<TransferAmountsFromReceiptResult> {\n const tokensWithoutNative = tokens.filter((token) => !isETH(token));\n\n const tokenTransfers = getERC20TransferAmountsFromReceipt({\n receipt,\n tokens: tokensWithoutNative,\n senderAddress,\n receiverAddress,\n });\n\n // there was a native Token in the list\n if (tokensWithoutNative.length < tokens.length) {\n const nativeTokenTransfer = await getNativeTokenTransfer({\n receipt,\n senderAddress,\n receiverAddress,\n client,\n });\n\n tokenTransfers[ETH_ADDRESS_LOWERCASE] = nativeTokenTransfer;\n }\n\n return tokenTransfers;\n}\n\ntype TokenTransfersFromReceiptWithLimitsInput = {\n detectedTokenTransfers: Record<Address, TokenTransfers>;\n expectedTokenTransfers: Record<Address, TokenTransfers>;\n};\n\n// Helper function to validate an amount against expected value with tolerance\nfunction validateAmount({\n calculatedAmount,\n expectedAmount,\n tolerancePercent = 15, // max slippage %\n}: {\n calculatedAmount: bigint;\n expectedAmount: bigint;\n tolerancePercent?: number;\n}): bigint {\n if (expectedAmount === 0n) {\n // If expected is 0, use expected\n return expectedAmount;\n }\n\n // Check if calculated is within tolerance of expected\n const tolerance = (expectedAmount * BigInt(tolerancePercent)) / 100n;\n const minExpected = expectedAmount - tolerance;\n const maxExpected = expectedAmount + tolerance;\n\n if (calculatedAmount >= minExpected && calculatedAmount <= maxExpected) {\n return calculatedAmount;\n } else {\n return expectedAmount;\n }\n}\n\nconst logger1 = createLogger(\"Swap:amounts:Expected\");\nconst logger2 = createLogger(\"Swap:amounts:Detected\");\n\nexport function getTokenTransfersFromReceiptWithLimits({\n detectedTokenTransfers,\n expectedTokenTransfers,\n}: TokenTransfersFromReceiptWithLimitsInput): TransferAmountsFromReceiptResult {\n // Validate and adjust amounts based on expected values\n const validatedTokenTransfers: Record<Address, TokenTransfers> = {};\n\n logger1.once.log(\"Expected token transfers\", expectedTokenTransfers);\n logger2.once.log(\"Detected token transfers\", detectedTokenTransfers);\n\n for (const [tokenAddress, calculatedTransfer] of Object.entries(\n detectedTokenTransfers\n )) {\n const expectedTransfer = expectedTokenTransfers[tokenAddress as Address];\n\n if (!expectedTransfer) {\n // No expected value, use calculated\n validatedTokenTransfers[tokenAddress as Address] = calculatedTransfer;\n continue;\n }\n\n const validatedTransfer: TokenTransfers = {\n token: calculatedTransfer.token,\n sentAmount: validateAmount({\n calculatedAmount: calculatedTransfer.sentAmount,\n expectedAmount: expectedTransfer.sentAmount,\n }),\n receivedAmount: validateAmount({\n calculatedAmount: calculatedTransfer.receivedAmount,\n expectedAmount: expectedTransfer.receivedAmount,\n }),\n };\n\n validatedTokenTransfers[tokenAddress as Address] = validatedTransfer;\n }\n\n return validatedTokenTransfers;\n}\n\ntype UseTokenTransfersFromReceiptInput = TransferAmountsFromReceiptInput & {\n receipt: Pick<TransactionReceipt, \"transactionHash\">;\n chainId: SupportedChainId;\n expectedTokenTransfers: Record<Address, TokenTransfers>;\n};\n\n/**\n * @param expectedTokenTransfers - expected token transfers, if provided, will be used to validate the detected token transfers\n * @param chainId - chain id\n * @param receipt - transaction receipt\n * @param tokens - tokens\n * @param senderAddress - sender address\n * @param receiverAddress - receiver address\n * @returns - token transfers from receipt validated against expected token transfers\n * @note - ETH transfers are a best guess, and may not be accurate (falls back to expected token transfers)\n */\nexport function useTokenTransfersFromReceipt({\n receipt,\n tokens,\n senderAddress,\n receiverAddress,\n expectedTokenTransfers,\n chainId,\n}: MarkOptional<\n UseTokenTransfersFromReceiptInput,\n \"receipt\" | \"senderAddress\" | \"receiverAddress\" | \"expectedTokenTransfers\"\n>): UseQueryResult<TransferAmountsFromReceiptResult, Error> {\n const client = useClient({ chainId });\n\n const select = useCallback(\n (data: TransferAmountsFromReceiptResult) => {\n if (!expectedTokenTransfers) {\n return data;\n }\n\n return getTokenTransfersFromReceiptWithLimits({\n detectedTokenTransfers: data,\n expectedTokenTransfers,\n });\n },\n [expectedTokenTransfers]\n );\n\n return useQuery({\n queryKey: [\n \"token-transfers-from-receipt\",\n receipt?.transactionHash,\n receipt?.logs.length,\n senderAddress?.toLowerCase(),\n receiverAddress?.toLowerCase(),\n ],\n queryFn: async () => {\n assert(receipt, \"Receipt is required\");\n assert(senderAddress, \"Sender address is required\");\n assert(receiverAddress, \"Receiver address is required\");\n\n return getTokenTransfersFromReceipt({\n receipt,\n tokens,\n senderAddress,\n receiverAddress,\n client,\n });\n },\n select,\n enabled:\n !!receipt &&\n receipt.logs.length > 0 &&\n tokens.length > 0 &&\n !!senderAddress &&\n !!receiverAddress,\n });\n}\n\ntype MinTxData = {\n from?: Address;\n gasPrice?: bigint;\n};\n\ntype GetMinTxDataFromHashInput = {\n hash: Hash;\n client: Client;\n};\n\nasync function getMinTxDataFromHash({\n hash,\n client,\n}: GetMinTxDataFromHashInput): Promise<MinTxData> {\n let gasPrice: bigint | undefined = undefined;\n let from: Address | undefined;\n try {\n // likely this will return the correct receipt for the hash,\n // but in case of different RPC providers between the Wallet (which performed sendCalls),\n // and the RPC of the Client, the receipt may not be found\n const receipt = await getTransactionReceipt(client, {\n hash,\n });\n from = receipt.from;\n gasPrice = receipt.effectiveGasPrice;\n } catch {\n // can be TransactionReceiptNotFoundError\n }\n\n if (!gasPrice) {\n try {\n // very unlikely that even the transaction will not be found, but still possible\n const tx = await getTransaction(client, {\n hash,\n });\n from = tx.from;\n gasPrice = tx.gasPrice;\n } catch {\n // can be TransactionNotFoundError\n }\n }\n\n if (!gasPrice) {\n try {\n // just in case this may error\n gasPrice = await getGasPrice(client);\n } catch {\n // can be RequestError\n }\n }\n\n if (!from) {\n from = client.account?.address;\n }\n\n return {\n from,\n gasPrice,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transferAmountsFromReceipt.js","sources":["../../../src/tokens/utils/transferAmountsFromReceipt.ts"],"sourcesContent":["import {\n type Address,\n type TransactionReceipt,\n type Client,\n decodeEventLog,\n erc20Abi,\n type Hex,\n type Hash,\n} from \"viem\";\nimport {\n getBalance,\n getGasPrice,\n getTransaction,\n getTransactionReceipt,\n} from \"viem/actions\";\nimport type { Token } from \"../state/types\";\nimport { ETH_ADDRESS_LOWERCASE } from \"../constants\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useClient } from \"wagmi\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useCallback } from \"react\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { isETH } from \"./eth\";\nimport { createLogger } from \"@/lib/utils/logger\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\n\ntype MinRequiredReceiptLog = {\n address: Address;\n topics: Hex[];\n data: Hex;\n};\n\ntype ERC20TransferAmountsFromReceiptInput = {\n receipt: {\n logs: MinRequiredReceiptLog[];\n };\n tokens: Pick<Token, \"address\">[];\n senderAddress: Address;\n receiverAddress: Address;\n};\n\ntype TransferAmountsFromReceiptInput = ERC20TransferAmountsFromReceiptInput & {\n receipt: MarkOptional<\n Pick<\n TransactionReceipt,\n | \"blockNumber\"\n | \"gasUsed\"\n | \"effectiveGasPrice\"\n | \"from\"\n | \"transactionHash\"\n >,\n \"effectiveGasPrice\" | \"from\"\n >;\n};\n\nexport type TokenTransfers = {\n token: Address;\n sentAmount: bigint;\n receivedAmount: bigint;\n};\n\ntype TransferAmountsFromReceiptResult = Record<Address, TokenTransfers>;\n\n// ERC20 Transfer event signature: Transfer(address,address,uint256)\nconst TRANSFER_EVENT_SIGNATURE =\n \"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\";\n\n// give TransactionReceipt and tokens finds all transfers of Tokens to receiverAddress and returns amounts\nexport function getERC20TransferAmountsFromReceipt({\n receipt,\n tokens,\n senderAddress,\n receiverAddress,\n}: ERC20TransferAmountsFromReceiptInput): TransferAmountsFromReceiptResult {\n // Initialize result mapping with one entry per token\n const result: Record<Address, TokenTransfers> = gatherObjectsByProp(\n tokens,\n (token) => token.address.toLowerCase(),\n (token) => ({\n token: token.address as Address,\n sentAmount: 0n,\n receivedAmount: 0n,\n })\n );\n\n // Create a map for quick token lookup\n const tokensSet = new Set(tokens.map((token) => token.address.toLowerCase()));\n\n const fromAddressLowercase = senderAddress.toLowerCase();\n const toAddressLowercase = receiverAddress.toLowerCase();\n\n // Parse all logs in the transaction receipt\n for (const log of receipt.logs) {\n const logAddressLowercase = log.address.toLowerCase() as Address;\n // Check if this is a Transfer event from one of our tokens\n if (\n isFilledArray(log.topics) &&\n log.topics[0] === TRANSFER_EVENT_SIGNATURE &&\n tokensSet.has(logAddressLowercase)\n ) {\n try {\n // Parse the Transfer event parameters\n // topics[0] = event signature\n // topics[1] = from address (padded to 32 bytes)\n // topics[2] = to address (padded to 32 bytes)\n // data = value (uint256)\n\n const decoded = decodeEventLog({\n abi: erc20Abi,\n data: log.data,\n topics: log.topics,\n eventName: \"Transfer\",\n });\n\n const { from: fromAddress, to: toAddress, value } = decoded.args;\n\n const tokenTransfer = result[logAddressLowercase];\n if (!tokenTransfer) {\n continue;\n }\n\n // Check if the transfer is from sender to someone else\n if (fromAddress.toLowerCase() === fromAddressLowercase) {\n tokenTransfer.sentAmount += value;\n }\n // Check if the transfer is to receiver from someone else\n if (toAddress.toLowerCase() === toAddressLowercase) {\n tokenTransfer.receivedAmount += value;\n }\n } catch (_error) {\n // If parsing fails, skip this log\n continue;\n }\n }\n }\n\n return result;\n}\n\ntype NativeTokenTransferInput = {\n receipt: MarkOptional<\n Pick<\n TransactionReceipt,\n | \"blockNumber\"\n | \"gasUsed\"\n | \"effectiveGasPrice\"\n | \"from\"\n | \"transactionHash\"\n >,\n \"effectiveGasPrice\" | \"from\"\n >;\n senderAddress: Address;\n receiverAddress: Address;\n client: Client;\n};\n\n// when no gasPrice was fetched across several methods\nconst REASONABLE_GAS_PRICE = 2700000000n;\n\nexport async function getNativeTokenTransfer({\n receipt,\n senderAddress,\n receiverAddress,\n client,\n}: NativeTokenTransferInput): Promise<TokenTransfers> {\n const beforeBlockNumber = receipt.blockNumber - 1n;\n const afterBlockNumber = receipt.blockNumber;\n\n /*\n if the transaction was the only one transaction involving the sender and receiver\n in the block it was mined, and if the transaction was a SwapTransaction only,\n not some bulk transaction or a flashbot transaction, then we can consider\n that the ETH balances difference matches the ETH Swap amount.\n */\n\n const senderPromises = [\n // Get balances before the transaction\n getBalance(client, {\n address: senderAddress,\n blockNumber: beforeBlockNumber,\n }),\n // Get balances after the transaction\n getBalance(client, {\n address: senderAddress,\n blockNumber: afterBlockNumber,\n }),\n ] as const;\n\n const senderIsReceiver =\n senderAddress.toLowerCase() === receiverAddress.toLowerCase();\n\n const receiverPromises = senderIsReceiver\n ? // reuse sender promises if sender is receiver\n senderPromises\n : ([\n // Get balances before the transaction\n getBalance(client, {\n address: receiverAddress,\n blockNumber: beforeBlockNumber,\n }),\n // Get balances after the transaction\n getBalance(client, {\n address: receiverAddress,\n blockNumber: afterBlockNumber,\n }),\n ] as const);\n\n const [\n senderBalanceBefore,\n senderBalanceAfter,\n receiverBalanceBefore,\n receiverBalanceAfter,\n ] = await Promise.all([...senderPromises, ...receiverPromises]);\n\n // Calculate the differences\n let sentAmount = senderBalanceBefore - senderBalanceAfter; // difference in balances = sent ETH + paid gas\n let receivedAmount = receiverBalanceAfter - receiverBalanceBefore;\n\n let gasPrice = receipt.effectiveGasPrice;\n let from = receipt.from;\n if (!gasPrice) {\n // SendCalls receipt does not include some fields,\n // try to fetch them from the transaction hash\n const minTxData = await getMinTxDataFromHash({\n hash: receipt.transactionHash,\n client,\n });\n gasPrice = minTxData.gasPrice;\n from = minTxData.from;\n }\n\n if (!gasPrice) {\n gasPrice = REASONABLE_GAS_PRICE;\n }\n\n if (!from) {\n from = client.account?.address || senderAddress;\n }\n\n const gasCost = receipt.gasUsed * gasPrice;\n\n // if sender is the transaction sender (it may not be if a Relayer was involved)\n if (senderAddress.toLowerCase() === from.toLowerCase()) {\n // Adjust sentAmount for gas:\n // Subtract gas cost from sentAmount to get actual ETH sent (excluding gas fees)\n sentAmount -= gasCost;\n }\n\n // if sender is receiver, then need to adjust receivedAmount for gas\n if (senderAddress.toLowerCase() === receiverAddress.toLowerCase()) {\n receivedAmount += gasCost; // gas was paid out of the receivedAmount, so make this the amount before gas paid\n }\n\n return {\n token: ETH_ADDRESS_LOWERCASE, // Native token address\n sentAmount: sentAmount > 0n ? sentAmount : 0n,\n receivedAmount: receivedAmount > 0n ? receivedAmount : 0n,\n };\n}\n\ntype TokenTransfersFromReceiptInput = TransferAmountsFromReceiptInput & {\n client: Client;\n};\n\nexport async function getTokenTransfersFromReceipt({\n receipt,\n tokens,\n senderAddress,\n receiverAddress,\n client,\n}: TokenTransfersFromReceiptInput): Promise<TransferAmountsFromReceiptResult> {\n const tokensWithoutNative = tokens.filter((token) => !isETH(token));\n\n const tokenTransfers = getERC20TransferAmountsFromReceipt({\n receipt,\n tokens: tokensWithoutNative,\n senderAddress,\n receiverAddress,\n });\n\n // there was a native Token in the list\n if (tokensWithoutNative.length < tokens.length) {\n const nativeTokenTransfer = await getNativeTokenTransfer({\n receipt,\n senderAddress,\n receiverAddress,\n client,\n });\n\n tokenTransfers[ETH_ADDRESS_LOWERCASE] = nativeTokenTransfer;\n }\n\n return tokenTransfers;\n}\n\ntype TokenTransfersFromReceiptWithLimitsInput = {\n detectedTokenTransfers: Record<Address, TokenTransfers>;\n expectedTokenTransfers: Record<Address, TokenTransfers>;\n};\n\n// Helper function to validate an amount against expected value with tolerance\nfunction validateAmount({\n calculatedAmount,\n expectedAmount,\n tolerancePercent = 15, // max slippage %\n}: {\n calculatedAmount: bigint;\n expectedAmount: bigint;\n tolerancePercent?: number;\n}): bigint {\n if (expectedAmount === 0n) {\n // If expected is 0, use expected\n return expectedAmount;\n }\n\n // Check if calculated is within tolerance of expected\n const tolerance = (expectedAmount * BigInt(tolerancePercent)) / 100n;\n const minExpected = expectedAmount - tolerance;\n const maxExpected = expectedAmount + tolerance;\n\n if (calculatedAmount >= minExpected && calculatedAmount <= maxExpected) {\n return calculatedAmount;\n } else {\n return expectedAmount;\n }\n}\n\nconst logger1 = createLogger(\"Swap:amounts:Expected\");\nconst logger2 = createLogger(\"Swap:amounts:Detected\");\n\nexport function getTokenTransfersFromReceiptWithLimits({\n detectedTokenTransfers,\n expectedTokenTransfers,\n}: TokenTransfersFromReceiptWithLimitsInput): TransferAmountsFromReceiptResult {\n // Validate and adjust amounts based on expected values\n const validatedTokenTransfers: Record<Address, TokenTransfers> = {};\n\n logger1.once.log(\"Expected token transfers\", expectedTokenTransfers);\n logger2.once.log(\"Detected token transfers\", detectedTokenTransfers);\n\n for (const [tokenAddress, calculatedTransfer] of Object.entries(\n detectedTokenTransfers\n )) {\n const expectedTransfer = expectedTokenTransfers[tokenAddress as Address];\n\n if (!expectedTransfer) {\n // No expected value, use calculated\n validatedTokenTransfers[tokenAddress as Address] = calculatedTransfer;\n continue;\n }\n\n const validatedTransfer: TokenTransfers = {\n token: calculatedTransfer.token,\n sentAmount: validateAmount({\n calculatedAmount: calculatedTransfer.sentAmount,\n expectedAmount: expectedTransfer.sentAmount,\n }),\n receivedAmount: validateAmount({\n calculatedAmount: calculatedTransfer.receivedAmount,\n expectedAmount: expectedTransfer.receivedAmount,\n }),\n };\n\n validatedTokenTransfers[tokenAddress as Address] = validatedTransfer;\n }\n\n return validatedTokenTransfers;\n}\n\ntype UseTokenTransfersFromReceiptInput = TransferAmountsFromReceiptInput & {\n receipt: Pick<TransactionReceipt, \"transactionHash\">;\n chainId: SupportedChainId;\n expectedTokenTransfers: Record<Address, TokenTransfers>;\n};\n\n/**\n * @param expectedTokenTransfers - expected token transfers, if provided, will be used to validate the detected token transfers\n * @param chainId - chain id\n * @param receipt - transaction receipt\n * @param tokens - tokens\n * @param senderAddress - sender address\n * @param receiverAddress - receiver address\n * @returns - token transfers from receipt validated against expected token transfers\n * @note - ETH transfers are a best guess, and may not be accurate (falls back to expected token transfers)\n */\nexport function useTokenTransfersFromReceipt({\n receipt,\n tokens,\n senderAddress,\n receiverAddress,\n expectedTokenTransfers,\n chainId,\n}: MarkOptional<\n UseTokenTransfersFromReceiptInput,\n \"receipt\" | \"senderAddress\" | \"receiverAddress\" | \"expectedTokenTransfers\"\n>): UseQueryResult<TransferAmountsFromReceiptResult, Error> {\n const client = useClient({ chainId });\n\n const select = useCallback(\n (data: TransferAmountsFromReceiptResult) => {\n if (!expectedTokenTransfers) {\n return data;\n }\n\n return getTokenTransfersFromReceiptWithLimits({\n detectedTokenTransfers: data,\n expectedTokenTransfers,\n });\n },\n [expectedTokenTransfers]\n );\n\n return useQuery({\n queryKey: [\n \"token-transfers-from-receipt\",\n receipt?.transactionHash,\n receipt?.logs.length,\n senderAddress?.toLowerCase(),\n receiverAddress?.toLowerCase(),\n ],\n queryFn: async () => {\n assert(receipt, \"Receipt is required\");\n assert(senderAddress, \"Sender address is required\");\n assert(receiverAddress, \"Receiver address is required\");\n\n return getTokenTransfersFromReceipt({\n receipt,\n tokens,\n senderAddress,\n receiverAddress,\n client,\n });\n },\n select,\n enabled:\n !!receipt &&\n receipt.logs.length > 0 &&\n tokens.length > 0 &&\n !!senderAddress &&\n !!receiverAddress,\n });\n}\n\ntype MinTxData = {\n from?: Address;\n gasPrice?: bigint;\n};\n\ntype GetMinTxDataFromHashInput = {\n hash: Hash;\n client: Client;\n};\n\nasync function getMinTxDataFromHash({\n hash,\n client,\n}: GetMinTxDataFromHashInput): Promise<MinTxData> {\n let gasPrice: bigint | undefined = undefined;\n let from: Address | undefined;\n try {\n // likely this will return the correct receipt for the hash,\n // but in case of different RPC providers between the Wallet (which performed sendCalls),\n // and the RPC of the Client, the receipt may not be found\n const receipt = await getTransactionReceipt(client, {\n hash,\n });\n from = receipt.from;\n gasPrice = receipt.effectiveGasPrice;\n } catch {\n // can be TransactionReceiptNotFoundError\n }\n\n if (!gasPrice) {\n try {\n // very unlikely that even the transaction will not be found, but still possible\n const tx = await getTransaction(client, {\n hash,\n });\n from = tx.from;\n gasPrice = tx.gasPrice;\n } catch {\n // can be TransactionNotFoundError\n }\n }\n\n if (!gasPrice) {\n try {\n // just in case this may error\n gasPrice = await getGasPrice(client);\n } catch {\n // can be RequestError\n }\n }\n\n if (!from) {\n from = client.account?.address;\n }\n\n return {\n from,\n gasPrice,\n };\n}\n"],"names":["TRANSFER_EVENT_SIGNATURE","getERC20TransferAmountsFromReceipt","receipt","tokens","senderAddress","receiverAddress","result","gatherObjectsByProp","token","address","toLowerCase","sentAmount","receivedAmount","tokensSet","Set","map","fromAddressLowercase","toAddressLowercase","log","logs","logAddressLowercase","isFilledArray","topics","has","decoded","decodeEventLog","abi","erc20Abi","data","eventName","from","fromAddress","to","toAddress","value","args","tokenTransfer","_error","REASONABLE_GAS_PRICE","getNativeTokenTransfer","client","beforeBlockNumber","blockNumber","afterBlockNumber","senderPromises","getBalance","senderIsReceiver","receiverPromises","senderBalanceBefore","senderBalanceAfter","receiverBalanceBefore","receiverBalanceAfter","Promise","all","gasPrice","effectiveGasPrice","minTxData","getMinTxDataFromHash","hash","transactionHash","account","gasCost","gasUsed","ETH_ADDRESS_LOWERCASE","getTokenTransfersFromReceipt","tokensWithoutNative","filter","isETH","tokenTransfers","length","nativeTokenTransfer","validateAmount","calculatedAmount","expectedAmount","tolerancePercent","tolerance","BigInt","minExpected","maxExpected","logger1","createLogger","logger2","getTokenTransfersFromReceiptWithLimits","detectedTokenTransfers","expectedTokenTransfers","validatedTokenTransfers","once","tokenAddress","calculatedTransfer","Object","entries","expectedTransfer","validatedTransfer","useTokenTransfersFromReceipt","t0","$","_c","chainId","t1","useClient","t2","select","t3","t4","t5","t6","t7","t8","assert","t9","t10","queryKey","queryFn","enabled","useQuery","undefined","getTransactionReceipt","tx","getTransaction","getGasPrice"],"mappings":"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"}
|