thirdweb 5.99.3 → 5.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/bridge/Buy.js +17 -13
- package/dist/cjs/bridge/Buy.js.map +1 -1
- package/dist/cjs/bridge/Chains.js +2 -2
- package/dist/cjs/bridge/Chains.js.map +1 -1
- package/dist/cjs/bridge/Onramp.js +152 -0
- package/dist/cjs/bridge/Onramp.js.map +1 -0
- package/dist/cjs/bridge/OnrampStatus.js +78 -0
- package/dist/cjs/bridge/OnrampStatus.js.map +1 -0
- package/dist/cjs/bridge/Routes.js +2 -2
- package/dist/cjs/bridge/Routes.js.map +1 -1
- package/dist/cjs/bridge/Sell.js +18 -14
- package/dist/cjs/bridge/Sell.js.map +1 -1
- package/dist/cjs/bridge/Status.js +15 -2
- package/dist/cjs/bridge/Status.js.map +1 -1
- package/dist/cjs/bridge/Transfer.js +229 -0
- package/dist/cjs/bridge/Transfer.js.map +1 -0
- package/dist/cjs/bridge/index.js +3 -1
- package/dist/cjs/bridge/index.js.map +1 -1
- package/dist/cjs/bridge/types/BridgeAction.js +3 -0
- package/dist/cjs/bridge/types/BridgeAction.js.map +1 -0
- package/dist/cjs/bridge/types/Token.js +3 -0
- package/dist/cjs/bridge/types/Token.js.map +1 -0
- package/dist/cjs/extensions/ens/resolve-l2-name.js +0 -2
- package/dist/cjs/extensions/ens/resolve-l2-name.js.map +1 -1
- package/dist/cjs/pay/buyWithCrypto/getQuote.js +159 -53
- package/dist/cjs/pay/buyWithCrypto/getQuote.js.map +1 -1
- package/dist/cjs/pay/buyWithCrypto/getStatus.js +160 -14
- package/dist/cjs/pay/buyWithCrypto/getStatus.js.map +1 -1
- package/dist/cjs/pay/buyWithCrypto/getTransfer.js +95 -37
- package/dist/cjs/pay/buyWithCrypto/getTransfer.js.map +1 -1
- package/dist/cjs/pay/buyWithFiat/getQuote.js +129 -33
- package/dist/cjs/pay/buyWithFiat/getQuote.js.map +1 -1
- package/dist/cjs/pay/buyWithFiat/getStatus.js +71 -20
- package/dist/cjs/pay/buyWithFiat/getStatus.js.map +1 -1
- package/dist/cjs/pay/utils/commonTypes.js +1 -1
- package/dist/cjs/pay/utils/commonTypes.js.map +1 -1
- package/dist/cjs/pay/utils/definitions.js +1 -43
- package/dist/cjs/pay/utils/definitions.js.map +1 -1
- package/dist/cjs/react/core/hooks/pay/useBuyWithFiatStatus.js +1 -3
- package/dist/cjs/react/core/hooks/pay/useBuyWithFiatStatus.js.map +1 -1
- package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js +44 -38
- package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/cjs/react/core/utils/wallet.js +15 -0
- package/dist/cjs/react/core/utils/wallet.js.map +1 -1
- package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js +1 -1
- package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js +1 -23
- package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/locale/en.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/locale/en.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +0 -177
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js +2 -10
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +5 -8
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js +0 -15
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/statusMeta.js +0 -60
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/statusMeta.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js +3 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.js +4 -4
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +83 -34
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
- package/dist/cjs/react/web/ui/TransactionButton/DepositScreen.js +133 -0
- package/dist/cjs/react/web/ui/TransactionButton/DepositScreen.js.map +1 -0
- package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js +4 -3
- package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js +9 -1
- package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
- package/dist/cjs/utils/any-evm/zksync/constants.js +1 -0
- package/dist/cjs/utils/any-evm/zksync/constants.js.map +1 -1
- package/dist/cjs/utils/domains.js +3 -0
- package/dist/cjs/utils/domains.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/bridge/Buy.js +17 -13
- package/dist/esm/bridge/Buy.js.map +1 -1
- package/dist/esm/bridge/Chains.js +2 -2
- package/dist/esm/bridge/Chains.js.map +1 -1
- package/dist/esm/bridge/Onramp.js +147 -0
- package/dist/esm/bridge/Onramp.js.map +1 -0
- package/dist/esm/bridge/OnrampStatus.js +75 -0
- package/dist/esm/bridge/OnrampStatus.js.map +1 -0
- package/dist/esm/bridge/Routes.js +2 -2
- package/dist/esm/bridge/Routes.js.map +1 -1
- package/dist/esm/bridge/Sell.js +18 -14
- package/dist/esm/bridge/Sell.js.map +1 -1
- package/dist/esm/bridge/Status.js +15 -2
- package/dist/esm/bridge/Status.js.map +1 -1
- package/dist/esm/bridge/Transfer.js +226 -0
- package/dist/esm/bridge/Transfer.js.map +1 -0
- package/dist/esm/bridge/index.js +2 -0
- package/dist/esm/bridge/index.js.map +1 -1
- package/dist/esm/bridge/types/BridgeAction.js +2 -0
- package/dist/esm/bridge/types/BridgeAction.js.map +1 -0
- package/dist/esm/bridge/types/Token.js +2 -0
- package/dist/esm/bridge/types/Token.js.map +1 -0
- package/dist/esm/extensions/ens/resolve-l2-name.js +0 -2
- package/dist/esm/extensions/ens/resolve-l2-name.js.map +1 -1
- package/dist/esm/pay/buyWithCrypto/getQuote.js +159 -53
- package/dist/esm/pay/buyWithCrypto/getQuote.js.map +1 -1
- package/dist/esm/pay/buyWithCrypto/getStatus.js +160 -14
- package/dist/esm/pay/buyWithCrypto/getStatus.js.map +1 -1
- package/dist/esm/pay/buyWithCrypto/getTransfer.js +95 -37
- package/dist/esm/pay/buyWithCrypto/getTransfer.js.map +1 -1
- package/dist/esm/pay/buyWithFiat/getQuote.js +129 -33
- package/dist/esm/pay/buyWithFiat/getQuote.js.map +1 -1
- package/dist/esm/pay/buyWithFiat/getStatus.js +71 -20
- package/dist/esm/pay/buyWithFiat/getStatus.js.map +1 -1
- package/dist/esm/pay/utils/commonTypes.js +1 -1
- package/dist/esm/pay/utils/commonTypes.js.map +1 -1
- package/dist/esm/pay/utils/definitions.js +0 -35
- package/dist/esm/pay/utils/definitions.js.map +1 -1
- package/dist/esm/react/core/hooks/pay/useBuyWithFiatStatus.js +1 -3
- package/dist/esm/react/core/hooks/pay/useBuyWithFiatStatus.js.map +1 -1
- package/dist/esm/react/core/hooks/transaction/useSendTransaction.js +44 -38
- package/dist/esm/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/esm/react/core/utils/wallet.js +15 -0
- package/dist/esm/react/core/utils/wallet.js.map +1 -1
- package/dist/esm/react/web/hooks/transaction/useSendTransaction.js +1 -1
- package/dist/esm/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js +1 -23
- package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/locale/en.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/locale/en.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +4 -180
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js +2 -10
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +5 -8
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js +2 -16
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/statusMeta.js +0 -59
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/statusMeta.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js +3 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +84 -34
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
- package/dist/esm/react/web/ui/TransactionButton/DepositScreen.js +130 -0
- package/dist/esm/react/web/ui/TransactionButton/DepositScreen.js.map +1 -0
- package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js +4 -3
- package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -1
- package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js +9 -1
- package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
- package/dist/esm/utils/any-evm/zksync/constants.js +1 -0
- package/dist/esm/utils/any-evm/zksync/constants.js.map +1 -1
- package/dist/esm/utils/domains.js +3 -0
- package/dist/esm/utils/domains.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/bridge/Buy.d.ts +11 -9
- package/dist/types/bridge/Buy.d.ts.map +1 -1
- package/dist/types/bridge/Onramp.d.ts +123 -0
- package/dist/types/bridge/Onramp.d.ts.map +1 -0
- package/dist/types/bridge/OnrampStatus.d.ts +108 -0
- package/dist/types/bridge/OnrampStatus.d.ts.map +1 -0
- package/dist/types/bridge/Sell.d.ts +13 -11
- package/dist/types/bridge/Sell.d.ts.map +1 -1
- package/dist/types/bridge/Status.d.ts.map +1 -1
- package/dist/types/bridge/Transfer.d.ts +199 -0
- package/dist/types/bridge/Transfer.d.ts.map +1 -0
- package/dist/types/bridge/index.d.ts +7 -3
- package/dist/types/bridge/index.d.ts.map +1 -1
- package/dist/types/bridge/types/BridgeAction.d.ts +2 -0
- package/dist/types/bridge/types/BridgeAction.d.ts.map +1 -0
- package/dist/types/bridge/types/Quote.d.ts +3 -65
- package/dist/types/bridge/types/Quote.d.ts.map +1 -1
- package/dist/types/bridge/types/Route.d.ts +38 -17
- package/dist/types/bridge/types/Route.d.ts.map +1 -1
- package/dist/types/bridge/types/Status.d.ts +15 -0
- package/dist/types/bridge/types/Status.d.ts.map +1 -1
- package/dist/types/bridge/types/Token.d.ts +11 -0
- package/dist/types/bridge/types/Token.d.ts.map +1 -0
- package/dist/types/extensions/ens/resolve-l2-name.d.ts.map +1 -1
- package/dist/types/pay/buyWithCrypto/commonTypes.d.ts +0 -9
- package/dist/types/pay/buyWithCrypto/commonTypes.d.ts.map +1 -1
- package/dist/types/pay/buyWithCrypto/getQuote.d.ts.map +1 -1
- package/dist/types/pay/buyWithCrypto/getStatus.d.ts +1 -1
- package/dist/types/pay/buyWithCrypto/getStatus.d.ts.map +1 -1
- package/dist/types/pay/buyWithCrypto/getTransfer.d.ts.map +1 -1
- package/dist/types/pay/buyWithFiat/getQuote.d.ts.map +1 -1
- package/dist/types/pay/buyWithFiat/getStatus.d.ts +1 -12
- package/dist/types/pay/buyWithFiat/getStatus.d.ts.map +1 -1
- package/dist/types/pay/utils/commonTypes.d.ts +1 -1
- package/dist/types/pay/utils/commonTypes.d.ts.map +1 -1
- package/dist/types/pay/utils/definitions.d.ts +0 -35
- package/dist/types/pay/utils/definitions.d.ts.map +1 -1
- package/dist/types/react/core/hooks/pay/useBuyWithFiatStatus.d.ts.map +1 -1
- package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts +1 -0
- package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts.map +1 -1
- package/dist/types/react/core/utils/wallet.d.ts.map +1 -1
- package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/TransactionsScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.d.ts +1 -30
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts +2 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.d.ts +2 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.d.ts +0 -5
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/statusMeta.d.ts +1 -3
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/statusMeta.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.d.ts +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.d.ts +8 -4
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.d.ts.map +1 -1
- package/dist/types/react/web/ui/TransactionButton/DepositScreen.d.ts +15 -0
- package/dist/types/react/web/ui/TransactionButton/DepositScreen.d.ts.map +1 -0
- package/dist/types/react/web/ui/TransactionButton/ExecutingScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts +1 -0
- package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts.map +1 -1
- package/dist/types/utils/any-evm/zksync/constants.d.ts.map +1 -1
- package/dist/types/utils/domains.d.ts +6 -0
- package/dist/types/utils/domains.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/package.json +15 -15
- package/src/bridge/Buy.ts +19 -13
- package/src/bridge/Chains.ts +2 -2
- package/src/bridge/Onramp.test.ts +118 -0
- package/src/bridge/Onramp.ts +244 -0
- package/src/bridge/OnrampStatus.ts +133 -0
- package/src/bridge/Routes.ts +2 -2
- package/src/bridge/Sell.ts +20 -14
- package/src/bridge/Status.ts +15 -2
- package/src/bridge/Transfer.test.ts +76 -0
- package/src/bridge/Transfer.ts +270 -0
- package/src/bridge/index.ts +12 -3
- package/src/bridge/types/BridgeAction.ts +1 -0
- package/src/bridge/types/Quote.ts +3 -65
- package/src/bridge/types/Route.ts +42 -17
- package/src/bridge/types/Status.ts +15 -1
- package/src/bridge/types/Token.ts +11 -0
- package/src/extensions/ens/resolve-l2-name.ts +0 -2
- package/src/pay/buyWithCrypto/commonTypes.ts +0 -10
- package/src/pay/buyWithCrypto/getQuote.ts +210 -100
- package/src/pay/buyWithCrypto/getStatus.ts +213 -20
- package/src/pay/buyWithCrypto/getTransfer.ts +129 -61
- package/src/pay/buyWithFiat/getQuote.ts +184 -33
- package/src/pay/buyWithFiat/getStatus.ts +101 -42
- package/src/pay/convert/cryptoToFiat.test.ts +7 -5
- package/src/pay/convert/fiatToCrypto.test.ts +6 -4
- package/src/pay/utils/commonTypes.ts +1 -1
- package/src/pay/utils/definitions.ts +0 -48
- package/src/react/core/hooks/pay/useBuyWithFiatStatus.ts +0 -2
- package/src/react/core/hooks/transaction/useSendTransaction.ts +53 -52
- package/src/react/core/utils/wallet.ts +15 -0
- package/src/react/web/hooks/transaction/useSendTransaction.tsx +1 -0
- package/src/react/web/ui/ConnectWallet/TransactionsScreen.tsx +5 -64
- package/src/react/web/ui/ConnectWallet/locale/en.ts +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +3 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.tsx +3 -510
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.tsx +2 -12
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/types.ts +2 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.ts +19 -20
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.tsx +1 -37
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/statusMeta.test.ts +1 -95
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/statusMeta.ts +0 -69
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.tsx +3 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/fetchBalancesForWallet.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/pendingSwapTx.ts +1 -3
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.ts +118 -63
- package/src/react/web/ui/TransactionButton/DepositScreen.tsx +295 -0
- package/src/react/web/ui/TransactionButton/ExecutingScreen.tsx +4 -5
- package/src/react/web/ui/TransactionButton/TransactionModal.tsx +20 -1
- package/src/utils/any-evm/zksync/constants.ts +1 -0
- package/src/utils/domain.test.ts +1 -0
- package/src/utils/domains.ts +8 -0
- package/src/version.ts +1 -1
- package/dist/cjs/bridge/constants.js +0 -5
- package/dist/cjs/bridge/constants.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js +0 -37
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js +0 -86
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js +0 -25
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js +0 -54
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.js +0 -52
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js +0 -81
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js +0 -17
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.js +0 -138
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.js.map +0 -1
- package/dist/esm/bridge/constants.js +0 -2
- package/dist/esm/bridge/constants.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js +0 -34
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js +0 -83
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js +0 -22
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js +0 -51
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.js +0 -48
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js +0 -78
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js +0 -14
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.js +0 -135
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.js.map +0 -1
- package/dist/types/bridge/constants.d.ts +0 -2
- package/dist/types/bridge/constants.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.d.ts +0 -26
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.d.ts +0 -16
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.d.ts +0 -23
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.d.ts +0 -10
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.d.ts +0 -9
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.d.ts +0 -14
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.d.ts +0 -14
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.d.ts +0 -21
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.d.ts.map +0 -1
- package/src/bridge/constants.ts +0 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.tsx +0 -142
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.tsx +0 -170
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.tsx +0 -63
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.tsx +0 -163
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistoryButton.tsx +0 -127
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.tsx +0 -138
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.tsx +0 -45
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/useBuyTransactionsToShow.ts +0 -191
@@ -13,50 +13,14 @@ import {
|
|
13
13
|
useChainExplorers,
|
14
14
|
useChainName,
|
15
15
|
} from "../../../../../../core/hooks/others/useChainQuery.js";
|
16
|
-
import { useBuyWithCryptoStatus } from "../../../../../../core/hooks/pay/useBuyWithCryptoStatus.js";
|
17
16
|
import { Spacer } from "../../../../components/Spacer.js";
|
18
|
-
import { Container, Line
|
17
|
+
import { Container, Line } from "../../../../components/basic.js";
|
19
18
|
import { ButtonLink } from "../../../../components/buttons.js";
|
20
19
|
import { Text } from "../../../../components/text.js";
|
21
20
|
import { WalletRow } from "../swap/WalletRow.js";
|
22
21
|
import { TokenInfoRow } from "./TokenInfoRow.js";
|
23
22
|
import { type StatusMeta, getBuyWithCryptoStatusMeta } from "./statusMeta.js";
|
24
23
|
|
25
|
-
export function SwapDetailsScreen(props: {
|
26
|
-
status: ValidBuyWithCryptoStatus;
|
27
|
-
onBack: () => void;
|
28
|
-
client: ThirdwebClient;
|
29
|
-
}) {
|
30
|
-
const { status: initialStatus, client } = props;
|
31
|
-
const statusQuery = useBuyWithCryptoStatus(
|
32
|
-
initialStatus.source?.transactionHash
|
33
|
-
? {
|
34
|
-
client: client,
|
35
|
-
transactionHash: initialStatus.source.transactionHash,
|
36
|
-
chainId: initialStatus.source.token.chainId,
|
37
|
-
}
|
38
|
-
: undefined,
|
39
|
-
);
|
40
|
-
|
41
|
-
const status: ValidBuyWithCryptoStatus =
|
42
|
-
(statusQuery.data?.status !== "NOT_FOUND" ? statusQuery.data : undefined) ||
|
43
|
-
initialStatus;
|
44
|
-
|
45
|
-
return (
|
46
|
-
<Container>
|
47
|
-
<Container p="lg">
|
48
|
-
<ModalHeader title="Transaction Details" onBack={props.onBack} />
|
49
|
-
</Container>
|
50
|
-
|
51
|
-
<Line />
|
52
|
-
|
53
|
-
<Container p="lg">
|
54
|
-
<SwapTxDetailsTable type="status" status={status} client={client} />
|
55
|
-
</Container>
|
56
|
-
</Container>
|
57
|
-
);
|
58
|
-
}
|
59
|
-
|
60
24
|
type SwapTxDetailsData = {
|
61
25
|
fromToken: {
|
62
26
|
chainId: number;
|
@@ -1,10 +1,6 @@
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
2
2
|
import type { BuyWithCryptoStatus } from "../../../../../../../pay/buyWithCrypto/getStatus.js";
|
3
|
-
import
|
4
|
-
import {
|
5
|
-
getBuyWithCryptoStatusMeta,
|
6
|
-
getBuyWithFiatStatusMeta,
|
7
|
-
} from "./statusMeta.js";
|
3
|
+
import { getBuyWithCryptoStatusMeta } from "./statusMeta.js";
|
8
4
|
|
9
5
|
describe("getBuyWithCryptoStatusMeta", () => {
|
10
6
|
it('returns "Unknown" for NOT_FOUND status', () => {
|
@@ -82,93 +78,3 @@ describe("getBuyWithCryptoStatusMeta", () => {
|
|
82
78
|
});
|
83
79
|
});
|
84
80
|
});
|
85
|
-
|
86
|
-
describe("getBuyWithFiatStatusMeta", () => {
|
87
|
-
it('returns "Incomplete" for CRYPTO_SWAP_FALLBACK status', () => {
|
88
|
-
const result = getBuyWithFiatStatusMeta({
|
89
|
-
status: "CRYPTO_SWAP_FALLBACK",
|
90
|
-
} as BuyWithFiatStatus);
|
91
|
-
expect(result).toEqual({
|
92
|
-
status: "Incomplete",
|
93
|
-
color: "danger",
|
94
|
-
step: 2,
|
95
|
-
progressStatus: "partialSuccess",
|
96
|
-
});
|
97
|
-
});
|
98
|
-
|
99
|
-
it('returns "Pending" for CRYPTO_SWAP_IN_PROGRESS status', () => {
|
100
|
-
const result = getBuyWithFiatStatusMeta({
|
101
|
-
status: "CRYPTO_SWAP_IN_PROGRESS",
|
102
|
-
} as BuyWithFiatStatus);
|
103
|
-
expect(result).toEqual({
|
104
|
-
status: "Pending",
|
105
|
-
color: "accentText",
|
106
|
-
loading: true,
|
107
|
-
step: 2,
|
108
|
-
progressStatus: "pending",
|
109
|
-
});
|
110
|
-
});
|
111
|
-
|
112
|
-
it('returns "Pending" for PENDING_ON_RAMP_TRANSFER status', () => {
|
113
|
-
const result = getBuyWithFiatStatusMeta({
|
114
|
-
status: "PENDING_ON_RAMP_TRANSFER",
|
115
|
-
} as BuyWithFiatStatus);
|
116
|
-
expect(result).toEqual({
|
117
|
-
status: "Pending",
|
118
|
-
color: "accentText",
|
119
|
-
loading: true,
|
120
|
-
step: 1,
|
121
|
-
progressStatus: "pending",
|
122
|
-
});
|
123
|
-
});
|
124
|
-
|
125
|
-
it('returns "Completed" for ON_RAMP_TRANSFER_COMPLETED status', () => {
|
126
|
-
const result = getBuyWithFiatStatusMeta({
|
127
|
-
status: "ON_RAMP_TRANSFER_COMPLETED",
|
128
|
-
} as BuyWithFiatStatus);
|
129
|
-
expect(result).toEqual({
|
130
|
-
status: "Completed",
|
131
|
-
color: "success",
|
132
|
-
loading: true,
|
133
|
-
step: 1,
|
134
|
-
progressStatus: "completed",
|
135
|
-
});
|
136
|
-
});
|
137
|
-
|
138
|
-
it('returns "Action Required" for CRYPTO_SWAP_REQUIRED status', () => {
|
139
|
-
const result = getBuyWithFiatStatusMeta({
|
140
|
-
status: "CRYPTO_SWAP_REQUIRED",
|
141
|
-
} as BuyWithFiatStatus);
|
142
|
-
expect(result).toEqual({
|
143
|
-
status: "Action Required",
|
144
|
-
color: "accentText",
|
145
|
-
step: 2,
|
146
|
-
progressStatus: "actionRequired",
|
147
|
-
});
|
148
|
-
});
|
149
|
-
|
150
|
-
it('returns "Failed" for PAYMENT_FAILED status', () => {
|
151
|
-
const result = getBuyWithFiatStatusMeta({
|
152
|
-
status: "PAYMENT_FAILED",
|
153
|
-
} as BuyWithFiatStatus);
|
154
|
-
expect(result).toEqual({
|
155
|
-
status: "Failed",
|
156
|
-
color: "danger",
|
157
|
-
step: 1,
|
158
|
-
progressStatus: "failed",
|
159
|
-
});
|
160
|
-
});
|
161
|
-
|
162
|
-
it('returns "Unknown" for unhandled status', () => {
|
163
|
-
const result = getBuyWithFiatStatusMeta({
|
164
|
-
// @ts-ignore
|
165
|
-
status: "UNKNOWN_STATUS",
|
166
|
-
});
|
167
|
-
expect(result).toEqual({
|
168
|
-
status: "Unknown",
|
169
|
-
color: "secondaryText",
|
170
|
-
step: 1,
|
171
|
-
progressStatus: "unknown",
|
172
|
-
});
|
173
|
-
});
|
174
|
-
});
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import type { BuyWithCryptoStatus } from "../../../../../../../pay/buyWithCrypto/getStatus.js";
|
2
|
-
import type { BuyWithFiatStatus } from "../../../../../../../pay/buyWithFiat/getStatus.js";
|
3
2
|
import type { Theme } from "../../../../../../core/design-system/index.js";
|
4
3
|
|
5
4
|
export type StatusMeta = {
|
@@ -74,73 +73,5 @@ export type FiatStatusMeta = {
|
|
74
73
|
| "completed"
|
75
74
|
| "failed"
|
76
75
|
| "actionRequired"
|
77
|
-
| "partialSuccess"
|
78
76
|
| "unknown";
|
79
77
|
};
|
80
|
-
export function getBuyWithFiatStatusMeta(
|
81
|
-
fiatStatus: BuyWithFiatStatus,
|
82
|
-
): FiatStatusMeta {
|
83
|
-
const status = fiatStatus.status;
|
84
|
-
|
85
|
-
switch (status) {
|
86
|
-
case "CRYPTO_SWAP_FALLBACK": {
|
87
|
-
return {
|
88
|
-
status: "Incomplete",
|
89
|
-
color: "danger",
|
90
|
-
step: 2,
|
91
|
-
progressStatus: "partialSuccess",
|
92
|
-
};
|
93
|
-
}
|
94
|
-
|
95
|
-
case "CRYPTO_SWAP_IN_PROGRESS":
|
96
|
-
case "PENDING_ON_RAMP_TRANSFER":
|
97
|
-
case "ON_RAMP_TRANSFER_IN_PROGRESS":
|
98
|
-
case "PENDING_PAYMENT": {
|
99
|
-
return {
|
100
|
-
status: "Pending",
|
101
|
-
color: "accentText",
|
102
|
-
loading: true,
|
103
|
-
step: status === "CRYPTO_SWAP_IN_PROGRESS" ? 2 : 1,
|
104
|
-
progressStatus: "pending",
|
105
|
-
};
|
106
|
-
}
|
107
|
-
|
108
|
-
case "ON_RAMP_TRANSFER_COMPLETED":
|
109
|
-
case "CRYPTO_SWAP_COMPLETED": {
|
110
|
-
return {
|
111
|
-
status: "Completed", // Is this actually completed though?
|
112
|
-
color: "success",
|
113
|
-
loading: true,
|
114
|
-
step: status === "CRYPTO_SWAP_COMPLETED" ? 2 : 1,
|
115
|
-
progressStatus: "completed",
|
116
|
-
};
|
117
|
-
}
|
118
|
-
|
119
|
-
case "CRYPTO_SWAP_FAILED":
|
120
|
-
case "CRYPTO_SWAP_REQUIRED": {
|
121
|
-
return {
|
122
|
-
status: "Action Required",
|
123
|
-
color: "accentText",
|
124
|
-
step: 2,
|
125
|
-
progressStatus: "actionRequired",
|
126
|
-
};
|
127
|
-
}
|
128
|
-
|
129
|
-
case "PAYMENT_FAILED":
|
130
|
-
case "ON_RAMP_TRANSFER_FAILED": {
|
131
|
-
return {
|
132
|
-
status: "Failed",
|
133
|
-
color: "danger",
|
134
|
-
step: 1,
|
135
|
-
progressStatus: "failed",
|
136
|
-
};
|
137
|
-
}
|
138
|
-
}
|
139
|
-
|
140
|
-
return {
|
141
|
-
status: "Unknown",
|
142
|
-
color: "secondaryText",
|
143
|
-
step: 1,
|
144
|
-
progressStatus: "unknown",
|
145
|
-
};
|
146
|
-
}
|
@@ -43,7 +43,9 @@ export function WalletRow(props: {
|
|
43
43
|
client,
|
44
44
|
address,
|
45
45
|
});
|
46
|
-
const addressOrENS =
|
46
|
+
const addressOrENS = address
|
47
|
+
? ensNameQuery.data || shortenAddress(address)
|
48
|
+
: "";
|
47
49
|
return (
|
48
50
|
<Container flex="row" style={{ justifyContent: "space-between" }}>
|
49
51
|
<Container flex="row" center="y" gap="sm" color="secondaryText">
|
@@ -1,28 +1,12 @@
|
|
1
1
|
import { useQuery } from "@tanstack/react-query";
|
2
|
+
import { Address as ox__Address } from "ox";
|
3
|
+
import * as Bridge from "../../../../../../../bridge/index.js";
|
2
4
|
import type { Chain } from "../../../../../../../chains/types.js";
|
3
|
-
import {
|
5
|
+
import { getCachedChain } from "../../../../../../../chains/utils.js";
|
4
6
|
import type { ThirdwebClient } from "../../../../../../../client/client.js";
|
5
|
-
import {
|
6
|
-
getPaySupportedDestinations,
|
7
|
-
getPaySupportedSources,
|
8
|
-
} from "../../../../../../../pay/utils/definitions.js";
|
9
|
-
import { getClientFetch } from "../../../../../../../utils/fetch.js";
|
10
|
-
import { stringify } from "../../../../../../../utils/json.js";
|
7
|
+
import type { Address } from "../../../../../../../utils/address.js";
|
11
8
|
import { withCache } from "../../../../../../../utils/promise/withCache.js";
|
12
9
|
|
13
|
-
type Response = {
|
14
|
-
result: Array<{
|
15
|
-
chainId: number;
|
16
|
-
tokens: Array<{
|
17
|
-
address: string;
|
18
|
-
buyWithCryptoEnabled: boolean;
|
19
|
-
buyWithFiatEnabled: boolean;
|
20
|
-
name: string;
|
21
|
-
symbol: string;
|
22
|
-
}>;
|
23
|
-
}>;
|
24
|
-
};
|
25
|
-
|
26
10
|
export type SupportedChainAndTokens = Array<{
|
27
11
|
chain: Chain;
|
28
12
|
tokens: Array<{
|
@@ -35,35 +19,73 @@ export type SupportedChainAndTokens = Array<{
|
|
35
19
|
}>;
|
36
20
|
}>;
|
37
21
|
|
38
|
-
|
39
|
-
client
|
40
|
-
|
41
|
-
|
22
|
+
async function fetchBuySupportedDestinations({
|
23
|
+
client,
|
24
|
+
originChainId,
|
25
|
+
originTokenAddress,
|
26
|
+
}: {
|
27
|
+
client: ThirdwebClient;
|
28
|
+
originChainId?: number;
|
29
|
+
originTokenAddress?: Address;
|
30
|
+
}): Promise<SupportedChainAndTokens> {
|
42
31
|
return withCache(
|
43
32
|
async () => {
|
44
|
-
const
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
33
|
+
const routes = await Bridge.routes({
|
34
|
+
client,
|
35
|
+
originChainId,
|
36
|
+
originTokenAddress,
|
37
|
+
maxSteps: 1,
|
38
|
+
sortBy: "popularity",
|
39
|
+
limit: 1000000,
|
40
|
+
});
|
41
|
+
const tokens = new Set<string>();
|
42
|
+
const chains = new Set<number>();
|
43
|
+
const destinationTokens: Record<
|
44
|
+
number,
|
45
|
+
Array<{
|
46
|
+
address: Address;
|
47
|
+
buyWithCryptoEnabled: boolean;
|
48
|
+
buyWithFiatEnabled: boolean;
|
49
|
+
name: string;
|
50
|
+
symbol: string;
|
51
|
+
icon?: string;
|
52
|
+
}>
|
53
|
+
> = [];
|
54
|
+
for (const route of routes) {
|
55
|
+
const key = `${route.destinationToken.chainId}:${route.destinationToken.address}`;
|
56
|
+
if (!tokens.has(key)) {
|
57
|
+
tokens.add(key);
|
58
|
+
if (!chains.has(route.destinationToken.chainId)) {
|
59
|
+
chains.add(route.destinationToken.chainId);
|
60
|
+
}
|
61
|
+
const existing = destinationTokens[route.destinationToken.chainId];
|
62
|
+
if (!existing) {
|
63
|
+
destinationTokens[route.destinationToken.chainId] = [];
|
64
|
+
}
|
65
|
+
destinationTokens[route.destinationToken.chainId] = [
|
66
|
+
...(existing || []),
|
67
|
+
{
|
68
|
+
address: ox__Address.checksum(
|
69
|
+
route.destinationToken.address,
|
70
|
+
) as Address,
|
71
|
+
// We support both options for all tokens
|
72
|
+
buyWithCryptoEnabled: true,
|
73
|
+
buyWithFiatEnabled: true,
|
74
|
+
name: route.destinationToken.name,
|
75
|
+
symbol: route.destinationToken.symbol,
|
76
|
+
icon: route.destinationToken.iconUri,
|
77
|
+
},
|
78
|
+
];
|
79
|
+
}
|
51
80
|
}
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
);
|
57
|
-
}
|
58
|
-
return data.result.map((item) => ({
|
59
|
-
chain: defineChain({
|
60
|
-
id: item.chainId,
|
61
|
-
}),
|
62
|
-
tokens: item.tokens,
|
81
|
+
|
82
|
+
return [...chains].map((chainId) => ({
|
83
|
+
chain: getCachedChain(chainId),
|
84
|
+
tokens: destinationTokens[chainId] || [],
|
63
85
|
}));
|
64
86
|
},
|
65
87
|
{
|
66
|
-
cacheKey:
|
88
|
+
cacheKey: `buy-supported-destinations-${originChainId}:${originTokenAddress}`,
|
67
89
|
cacheTime: 5 * 60 * 1000,
|
68
90
|
},
|
69
91
|
);
|
@@ -74,12 +96,12 @@ export async function fetchBuySupportedDestinations(
|
|
74
96
|
*/
|
75
97
|
export function useBuySupportedDestinations(
|
76
98
|
client: ThirdwebClient,
|
77
|
-
|
99
|
+
_isTestMode?: boolean,
|
78
100
|
) {
|
79
101
|
return useQuery({
|
80
102
|
queryKey: ["destination-tokens", client],
|
81
103
|
queryFn: async () => {
|
82
|
-
return fetchBuySupportedDestinations(client
|
104
|
+
return fetchBuySupportedDestinations({ client });
|
83
105
|
},
|
84
106
|
});
|
85
107
|
}
|
@@ -92,26 +114,59 @@ export function useBuySupportedSources(options: {
|
|
92
114
|
return useQuery({
|
93
115
|
queryKey: ["source-tokens", options],
|
94
116
|
queryFn: async () => {
|
95
|
-
const
|
96
|
-
|
117
|
+
const routes = await Bridge.routes({
|
118
|
+
client: options.client,
|
119
|
+
destinationChainId: options.destinationChainId,
|
120
|
+
destinationTokenAddress: options.destinationTokenAddress,
|
121
|
+
maxSteps: 1,
|
122
|
+
sortBy: "popularity",
|
123
|
+
limit: 50,
|
124
|
+
});
|
97
125
|
|
98
|
-
const
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
126
|
+
const tokens = new Set<string>();
|
127
|
+
const chains = new Set<number>();
|
128
|
+
const originTokens: Record<
|
129
|
+
number,
|
130
|
+
Array<{
|
131
|
+
address: Address;
|
132
|
+
buyWithCryptoEnabled: boolean;
|
133
|
+
buyWithFiatEnabled: boolean;
|
134
|
+
name: string;
|
135
|
+
symbol: string;
|
136
|
+
icon?: string;
|
137
|
+
}>
|
138
|
+
> = [];
|
139
|
+
for (const route of routes) {
|
140
|
+
const key = `${route.originToken.chainId}:${route.originToken.address}`;
|
141
|
+
if (!tokens.has(key)) {
|
142
|
+
tokens.add(key);
|
143
|
+
if (!chains.has(route.originToken.chainId)) {
|
144
|
+
chains.add(route.originToken.chainId);
|
145
|
+
}
|
146
|
+
const existing = originTokens[route.originToken.chainId];
|
147
|
+
if (!existing) {
|
148
|
+
originTokens[route.originToken.chainId] = [];
|
149
|
+
}
|
150
|
+
originTokens[route.originToken.chainId] = [
|
151
|
+
...(existing || []),
|
152
|
+
{
|
153
|
+
address: ox__Address.checksum(
|
154
|
+
route.originToken.address,
|
155
|
+
) as Address,
|
156
|
+
// We support both options for all tokens
|
157
|
+
buyWithCryptoEnabled: true,
|
158
|
+
buyWithFiatEnabled: true,
|
159
|
+
name: route.originToken.name,
|
160
|
+
symbol: route.originToken.symbol,
|
161
|
+
icon: route.originToken.iconUri,
|
162
|
+
},
|
163
|
+
];
|
164
|
+
}
|
165
|
+
}
|
107
166
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
chain: defineChain({
|
112
|
-
id: item.chainId,
|
113
|
-
}),
|
114
|
-
tokens: item.tokens,
|
167
|
+
return [...chains].map((chainId) => ({
|
168
|
+
chain: getCachedChain(chainId),
|
169
|
+
tokens: originTokens[chainId] || [],
|
115
170
|
}));
|
116
171
|
},
|
117
172
|
});
|