thirdweb 5.39.0 → 5.40.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/exports/react.js +7 -2
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/react/core/design-system/index.js +2 -0
- package/dist/cjs/react/core/design-system/index.js.map +1 -1
- package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js +13 -94
- package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js +16 -3
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/core/utils/defaultTokens.js +32 -25
- package/dist/cjs/react/core/utils/defaultTokens.js.map +1 -1
- package/dist/cjs/react/core/utils/wallet.js +91 -13
- package/dist/cjs/react/core/utils/wallet.js.map +1 -1
- package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js +18 -127
- package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +3 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +7 -3
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +184 -118
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +104 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +69 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js +23 -5
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +4 -4
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +132 -45
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js +2 -5
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +13 -8
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js +1 -1
- 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/TokenInfoRow.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TokenInfoRow.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +9 -5
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +8 -3
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.js +84 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js +13 -7
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/nativeToken.js +3 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/nativeToken.js.map +1 -1
- package/dist/cjs/react/web/ui/PayEmbed.js +16 -9
- package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js +53 -0
- package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -0
- package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js +33 -0
- package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js.map +1 -0
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +16 -5
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/SocialLogin.js +18 -2
- package/dist/cjs/react/web/wallets/shared/SocialLogin.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/{openOauthSignInWindow.js → oauthSignIn.js} +2 -3
- package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/index.js +15 -0
- package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/in-app.js +10 -0
- package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js +2 -0
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js +9 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/get-url-token.js +26 -0
- package/dist/cjs/wallets/in-app/web/lib/get-url-token.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js +13 -3
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/esm/exports/react.js +3 -1
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/react/core/design-system/index.js +2 -0
- package/dist/esm/react/core/design-system/index.js.map +1 -1
- package/dist/esm/react/core/hooks/transaction/useSendTransaction.js +13 -93
- package/dist/esm/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js +16 -3
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/core/utils/defaultTokens.js +31 -25
- package/dist/esm/react/core/utils/defaultTokens.js.map +1 -1
- package/dist/esm/react/core/utils/wallet.js +88 -13
- package/dist/esm/react/core/utils/wallet.js.map +1 -1
- package/dist/esm/react/web/hooks/transaction/useSendTransaction.js +20 -129
- package/dist/esm/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +3 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +7 -3
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/TransactionsScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +188 -122
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +101 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +66 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js +22 -5
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +4 -4
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js +2 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js +2 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +130 -44
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js +2 -5
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +13 -8
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.js +1 -1
- 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/TokenInfoRow.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TokenInfoRow.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +7 -4
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +9 -4
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.js +81 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js +14 -8
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/nativeToken.js +3 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/nativeToken.js.map +1 -1
- package/dist/esm/react/web/ui/PayEmbed.js +16 -9
- package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js +50 -0
- package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -0
- package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js +29 -0
- package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js.map +1 -0
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +15 -4
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/SocialLogin.js +17 -1
- package/dist/esm/react/web/wallets/shared/SocialLogin.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/{openOauthSignInWindow.js → oauthSignIn.js} +2 -3
- package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/in-app/core/wallet/index.js +15 -0
- package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/esm/wallets/in-app/web/in-app.js +10 -0
- package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/index.js +2 -0
- package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/oauth.js +7 -0
- package/dist/esm/wallets/in-app/web/lib/auth/oauth.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/get-url-token.js +23 -0
- package/dist/esm/wallets/in-app/web/lib/get-url-token.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/web-connector.js +14 -4
- package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/types/exports/react.d.ts +3 -2
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/exports/utils.d.ts +1 -0
- package/dist/types/exports/utils.d.ts.map +1 -1
- package/dist/types/react/core/design-system/index.d.ts +2 -0
- package/dist/types/react/core/design-system/index.d.ts.map +1 -1
- package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts +80 -34
- package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts.map +1 -1
- package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts +3 -15
- package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts.map +1 -1
- package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/core/utils/defaultTokens.d.ts +222 -0
- package/dist/types/react/core/utils/defaultTokens.d.ts.map +1 -1
- package/dist/types/react/core/utils/wallet.d.ts +43 -1
- package/dist/types/react/core/utils/wallet.d.ts.map +1 -1
- package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts +2 -4
- package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts +3 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts +0 -3
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.d.ts +18 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts +18 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.d.ts +5 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.d.ts +1 -2
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.d.ts +1 -2
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.d.ts +1 -2
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.d.ts +1 -2
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts +14 -8
- 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 +19 -9
- 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/main/useEnabledPaymentMethods.d.ts +6 -5
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts +0 -2
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts +4 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.d.ts +1 -2
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.d.ts +1 -2
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.d.ts +19 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/nativeToken.d.ts.map +1 -1
- package/dist/types/react/web/ui/PayEmbed.d.ts +0 -6
- package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/TransactionButton/ExecutingScreen.d.ts +9 -0
- package/dist/types/react/web/ui/TransactionButton/ExecutingScreen.d.ts.map +1 -0
- package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts +24 -0
- package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts.map +1 -0
- package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/SocialLogin.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/{openOauthSignInWindow.d.ts → oauthSignIn.d.ts} +1 -2
- package/dist/types/react/web/wallets/shared/oauthSignIn.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/ecosystem/types.d.ts +3 -0
- package/dist/types/wallets/ecosystem/types.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/interfaces/connector.d.ts +4 -1
- package/dist/types/wallets/in-app/core/interfaces/connector.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/types.d.ts +4 -1
- package/dist/types/wallets/in-app/core/wallet/types.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/in-app.d.ts +10 -0
- package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +11 -2
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts +5 -0
- package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/get-url-token.d.ts +12 -0
- package/dist/types/wallets/in-app/web/lib/get-url-token.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +4 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/exports/react.ts +14 -2
- package/src/exports/utils.ts +2 -0
- package/src/react/core/design-system/index.ts +2 -0
- package/src/react/core/hooks/connection/ConnectButtonProps.ts +103 -51
- package/src/react/core/hooks/transaction/useSendTransaction.ts +17 -127
- package/src/react/core/hooks/wallets/useAutoConnect.ts +17 -3
- package/src/react/core/utils/defaultTokens.ts +38 -26
- package/src/react/core/utils/wallet.ts +102 -18
- package/src/react/web/hooks/transaction/useSendTransaction.tsx +34 -278
- package/src/react/web/ui/ConnectWallet/Details.tsx +6 -4
- package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +9 -3
- package/src/react/web/ui/ConnectWallet/TransactionsScreen.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +347 -383
- package/src/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.tsx +266 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +253 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.tsx +52 -21
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.tsx +3 -6
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.tsx +5 -6
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.tsx +2 -4
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwapFlow.tsx +2 -4
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/types.ts +16 -12
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.ts +155 -60
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.ts +8 -3
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.ts +17 -12
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/BuyTxHistory.tsx +2 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/FiatDetailsScreen.tsx +2 -3
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/SwapDetailsScreen.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TokenInfoRow.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/pay-transactions/TxDetailsScreen.tsx +2 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +27 -19
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.tsx +8 -4
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.tsx +12 -5
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.tsx +2 -4
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.tsx +3 -4
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferFlow.tsx +243 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.tsx +30 -17
- package/src/react/web/ui/ConnectWallet/screens/nativeToken.ts +5 -1
- package/src/react/web/ui/PayEmbed.tsx +31 -32
- package/src/react/web/ui/TransactionButton/ExecutingScreen.tsx +127 -0
- package/src/react/web/ui/TransactionButton/TransactionModal.tsx +83 -0
- package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +18 -4
- package/src/react/web/wallets/shared/SocialLogin.tsx +20 -1
- package/src/react/web/wallets/shared/{openOauthSignInWindow.ts → oauthSignIn.ts} +1 -2
- package/src/version.ts +1 -1
- package/src/wallets/ecosystem/types.ts +3 -0
- package/src/wallets/in-app/core/interfaces/connector.ts +6 -0
- package/src/wallets/in-app/core/wallet/index.ts +22 -0
- package/src/wallets/in-app/core/wallet/types.ts +4 -0
- package/src/wallets/in-app/web/in-app.ts +10 -0
- package/src/wallets/in-app/web/lib/auth/index.ts +14 -3
- package/src/wallets/in-app/web/lib/auth/oauth.ts +12 -0
- package/src/wallets/in-app/web/lib/get-url-token.ts +36 -0
- package/src/wallets/in-app/web/lib/web-connector.ts +18 -4
- package/dist/cjs/react/web/wallets/shared/openOauthSignInWindow.js.map +0 -1
- package/dist/esm/react/web/wallets/shared/openOauthSignInWindow.js.map +0 -1
- package/dist/types/react/web/wallets/shared/openOauthSignInWindow.d.ts.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/interfaces/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,cAAc;IAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACxE,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/D,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrC"}
|
1
|
+
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/interfaces/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,cAAc;IAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACxE,wBAAwB,CAAC,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5D,kBAAkB,CAAC,CACjB,UAAU,EAAE,mCAAmC,GAC9C,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/D,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAMzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GACvB,MAAM,IAAI,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,CAExC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EACH,sBAAsB,CAAC,OAAO,CAAC,GAC/B,sBAAsB,CAAC,iBAAiB,CAAC,EAC7C,aAAa,EACT,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5B,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,cAAc,GACxB,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAgC3B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EACH,0BAA0B,CAAC,OAAO,CAAC,GACnC,0BAA0B,CAAC,iBAAiB,CAAC,EACjD,aAAa,EACT,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5B,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,cAAc,GACxB,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CA0B3B"}
|
@@ -2,13 +2,15 @@ import type { Chain } from "../../../../chains/types.js";
|
|
2
2
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
3
3
|
import type { SmartWalletOptions } from "../../../smart/types.js";
|
4
4
|
import type { AuthOption, SocialAuthOption } from "../../../types.js";
|
5
|
-
import type { MultiStepAuthArgsType, SingleStepAuthArgsType } from "../authentication/type.js";
|
5
|
+
import type { AuthStoredTokenWithCookieReturnType, MultiStepAuthArgsType, SingleStepAuthArgsType } from "../authentication/type.js";
|
6
6
|
export type InAppWalletConnectionOptions = (MultiStepAuthArgsType | SingleStepAuthArgsType) & {
|
7
7
|
client: ThirdwebClient;
|
8
8
|
chain?: Chain;
|
9
|
+
redirect?: boolean;
|
9
10
|
};
|
10
11
|
export type InAppWalletAutoConnectOptions = {
|
11
12
|
client: ThirdwebClient;
|
13
|
+
authResult?: AuthStoredTokenWithCookieReturnType;
|
12
14
|
chain?: Chain;
|
13
15
|
};
|
14
16
|
export type InAppWalletSocialAuth = SocialAuthOption;
|
@@ -16,6 +18,7 @@ export type InAppWalletAuth = AuthOption;
|
|
16
18
|
export type InAppWalletCreationOptions = {
|
17
19
|
auth?: {
|
18
20
|
options: InAppWalletAuth[];
|
21
|
+
mode?: "popup" | "redirect";
|
19
22
|
};
|
20
23
|
metadata?: {
|
21
24
|
image?: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,4BAA4B,GAAG,CACvC,qBAAqB,GACrB,sBAAsB,CACzB,GAAG;IACF,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EACV,mCAAmC,EACnC,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,4BAA4B,GAAG,CACvC,qBAAqB,GACrB,sBAAsB,CACzB,GAAG;IACF,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,mCAAmC,CAAC;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AACrD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC,MAAM,MAAM,0BAA0B,GAClC;IACE,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE;YACN,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GACD,SAAS,CAAC;AAEd,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC"}
|
@@ -50,6 +50,16 @@ import type { CreateWalletArgs } from "../../wallet-types.js";
|
|
50
50
|
* hidePrivateKeyExport: true
|
51
51
|
* });
|
52
52
|
* ```
|
53
|
+
*
|
54
|
+
* Open the Oauth window in the same tab
|
55
|
+
* ```ts
|
56
|
+
* import { inAppWallet } from "thirdweb/wallets";
|
57
|
+
* const wallet = inAppWallet({
|
58
|
+
* auth: {
|
59
|
+
* mode: "redirect"
|
60
|
+
* }
|
61
|
+
* });
|
62
|
+
* ```
|
53
63
|
* @wallet
|
54
64
|
*/
|
55
65
|
export declare function inAppWallet(createOptions?: CreateWalletArgs<"inApp">[1]): Wallet<"inApp">;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"in-app.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/in-app/web/in-app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D
|
1
|
+
{"version":3,"file":"in-app.d.ts","sourceRoot":"","sources":["../../../../../src/wallets/in-app/web/in-app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,wBAAgB,WAAW,CACzB,aAAa,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC3C,MAAM,CAAC,OAAO,CAAC,CAUjB"}
|
@@ -1,4 +1,8 @@
|
|
1
|
-
import
|
1
|
+
import type { ThirdwebClient } from "../../../../../client/client.js";
|
2
|
+
import type { OneOf } from "../../../../../utils/type-utils.js";
|
3
|
+
import type { SocialAuthOption } from "../../../../../wallets/types.js";
|
4
|
+
import { type AuthArgsType, type GetAuthenticatedUserParams, type PreAuthArgsType } from "../../../core/authentication/type.js";
|
5
|
+
import type { Ecosystem } from "../../types.js";
|
2
6
|
/**
|
3
7
|
* Retrieves the authenticated user for the active in-app wallet.
|
4
8
|
* @param options - The arguments for retrieving the authenticated user.
|
@@ -78,5 +82,10 @@ export declare function preAuthenticate(args: PreAuthArgsType): Promise<import("
|
|
78
82
|
* ```
|
79
83
|
* @wallet
|
80
84
|
*/
|
81
|
-
export declare function authenticate(args: AuthArgsType
|
85
|
+
export declare function authenticate(args: OneOf<AuthArgsType | {
|
86
|
+
strategy: SocialAuthOption;
|
87
|
+
client: ThirdwebClient;
|
88
|
+
ecosystem?: Ecosystem;
|
89
|
+
redirect: boolean;
|
90
|
+
}>): Promise<void | import("../../../core/authentication/type.js").AuthLoginReturnType>;
|
82
91
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,eAAe,EAErB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAyBhD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,0BAA0B,uFAWpC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,0BAA0B,+BAMrE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,+BAM3E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,kFAG1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,KAAK,CACP,YAAY,GACZ;IACE,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB,CACJ,sFAMF"}
|
@@ -3,6 +3,11 @@ import type { AuthStoredTokenWithCookieReturnType } from "../../../../../wallets
|
|
3
3
|
import type { SocialAuthOption } from "../../../../../wallets/types.js";
|
4
4
|
import type { Ecosystem } from "../../types.js";
|
5
5
|
export declare const getSocialAuthLoginPath: (authOption: SocialAuthOption, client: ThirdwebClient, ecosystem?: Ecosystem) => string;
|
6
|
+
export declare const loginWithOauthRedirect: (options: {
|
7
|
+
authOption: SocialAuthOption;
|
8
|
+
client: ThirdwebClient;
|
9
|
+
ecosystem?: Ecosystem;
|
10
|
+
}) => void;
|
6
11
|
export declare const loginWithOauth: (options: {
|
7
12
|
authOption: SocialAuthOption;
|
8
13
|
client: ThirdwebClient;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,2DAA2D,CAAC;AACrH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAuBhD,eAAO,MAAM,sBAAsB,eACrB,gBAAgB,UACpB,cAAc,cACV,SAAS,WAUtB,CAAC;AAEF,eAAO,MAAM,cAAc,YAAmB;IAC5C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,iBAAiB,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAClE,KAAG,OAAO,CAAC,mCAAmC,CA+E9C,CAAC"}
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../../../../../src/wallets/in-app/web/lib/auth/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,2DAA2D,CAAC;AACrH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAuBhD,eAAO,MAAM,sBAAsB,eACrB,gBAAgB,UACpB,cAAc,cACV,SAAS,WAUtB,CAAC;AAEF,eAAO,MAAM,sBAAsB,YAAa;IAC9C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,KAAG,IAMH,CAAC;AAEF,eAAO,MAAM,cAAc,YAAmB;IAC5C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,iBAAiB,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAClE,KAAG,OAAO,CAAC,mCAAmC,CA+E9C,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import type { AuthOption } from "../../../../wallets/types.js";
|
2
|
+
import type { WalletId } from "../../../wallet-types.js";
|
3
|
+
import type { AuthStoredTokenWithCookieReturnType } from "../../core/authentication/type.js";
|
4
|
+
/**
|
5
|
+
* Checks for an auth token and associated metadata in the current URL
|
6
|
+
*/
|
7
|
+
export declare function getUrlToken(): {
|
8
|
+
walletId?: WalletId;
|
9
|
+
authResult?: AuthStoredTokenWithCookieReturnType;
|
10
|
+
authProvider?: AuthOption;
|
11
|
+
};
|
12
|
+
//# sourceMappingURL=get-url-token.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"get-url-token.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/get-url-token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,mCAAmC,CAAC;AAE7F;;GAEG;AACH,wBAAgB,WAAW,IAAI;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,mCAAmC,CAAC;IACjD,YAAY,CAAC,EAAE,UAAU,CAAC;CAC3B,CAwBA"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
2
|
+
import type { SocialAuthOption } from "../../../../wallets/types.js";
|
2
3
|
import type { Account } from "../../../interfaces/wallet.js";
|
3
|
-
import { type AuthLoginReturnType, type GetUser, type LogoutReturnType, type MultiStepAuthArgsType, type MultiStepAuthProviderType, type SendEmailOtpReturnType, type SingleStepAuthArgsType } from "../../core/authentication/type.js";
|
4
|
+
import { type AuthLoginReturnType, type AuthStoredTokenWithCookieReturnType, type GetUser, type LogoutReturnType, type MultiStepAuthArgsType, type MultiStepAuthProviderType, type SendEmailOtpReturnType, type SingleStepAuthArgsType } from "../../core/authentication/type.js";
|
4
5
|
import type { InAppConnector } from "../../core/interfaces/connector.js";
|
5
6
|
import type { InAppWalletConstructorType } from "../types.js";
|
6
7
|
import { InAppWalletIframeCommunicator } from "../utils/iFrameCommunication/InAppWalletIframeCommunicator.js";
|
@@ -49,6 +50,8 @@ export declare class InAppWebConnector implements InAppConnector {
|
|
49
50
|
getUser(): Promise<GetUser>;
|
50
51
|
getAccount(): Promise<Account>;
|
51
52
|
preAuthenticate(args: MultiStepAuthProviderType): Promise<SendEmailOtpReturnType>;
|
53
|
+
authenticateWithRedirect(strategy: SocialAuthOption): void;
|
54
|
+
loginWithAuthToken(authResult: AuthStoredTokenWithCookieReturnType): Promise<AuthLoginReturnType>;
|
52
55
|
authenticate(args: MultiStepAuthArgsType | SingleStepAuthArgsType): Promise<AuthLoginReturnType>;
|
53
56
|
logout(): Promise<LogoutReturnType>;
|
54
57
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAKpE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,OAAO,EAAE,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;IAEnE,OAAO,CAAC,MAAM,CAAe;IAC7B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;gBACS,EACV,MAAM,EACN,aAAa,EACb,SAAS,GACV,EAAE,0BAA0B;IAqD7B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,eAAe,CACnB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,sBAAsB,CAAC;
|
1
|
+
{"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/web/lib/web-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mCAAmC,EACxC,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAKpE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,OAAO,EAAE,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;IAEnE,OAAO,CAAC,MAAM,CAAe;IAC7B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;gBACS,EACV,MAAM,EACN,aAAa,EACb,SAAS,GACV,EAAE,0BAA0B;IAqD7B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,eAAe,CACnB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,sBAAsB,CAAC;IAiBlC,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAQpD,kBAAkB,CAAC,UAAU,EAAE,mCAAmC;IAIlE,YAAY,CAChB,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GACnD,OAAO,CAAC,mBAAmB,CAAC;IAuEzB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAG1C"}
|
package/package.json
CHANGED
package/src/exports/react.ts
CHANGED
@@ -29,7 +29,10 @@ export type {
|
|
29
29
|
SupportedTokens,
|
30
30
|
TokenInfo,
|
31
31
|
} from "../react/core/utils/defaultTokens.js";
|
32
|
-
export {
|
32
|
+
export {
|
33
|
+
defaultTokens,
|
34
|
+
getDefaultToken,
|
35
|
+
} from "../react/core/utils/defaultTokens.js";
|
33
36
|
|
34
37
|
// Media Renderer
|
35
38
|
export { MediaRenderer } from "../react/web/ui/MediaRenderer/MediaRenderer.js";
|
@@ -121,7 +124,13 @@ export {
|
|
121
124
|
type PayEmbedProps,
|
122
125
|
type PayEmbedConnectOptions,
|
123
126
|
} from "../react/web/ui/PayEmbed.js";
|
124
|
-
export type {
|
127
|
+
export type {
|
128
|
+
PayUIOptions,
|
129
|
+
PaymentInfo,
|
130
|
+
DirectPaymentOptions,
|
131
|
+
FundWalletOptions,
|
132
|
+
TranasctionOptions,
|
133
|
+
} from "../react/core/hooks/connection/ConnectButtonProps.js";
|
125
134
|
|
126
135
|
export {
|
127
136
|
useConnectModal,
|
@@ -141,6 +150,9 @@ export {
|
|
141
150
|
type UseNetworkSwitcherModalOptions,
|
142
151
|
} from "../react/web/ui/ConnectWallet/NetworkSelector.js";
|
143
152
|
|
153
|
+
// ens
|
154
|
+
export { useEnsName, useEnsAvatar } from "../react/core/utils/wallet.js";
|
155
|
+
|
144
156
|
/**
|
145
157
|
* Prebuilt UI components for thirdweb contracts
|
146
158
|
*/
|
package/src/exports/utils.ts
CHANGED
@@ -170,6 +170,7 @@ export const fontSize = {
|
|
170
170
|
};
|
171
171
|
|
172
172
|
export const spacing = {
|
173
|
+
"3xs": "4px",
|
173
174
|
xxs: "6px",
|
174
175
|
xs: "8px",
|
175
176
|
sm: "12px",
|
@@ -181,6 +182,7 @@ export const spacing = {
|
|
181
182
|
};
|
182
183
|
|
183
184
|
export const radius = {
|
185
|
+
xs: "4px",
|
184
186
|
sm: "6px",
|
185
187
|
md: "8px",
|
186
188
|
lg: "12px",
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import type { Chain } from "../../../../chains/types.js";
|
2
2
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
3
|
+
import type { PreparedTransaction } from "../../../../transaction/prepare-transaction.js";
|
4
|
+
import type { Prettify } from "../../../../utils/type-utils.js";
|
3
5
|
import type { Account, Wallet } from "../../../../wallets/interfaces/wallet.js";
|
4
6
|
import type { SmartWalletOptions } from "../../../../wallets/smart/types.js";
|
5
7
|
import type { AppMetadata } from "../../../../wallets/types.js";
|
@@ -10,10 +12,88 @@ import type { Theme } from "../../design-system/index.js";
|
|
10
12
|
import type {
|
11
13
|
SupportedNFTs,
|
12
14
|
SupportedTokens,
|
15
|
+
TokenInfo,
|
13
16
|
} from "../../utils/defaultTokens.js";
|
14
17
|
import type { SiweAuthOptions } from "../auth/useSiweAuth.js";
|
15
18
|
|
16
|
-
export type
|
19
|
+
export type PaymentInfo = {
|
20
|
+
/**
|
21
|
+
* The chain to receive the payment on.
|
22
|
+
*/
|
23
|
+
chain: Chain;
|
24
|
+
/**
|
25
|
+
* The address of the seller wallet to receive the payment on.
|
26
|
+
*/
|
27
|
+
sellerAddress: string;
|
28
|
+
/**
|
29
|
+
* Optional ERC20 token to receive the payment on.
|
30
|
+
* If not provided, the native token will be used.
|
31
|
+
*/
|
32
|
+
token?: TokenInfo;
|
33
|
+
} & (
|
34
|
+
| {
|
35
|
+
/**
|
36
|
+
* The amount of tokens to receive in ETH or tokens.
|
37
|
+
* ex: 0.1 ETH or 100 USDC
|
38
|
+
*/
|
39
|
+
amount: string;
|
40
|
+
}
|
41
|
+
| {
|
42
|
+
/**
|
43
|
+
* The amount of tokens to receive in wei.
|
44
|
+
* ex: 1000000000000000000 wei
|
45
|
+
*/
|
46
|
+
amountWei: bigint;
|
47
|
+
}
|
48
|
+
);
|
49
|
+
|
50
|
+
export type PayUIOptions = Prettify<
|
51
|
+
{
|
52
|
+
/**
|
53
|
+
* Configure options for buying tokens using other token ( aka Swap )
|
54
|
+
*
|
55
|
+
* By default, the "Crypto" option is enabled. You can disable it by setting `buyWithCrypto` to `false`
|
56
|
+
*
|
57
|
+
* You can prefill the source token and chain using `prefillSource`
|
58
|
+
* You can also disable the edits for the prefilled values by setting `prefillSource.allowEdits` - By default all are editable
|
59
|
+
*
|
60
|
+
* For example, if you want to allow selecting chain and but disable selecting token, you can set `allowEdits` to `{ token: false, chain: true }`
|
61
|
+
*/
|
62
|
+
buyWithCrypto?:
|
63
|
+
| false
|
64
|
+
| {
|
65
|
+
prefillSource?: {
|
66
|
+
chain: Chain;
|
67
|
+
token?: TokenInfo;
|
68
|
+
allowEdits?: {
|
69
|
+
token: boolean;
|
70
|
+
chain: boolean;
|
71
|
+
};
|
72
|
+
};
|
73
|
+
};
|
74
|
+
|
75
|
+
/**
|
76
|
+
* By default "Credit card" option is enabled. you can disable it by setting `buyWithFiat` to `false`
|
77
|
+
*
|
78
|
+
* You can also enable the test mode for the on-ramp provider to test on-ramp without using real credit card.
|
79
|
+
*/
|
80
|
+
buyWithFiat?:
|
81
|
+
| {
|
82
|
+
testMode?: boolean;
|
83
|
+
}
|
84
|
+
| false;
|
85
|
+
|
86
|
+
/**
|
87
|
+
* Extra details to store with the purchase.
|
88
|
+
*
|
89
|
+
* This details will be stored with the purchase and can be retrieved later via the status API or Webhook
|
90
|
+
*/
|
91
|
+
purchaseData?: object;
|
92
|
+
} & (FundWalletOptions | DirectPaymentOptions | TranasctionOptions)
|
93
|
+
>;
|
94
|
+
|
95
|
+
export type FundWalletOptions = {
|
96
|
+
mode?: "fund_wallet";
|
17
97
|
/**
|
18
98
|
* Prefill the Buy Token amount, chain and/or token.
|
19
99
|
* You can also disable the edits for the prefilled values using `allowEdits` - By default all are editable
|
@@ -25,12 +105,7 @@ export type PayUIOptions = {
|
|
25
105
|
*/
|
26
106
|
prefillBuy?: {
|
27
107
|
chain: Chain;
|
28
|
-
token?:
|
29
|
-
name: string;
|
30
|
-
symbol: string;
|
31
|
-
address: string;
|
32
|
-
icon?: string;
|
33
|
-
};
|
108
|
+
token?: TokenInfo;
|
34
109
|
amount?: string;
|
35
110
|
allowEdits?: {
|
36
111
|
amount: boolean;
|
@@ -38,59 +113,36 @@ export type PayUIOptions = {
|
|
38
113
|
chain: boolean;
|
39
114
|
};
|
40
115
|
};
|
116
|
+
};
|
41
117
|
|
118
|
+
export type DirectPaymentOptions = {
|
119
|
+
mode: "direct_payment";
|
42
120
|
/**
|
43
|
-
*
|
44
|
-
*
|
45
|
-
* By default, the "Crypto" option is enabled. You can disable it by setting `buyWithCrypto` to `false`
|
46
|
-
*
|
47
|
-
* You can prefill the source token and chain using `prefillSource`
|
48
|
-
* You can also disable the edits for the prefilled values by setting `prefillSource.allowEdits` - By default all are editable
|
49
|
-
*
|
50
|
-
* For example, if you want to allow selecting chain and but disable selecting token, you can set `allowEdits` to `{ token: false, chain: true }`
|
121
|
+
* The payment information
|
51
122
|
*/
|
52
|
-
|
53
|
-
| false
|
54
|
-
| {
|
55
|
-
prefillSource?: {
|
56
|
-
chain: Chain;
|
57
|
-
token?: {
|
58
|
-
name: string;
|
59
|
-
symbol: string;
|
60
|
-
address: string;
|
61
|
-
icon?: string;
|
62
|
-
};
|
63
|
-
allowEdits?: {
|
64
|
-
token: boolean;
|
65
|
-
chain: boolean;
|
66
|
-
};
|
67
|
-
};
|
68
|
-
};
|
69
|
-
|
123
|
+
paymentInfo: PaymentInfo;
|
70
124
|
/**
|
71
|
-
*
|
72
|
-
*
|
73
|
-
* You can also enable the test mode for the on-ramp provider to test on-ramp without using real credit card.
|
125
|
+
* Customize the display of the PayEmbed UI.
|
74
126
|
*/
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
127
|
+
metadata?: {
|
128
|
+
name?: string;
|
129
|
+
image?: string;
|
130
|
+
};
|
131
|
+
};
|
80
132
|
|
133
|
+
export type TranasctionOptions = {
|
134
|
+
mode: "transaction";
|
81
135
|
/**
|
82
|
-
*
|
83
|
-
*
|
84
|
-
* This details will be stored with the purchase and can be retrieved later via the status API or Webhook
|
136
|
+
* The transaction to be executed.
|
85
137
|
*/
|
86
|
-
|
87
|
-
|
138
|
+
transaction: PreparedTransaction;
|
88
139
|
/**
|
89
|
-
*
|
90
|
-
*
|
91
|
-
* This address will be used to send the purchased tokens to.
|
140
|
+
* Customize the display of the PayEmbed UI.
|
92
141
|
*/
|
93
|
-
|
142
|
+
metadata?: {
|
143
|
+
name?: string;
|
144
|
+
image?: string;
|
145
|
+
};
|
94
146
|
};
|
95
147
|
|
96
148
|
/**
|
@@ -192,7 +244,7 @@ export type ConnectButton_detailsModalOptions = {
|
|
192
244
|
*
|
193
245
|
* thirdweb Pay allows users to buy tokens using crypto or fiat currency.
|
194
246
|
*/
|
195
|
-
payOptions?: PayUIOptions
|
247
|
+
payOptions?: Extract<PayUIOptions, { mode?: "fund_wallet" }>;
|
196
248
|
};
|
197
249
|
|
198
250
|
/**
|
@@ -1,21 +1,11 @@
|
|
1
1
|
import { type UseMutationResult, useMutation } from "@tanstack/react-query";
|
2
|
-
import type { Address } from "abitype";
|
3
2
|
import type { Chain } from "../../../../chains/types.js";
|
4
|
-
import { getContract } from "../../../../contract/contract.js";
|
5
|
-
import { getCurrencyMetadata } from "../../../../extensions/erc20/read/getCurrencyMetadata.js";
|
6
|
-
import { getGasPrice } from "../../../../gas/get-gas-price.js";
|
7
|
-
import { estimateGasCost } from "../../../../transaction/actions/estimate-gas-cost.js";
|
8
3
|
import type { GaslessOptions } from "../../../../transaction/actions/gasless/types.js";
|
9
4
|
import { sendTransaction } from "../../../../transaction/actions/send-transaction.js";
|
10
5
|
import type { WaitForReceiptOptions } from "../../../../transaction/actions/wait-for-tx-receipt.js";
|
11
6
|
import type { PreparedTransaction } from "../../../../transaction/prepare-transaction.js";
|
12
7
|
import { resolvePromisedValue } from "../../../../utils/promise/resolve-promised-value.js";
|
13
8
|
import type { Wallet } from "../../../../wallets/interfaces/wallet.js";
|
14
|
-
import {
|
15
|
-
type GetWalletBalanceResult,
|
16
|
-
getWalletBalance,
|
17
|
-
} from "../../../../wallets/utils/getWalletBalance.js";
|
18
|
-
import { fetchBuySupportedDestinations } from "../../../web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js";
|
19
9
|
import type { LocaleId } from "../../../web/ui/types.js";
|
20
10
|
import type { Theme } from "../../design-system/index.js";
|
21
11
|
import type { SupportedTokens } from "../../utils/defaultTokens.js";
|
@@ -43,7 +33,8 @@ import type { SupportedTokens } from "../../utils/defaultTokens.js";
|
|
43
33
|
export type SendTransactionPayModalConfig =
|
44
34
|
| {
|
45
35
|
metadata?: {
|
46
|
-
|
36
|
+
name?: string;
|
37
|
+
image?: string;
|
47
38
|
};
|
48
39
|
locale?: LocaleId;
|
49
40
|
supportedTokens?: SupportedTokens;
|
@@ -74,19 +65,10 @@ export type SendTransactionConfig = {
|
|
74
65
|
gasless?: GaslessOptions;
|
75
66
|
};
|
76
67
|
|
77
|
-
type ShowModalData = {
|
68
|
+
export type ShowModalData = {
|
78
69
|
tx: PreparedTransaction;
|
79
70
|
sendTx: () => void;
|
80
71
|
rejectTx: (reason: Error) => void;
|
81
|
-
totalCostWei: bigint;
|
82
|
-
currency?: {
|
83
|
-
address: Address;
|
84
|
-
name: string;
|
85
|
-
symbol: string;
|
86
|
-
decimals: number;
|
87
|
-
icon?: string;
|
88
|
-
};
|
89
|
-
walletBalance: GetWalletBalanceResult;
|
90
72
|
resolveTx: (data: WaitForReceiptOptions) => void;
|
91
73
|
};
|
92
74
|
|
@@ -152,76 +134,23 @@ export function useSendTransactionCore(args: {
|
|
152
134
|
|
153
135
|
(async () => {
|
154
136
|
try {
|
155
|
-
const
|
156
|
-
|
157
|
-
|
158
|
-
(c) => c.chain.id === tx.chain.id,
|
159
|
-
);
|
160
|
-
|
161
|
-
// buy not supported, can't show modal - send tx directly
|
162
|
-
if (!isBuySupported) {
|
163
|
-
sendTx();
|
164
|
-
return;
|
165
|
-
}
|
166
|
-
|
167
|
-
// buy supported, check if there is enough balance - if not show modal to buy tokens
|
168
|
-
const [nativeWalletBalance, nativeCostWei] = await Promise.all([
|
169
|
-
getWalletBalance({
|
170
|
-
address: account.address,
|
171
|
-
chain: tx.chain,
|
172
|
-
client: tx.client,
|
173
|
-
}),
|
174
|
-
getTotalTxCostForBuy(tx, account?.address),
|
137
|
+
const [_nativeValue, _erc20Value] = await Promise.all([
|
138
|
+
resolvePromisedValue(tx.value),
|
139
|
+
resolvePromisedValue(tx.erc20Value),
|
175
140
|
]);
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
chain: tx.chain,
|
188
|
-
client: tx.client,
|
189
|
-
tokenAddress: erc20Value.tokenAddress,
|
190
|
-
}),
|
191
|
-
getCurrencyMetadata({
|
192
|
-
contract: getContract({
|
193
|
-
address: erc20Value.tokenAddress,
|
194
|
-
chain: tx.chain,
|
195
|
-
client: tx.client,
|
196
|
-
}),
|
197
|
-
}),
|
198
|
-
]);
|
199
|
-
totalCostWei = erc20Value.amountWei;
|
200
|
-
walletBalance = tokenBalance;
|
201
|
-
currency = {
|
202
|
-
address: erc20Value.tokenAddress,
|
203
|
-
name: tokenMeta.name,
|
204
|
-
symbol: tokenMeta.symbol,
|
205
|
-
decimals: tokenMeta.decimals,
|
206
|
-
};
|
207
|
-
}
|
208
|
-
|
209
|
-
// if enough balance, send tx
|
210
|
-
if (totalCostWei < walletBalance.value) {
|
141
|
+
const nativeValue = _nativeValue || 0n;
|
142
|
+
const erc20Value = _erc20Value?.amountWei || 0n;
|
143
|
+
|
144
|
+
if (nativeValue > 0n || erc20Value > 0n) {
|
145
|
+
showPayModal({
|
146
|
+
tx,
|
147
|
+
sendTx,
|
148
|
+
rejectTx: reject,
|
149
|
+
resolveTx: resolve,
|
150
|
+
});
|
151
|
+
} else {
|
211
152
|
sendTx();
|
212
|
-
return;
|
213
153
|
}
|
214
|
-
|
215
|
-
// if not enough balance - show modal
|
216
|
-
showPayModal({
|
217
|
-
tx,
|
218
|
-
sendTx,
|
219
|
-
rejectTx: reject,
|
220
|
-
resolveTx: resolve,
|
221
|
-
totalCostWei,
|
222
|
-
walletBalance,
|
223
|
-
currency,
|
224
|
-
});
|
225
154
|
} catch (e) {
|
226
155
|
console.error("Failed to estimate cost", e);
|
227
156
|
// send it anyway?
|
@@ -232,42 +161,3 @@ export function useSendTransactionCore(args: {
|
|
232
161
|
},
|
233
162
|
});
|
234
163
|
}
|
235
|
-
|
236
|
-
export async function getTotalTxCostForBuy(
|
237
|
-
tx: PreparedTransaction,
|
238
|
-
from?: string,
|
239
|
-
) {
|
240
|
-
try {
|
241
|
-
const gasCost = await estimateGasCost({
|
242
|
-
transaction: tx,
|
243
|
-
from,
|
244
|
-
});
|
245
|
-
|
246
|
-
const bufferCost = gasCost.wei / 10n;
|
247
|
-
|
248
|
-
// Note: get tx.value AFTER estimateGasCost
|
249
|
-
const txValue = await resolvePromisedValue(tx.value);
|
250
|
-
|
251
|
-
// add 10% extra gas cost to the estimate to ensure user buys enough to cover the tx cost
|
252
|
-
return gasCost.wei + bufferCost + (txValue || 0n);
|
253
|
-
} catch (e) {
|
254
|
-
if (from) {
|
255
|
-
// try again without passing from
|
256
|
-
return await getTotalTxCostForBuy(tx);
|
257
|
-
}
|
258
|
-
// fallback if both fail, use the tx value + 2M * gas price
|
259
|
-
const value = await resolvePromisedValue(tx.value);
|
260
|
-
|
261
|
-
const gasPrice = await getGasPrice({
|
262
|
-
client: tx.client,
|
263
|
-
chain: tx.chain,
|
264
|
-
});
|
265
|
-
|
266
|
-
const buffer = 2_000_000n * gasPrice;
|
267
|
-
|
268
|
-
if (!value) {
|
269
|
-
return 0n + buffer;
|
270
|
-
}
|
271
|
-
return value + buffer;
|
272
|
-
}
|
273
|
-
}
|