thirdweb 5.31.1 → 5.32.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 +4 -4
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/exports/react.native.js +14 -6
- package/dist/cjs/exports/react.native.js.map +1 -1
- package/dist/cjs/exports/wallets/in-app.js +1 -1
- package/dist/cjs/exports/wallets/in-app.js.map +1 -1
- package/dist/cjs/pay/utils/definitions.js +17 -10
- package/dist/cjs/pay/utils/definitions.js.map +1 -1
- package/dist/cjs/react/core/hooks/connection/ConnectButtonProps.js.map +1 -0
- package/dist/cjs/react/core/hooks/connection/ConnectEmbedProps.js +3 -0
- package/dist/cjs/react/core/hooks/connection/ConnectEmbedProps.js.map +1 -0
- package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/core/hooks/wallets/useSendToken.js +81 -0
- package/dist/cjs/react/core/hooks/wallets/useSendToken.js.map +1 -0
- package/dist/cjs/react/{web/ui/ConnectWallet → core/utils}/defaultTokens.js +20 -25
- package/dist/cjs/react/core/utils/defaultTokens.js.map +1 -0
- package/dist/cjs/react/core/utils/isSmartWallet.js.map +1 -0
- package/dist/cjs/react/{web/ui/ConnectWallet/icons/dataUris.js → core/utils/socialIcons.js} +19 -2
- package/dist/cjs/react/core/utils/socialIcons.js.map +1 -0
- package/dist/cjs/react/core/utils/storage.js.map +1 -0
- package/dist/cjs/react/core/utils/wallet.js +85 -0
- package/dist/cjs/react/core/utils/wallet.js.map +1 -0
- package/dist/cjs/react/native/design-system/index.js +33 -0
- package/dist/cjs/react/native/design-system/index.js.map +1 -0
- package/dist/cjs/react/native/hooks/wallets/useAutoConnect.js +5 -1
- package/dist/cjs/react/native/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/native/hooks/wallets/useSendToken.js +31 -0
- package/dist/cjs/react/native/hooks/wallets/useSendToken.js.map +1 -0
- package/dist/cjs/react/native/ui/components/Address.js +31 -0
- package/dist/cjs/react/native/ui/components/Address.js.map +1 -0
- package/dist/cjs/react/native/ui/components/ChainIcon.js +30 -0
- package/dist/cjs/react/native/ui/components/ChainIcon.js.map +1 -0
- package/dist/cjs/react/native/ui/components/Header.js +30 -0
- package/dist/cjs/react/native/ui/components/Header.js.map +1 -0
- package/dist/cjs/react/native/ui/components/RNImage.js +43 -0
- package/dist/cjs/react/native/ui/components/RNImage.js.map +1 -0
- package/dist/cjs/react/native/ui/components/Skeleton.js +62 -0
- package/dist/cjs/react/native/ui/components/Skeleton.js.map +1 -0
- package/dist/cjs/react/native/ui/components/TokenIcon.js +16 -0
- package/dist/cjs/react/native/ui/components/TokenIcon.js.map +1 -0
- package/dist/cjs/react/native/ui/components/WalletImage.js +69 -0
- package/dist/cjs/react/native/ui/components/WalletImage.js.map +1 -0
- package/dist/cjs/react/native/ui/components/button.js +23 -8
- package/dist/cjs/react/native/ui/components/button.js.map +1 -1
- package/dist/cjs/react/native/ui/components/input.js +64 -0
- package/dist/cjs/react/native/ui/components/input.js.map +1 -0
- package/dist/cjs/react/native/ui/components/spacer.js +10 -0
- package/dist/cjs/react/native/ui/components/spacer.js.map +1 -0
- package/dist/cjs/react/native/ui/components/text.js +10 -7
- package/dist/cjs/react/native/ui/components/text.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/ConnectButton.js +106 -0
- package/dist/cjs/react/native/ui/connect/ConnectButton.js.map +1 -0
- package/dist/cjs/react/native/ui/connect/ConnectModal.js +133 -0
- package/dist/cjs/react/native/ui/connect/ConnectModal.js.map +1 -0
- package/dist/cjs/react/native/ui/connect/ConnectedButton.js +42 -0
- package/dist/cjs/react/native/ui/connect/ConnectedButton.js.map +1 -0
- package/dist/cjs/react/native/ui/connect/ConnectedModal.js +175 -0
- package/dist/cjs/react/native/ui/connect/ConnectedModal.js.map +1 -0
- package/dist/cjs/react/native/ui/connect/ErrorView.js +25 -0
- package/dist/cjs/react/native/ui/connect/ErrorView.js.map +1 -0
- package/dist/cjs/react/native/ui/connect/ExternalWalletsList.js +67 -0
- package/dist/cjs/react/native/ui/connect/ExternalWalletsList.js.map +1 -0
- package/dist/cjs/react/native/ui/connect/InAppWalletUI.js +167 -0
- package/dist/cjs/react/native/ui/connect/InAppWalletUI.js.map +1 -0
- package/dist/cjs/react/native/ui/connect/ReceiveScreen.js +42 -0
- package/dist/cjs/react/native/ui/connect/ReceiveScreen.js.map +1 -0
- package/dist/cjs/react/native/ui/connect/SendScreen.js +82 -0
- package/dist/cjs/react/native/ui/connect/SendScreen.js.map +1 -0
- package/dist/cjs/react/native/ui/connect/SuccessView.js +25 -0
- package/dist/cjs/react/native/ui/connect/SuccessView.js.map +1 -0
- package/dist/cjs/react/native/ui/connect/TokenListScreen.js +59 -0
- package/dist/cjs/react/native/ui/connect/TokenListScreen.js.map +1 -0
- package/dist/cjs/react/native/ui/icons/svgs.js +236 -0
- package/dist/cjs/react/native/ui/icons/svgs.js.map +1 -0
- package/dist/cjs/react/native/ui/{TransactionButton/TrabsactionButton.js → transaction/TransactionButton.js} +1 -1
- package/dist/cjs/react/native/ui/transaction/TransactionButton.js.map +1 -0
- package/dist/cjs/react/native/wallets/defaultWallets.js +22 -0
- package/dist/cjs/react/native/wallets/defaultWallets.js.map +1 -0
- package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js +7 -2
- package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/web/hooks/wallets/useSendToken.js +31 -0
- package/dist/cjs/react/web/hooks/wallets/useSendToken.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +7 -51
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js +2 -8
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +0 -4
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js +3 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/SmartWalletConnectUI.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/SmartWalletConnectUI.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/WalletEntryButton.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/WalletEntryButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js.map +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.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/SendFunds.js +4 -15
- package/dist/cjs/react/web/ui/ConnectWallet/screens/SendFunds.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/SignatureScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/TokenSelector.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewFunds.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/ViewFunds.js.map +1 -1
- package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/components/ChainIcon.js.map +1 -1
- package/dist/cjs/react/web/ui/components/TokenIcon.js +2 -2
- package/dist/cjs/react/web/ui/components/TokenIcon.js.map +1 -1
- package/dist/cjs/react/web/ui/components/WalletImage.js +12 -13
- package/dist/cjs/react/web/ui/components/WalletImage.js.map +1 -1
- package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletHeader.js +2 -2
- package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletHeader.js.map +1 -1
- package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js +8 -4
- package/dist/cjs/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +5 -6
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js +1 -1
- package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js +1 -1
- package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/SocialLogin.js +1 -1
- package/dist/cjs/react/web/wallets/shared/SocialLogin.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/in-app/native/native-connector.js +3 -4
- package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/cjs/wallets/manager/index.js +3 -2
- package/dist/cjs/wallets/manager/index.js.map +1 -1
- package/dist/esm/exports/react.js +4 -3
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/exports/react.native.js +6 -2
- package/dist/esm/exports/react.native.js.map +1 -1
- package/dist/esm/exports/wallets/in-app.js +1 -1
- package/dist/esm/exports/wallets/in-app.js.map +1 -1
- package/dist/esm/pay/utils/definitions.js +15 -9
- package/dist/esm/pay/utils/definitions.js.map +1 -1
- package/dist/esm/react/core/hooks/connection/ConnectButtonProps.js.map +1 -0
- package/dist/esm/react/core/hooks/connection/ConnectEmbedProps.js +2 -0
- package/dist/esm/react/core/hooks/connection/ConnectEmbedProps.js.map +1 -0
- package/dist/esm/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/core/hooks/wallets/useSendToken.js +78 -0
- package/dist/esm/react/core/hooks/wallets/useSendToken.js.map +1 -0
- package/dist/esm/react/{web/ui/ConnectWallet → core/utils}/defaultTokens.js +10 -15
- package/dist/esm/react/core/utils/defaultTokens.js.map +1 -0
- package/dist/esm/react/core/utils/isSmartWallet.js.map +1 -0
- package/dist/esm/react/{web/ui/ConnectWallet/icons/dataUris.js → core/utils/socialIcons.js} +18 -1
- package/dist/esm/react/core/utils/socialIcons.js.map +1 -0
- package/dist/esm/react/core/utils/storage.js.map +1 -0
- package/dist/esm/react/core/utils/wallet.js +80 -0
- package/dist/esm/react/core/utils/wallet.js.map +1 -0
- package/dist/esm/react/native/design-system/index.js +30 -0
- package/dist/esm/react/native/design-system/index.js.map +1 -0
- package/dist/esm/react/native/hooks/wallets/useAutoConnect.js +5 -1
- package/dist/esm/react/native/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/native/hooks/wallets/useSendToken.js +28 -0
- package/dist/esm/react/native/hooks/wallets/useSendToken.js.map +1 -0
- package/dist/esm/react/native/ui/components/Address.js +27 -0
- package/dist/esm/react/native/ui/components/Address.js.map +1 -0
- package/dist/esm/react/native/ui/components/ChainIcon.js +26 -0
- package/dist/esm/react/native/ui/components/ChainIcon.js.map +1 -0
- package/dist/esm/react/native/ui/components/Header.js +27 -0
- package/dist/esm/react/native/ui/components/Header.js.map +1 -0
- package/dist/esm/react/native/ui/components/RNImage.js +39 -0
- package/dist/esm/react/native/ui/components/RNImage.js.map +1 -0
- package/dist/esm/react/native/ui/components/Skeleton.js +58 -0
- package/dist/esm/react/native/ui/components/Skeleton.js.map +1 -0
- package/dist/esm/react/native/ui/components/TokenIcon.js +13 -0
- package/dist/esm/react/native/ui/components/TokenIcon.js.map +1 -0
- package/dist/esm/react/native/ui/components/WalletImage.js +65 -0
- package/dist/esm/react/native/ui/components/WalletImage.js.map +1 -0
- package/dist/esm/react/native/ui/components/button.js +24 -10
- package/dist/esm/react/native/ui/components/button.js.map +1 -1
- package/dist/esm/react/native/ui/components/input.js +60 -0
- package/dist/esm/react/native/ui/components/input.js.map +1 -0
- package/dist/esm/react/native/ui/components/spacer.js +7 -0
- package/dist/esm/react/native/ui/components/spacer.js.map +1 -0
- package/dist/esm/react/native/ui/components/text.js +10 -7
- package/dist/esm/react/native/ui/components/text.js.map +1 -1
- package/dist/esm/react/native/ui/connect/ConnectButton.js +103 -0
- package/dist/esm/react/native/ui/connect/ConnectButton.js.map +1 -0
- package/dist/esm/react/native/ui/connect/ConnectModal.js +129 -0
- package/dist/esm/react/native/ui/connect/ConnectModal.js.map +1 -0
- package/dist/esm/react/native/ui/connect/ConnectedButton.js +39 -0
- package/dist/esm/react/native/ui/connect/ConnectedButton.js.map +1 -0
- package/dist/esm/react/native/ui/connect/ConnectedModal.js +172 -0
- package/dist/esm/react/native/ui/connect/ConnectedModal.js.map +1 -0
- package/dist/esm/react/native/ui/connect/ErrorView.js +21 -0
- package/dist/esm/react/native/ui/connect/ErrorView.js.map +1 -0
- package/dist/esm/react/native/ui/connect/ExternalWalletsList.js +64 -0
- package/dist/esm/react/native/ui/connect/ExternalWalletsList.js.map +1 -0
- package/dist/esm/react/native/ui/connect/InAppWalletUI.js +163 -0
- package/dist/esm/react/native/ui/connect/InAppWalletUI.js.map +1 -0
- package/dist/esm/react/native/ui/connect/ReceiveScreen.js +38 -0
- package/dist/esm/react/native/ui/connect/ReceiveScreen.js.map +1 -0
- package/dist/esm/react/native/ui/connect/SendScreen.js +78 -0
- package/dist/esm/react/native/ui/connect/SendScreen.js.map +1 -0
- package/dist/esm/react/native/ui/connect/SuccessView.js +21 -0
- package/dist/esm/react/native/ui/connect/SuccessView.js.map +1 -0
- package/dist/esm/react/native/ui/connect/TokenListScreen.js +54 -0
- package/dist/esm/react/native/ui/connect/TokenListScreen.js.map +1 -0
- package/dist/esm/react/native/ui/icons/svgs.js +233 -0
- package/dist/esm/react/native/ui/icons/svgs.js.map +1 -0
- package/dist/esm/react/native/ui/{TransactionButton/TrabsactionButton.js → transaction/TransactionButton.js} +1 -1
- package/dist/esm/react/native/ui/transaction/TransactionButton.js.map +1 -0
- package/dist/esm/react/native/wallets/defaultWallets.js +19 -0
- package/dist/esm/react/native/wallets/defaultWallets.js.map +1 -0
- package/dist/esm/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/esm/react/web/hooks/wallets/useAutoConnect.js +7 -2
- package/dist/esm/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/web/hooks/wallets/useSendToken.js +28 -0
- package/dist/esm/react/web/hooks/wallets/useSendToken.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +7 -51
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js +2 -8
- package/dist/esm/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +1 -5
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js +3 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectModalContent.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/SmartWalletConnectUI.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/SmartWalletConnectUI.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/WalletEntryButton.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/WalletEntryButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js.map +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.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/SendFunds.js +5 -16
- package/dist/esm/react/web/ui/ConnectWallet/screens/SendFunds.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/SignatureScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/TokenSelector.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/ViewFunds.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/ViewFunds.js.map +1 -1
- package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/components/ChainIcon.js.map +1 -1
- package/dist/esm/react/web/ui/components/TokenIcon.js +1 -1
- package/dist/esm/react/web/ui/components/WalletImage.js +3 -4
- package/dist/esm/react/web/ui/components/WalletImage.js.map +1 -1
- package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletHeader.js +1 -1
- package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletHeader.js.map +1 -1
- package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js +8 -4
- package/dist/esm/react/web/wallets/in-app/InAppWalletConnectUI.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +2 -3
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/OTPLoginUI.js +1 -1
- package/dist/esm/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/PassKeyLogin.js +1 -1
- package/dist/esm/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/SocialLogin.js +1 -1
- package/dist/esm/react/web/wallets/shared/SocialLogin.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/in-app/native/native-connector.js +3 -4
- package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/esm/wallets/manager/index.js +3 -2
- package/dist/esm/wallets/manager/index.js.map +1 -1
- package/dist/types/exports/react.d.ts +7 -6
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/exports/react.native.d.ts +7 -2
- package/dist/types/exports/react.native.d.ts.map +1 -1
- package/dist/types/exports/wallets/in-app.d.ts +1 -1
- package/dist/types/exports/wallets/in-app.d.ts.map +1 -1
- package/dist/types/pay/utils/definitions.d.ts +1 -0
- package/dist/types/pay/utils/definitions.d.ts.map +1 -1
- package/dist/types/react/{web/ui/ConnectWallet → core/hooks/connection}/ConnectButtonProps.d.ts +6 -6
- package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts.map +1 -0
- package/dist/types/react/core/hooks/connection/ConnectEmbedProps.d.ts +264 -0
- package/dist/types/react/core/hooks/connection/ConnectEmbedProps.d.ts.map +1 -0
- package/dist/types/react/core/hooks/connection/types.d.ts +1 -1
- package/dist/types/react/core/hooks/connection/types.d.ts.map +1 -1
- package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts +1 -1
- package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts.map +1 -1
- package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts +3 -1
- package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/core/hooks/wallets/useSendToken.d.ts +12 -0
- package/dist/types/react/core/hooks/wallets/useSendToken.d.ts.map +1 -0
- package/dist/types/react/{web/ui/ConnectWallet → core/utils}/defaultTokens.d.ts +1 -0
- package/dist/types/react/core/utils/defaultTokens.d.ts.map +1 -0
- package/dist/types/react/core/utils/isSmartWallet.d.ts.map +1 -0
- package/dist/types/react/{web/ui/ConnectWallet/icons/dataUris.d.ts → core/utils/socialIcons.d.ts} +17 -1
- package/dist/types/react/core/utils/socialIcons.d.ts.map +1 -0
- package/dist/types/react/core/utils/storage.d.ts +5 -0
- package/dist/types/react/core/utils/storage.d.ts.map +1 -0
- package/dist/types/react/core/utils/wallet.d.ts +26 -0
- package/dist/types/react/core/utils/wallet.d.ts.map +1 -0
- package/dist/types/react/native/design-system/index.d.ts +30 -0
- package/dist/types/react/native/design-system/index.d.ts.map +1 -0
- package/dist/types/react/native/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/{web/ui/hooks → native/hooks/wallets}/useSendToken.d.ts +18 -1
- package/dist/types/react/native/hooks/wallets/useSendToken.d.ts.map +1 -0
- package/dist/types/react/native/ui/components/Address.d.ts +9 -0
- package/dist/types/react/native/ui/components/Address.d.ts.map +1 -0
- package/dist/types/react/native/ui/components/ChainIcon.d.ts +11 -0
- package/dist/types/react/native/ui/components/ChainIcon.d.ts.map +1 -0
- package/dist/types/react/native/ui/components/Header.d.ts +10 -0
- package/dist/types/react/native/ui/components/Header.d.ts.map +1 -0
- package/dist/types/react/native/ui/components/RNImage.d.ts +10 -0
- package/dist/types/react/native/ui/components/RNImage.d.ts.map +1 -0
- package/dist/types/react/native/ui/components/Skeleton.d.ts +11 -0
- package/dist/types/react/native/ui/components/Skeleton.d.ts.map +1 -0
- package/dist/types/react/native/ui/components/TokenIcon.d.ts +15 -0
- package/dist/types/react/native/ui/components/TokenIcon.d.ts.map +1 -0
- package/dist/types/react/native/ui/components/WalletImage.d.ts +9 -0
- package/dist/types/react/native/ui/components/WalletImage.d.ts.map +1 -0
- package/dist/types/react/native/ui/components/button.d.ts +5 -1
- package/dist/types/react/native/ui/components/button.d.ts.map +1 -1
- package/dist/types/react/native/ui/components/input.d.ts +12 -0
- package/dist/types/react/native/ui/components/input.d.ts.map +1 -0
- package/dist/types/react/native/ui/components/spacer.d.ts +5 -0
- package/dist/types/react/native/ui/components/spacer.d.ts.map +1 -0
- package/dist/types/react/native/ui/components/text.d.ts +1 -1
- package/dist/types/react/native/ui/components/text.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/ConnectButton.d.ts +18 -0
- package/dist/types/react/native/ui/connect/ConnectButton.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/ConnectModal.d.ts +40 -0
- package/dist/types/react/native/ui/connect/ConnectModal.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/ConnectedButton.d.ts +9 -0
- package/dist/types/react/native/ui/connect/ConnectedButton.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/ConnectedModal.d.ts +14 -0
- package/dist/types/react/native/ui/connect/ConnectedModal.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/ErrorView.d.ts +7 -0
- package/dist/types/react/native/ui/connect/ErrorView.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/ExternalWalletsList.d.ts +15 -0
- package/dist/types/react/native/ui/connect/ExternalWalletsList.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts +19 -0
- package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/ReceiveScreen.d.ts +13 -0
- package/dist/types/react/native/ui/connect/ReceiveScreen.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/SendScreen.d.ts +14 -0
- package/dist/types/react/native/ui/connect/SendScreen.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/SuccessView.d.ts +7 -0
- package/dist/types/react/native/ui/connect/SuccessView.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/TokenListScreen.d.ts +20 -0
- package/dist/types/react/native/ui/connect/TokenListScreen.d.ts.map +1 -0
- package/dist/types/react/native/ui/icons/svgs.d.ts +22 -0
- package/dist/types/react/native/ui/icons/svgs.d.ts.map +1 -0
- package/dist/types/react/native/ui/{TransactionButton/TrabsactionButton.d.ts → transaction/TransactionButton.d.ts} +1 -1
- package/dist/types/react/native/ui/transaction/TransactionButton.d.ts.map +1 -0
- package/dist/types/react/native/wallets/defaultWallets.d.ts +11 -0
- package/dist/types/react/native/wallets/defaultWallets.d.ts.map +1 -0
- package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts.map +1 -1
- package/dist/types/react/web/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/web/hooks/wallets/useSendToken.d.ts +28 -0
- package/dist/types/react/web/hooks/wallets/useSendToken.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts +2 -2
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts +1 -267
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectModalContent.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/WalletEntryButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/WalletSelector.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts +2 -2
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.d.ts +1 -1
- 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 +1 -1
- 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/swap/PayWithCrypto.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/SendFunds.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/SendFunds.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/SignatureScreen.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/SignatureScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/TokenSelector.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/TokenSelector.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/ViewFunds.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/ViewFunds.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/nativeToken.d.ts +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 +2 -2
- package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/ChainIcon.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/WalletImage.d.ts.map +1 -1
- package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/OTPLoginUI.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/SocialLogin.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
- package/dist/types/wallets/manager/index.d.ts +1 -0
- package/dist/types/wallets/manager/index.d.ts.map +1 -1
- package/package.json +19 -3
- package/src/exports/react.native.ts +19 -5
- package/src/exports/react.ts +7 -12
- package/src/exports/wallets/in-app.ts +1 -1
- package/src/pay/utils/definitions.ts +16 -9
- package/src/react/{web/ui/ConnectWallet → core/hooks/connection}/ConnectButtonProps.ts +7 -10
- package/src/react/core/hooks/connection/ConnectEmbedProps.ts +285 -0
- package/src/react/core/hooks/connection/types.ts +1 -1
- package/src/react/core/hooks/transaction/useSendTransaction.ts +1 -1
- package/src/react/core/hooks/wallets/useAutoConnect.ts +1 -1
- package/src/react/core/hooks/wallets/useSendToken.ts +94 -0
- package/src/react/{web/ui/ConnectWallet → core/utils}/defaultTokens.ts +10 -15
- package/src/react/{web/ui/ConnectWallet/icons/dataUris.ts → core/utils/socialIcons.ts} +30 -0
- package/src/react/{web/wallets/shared → core/utils}/storage.ts +2 -2
- package/src/react/core/utils/wallet.ts +101 -0
- package/src/react/native/design-system/index.ts +31 -0
- package/src/react/native/hooks/wallets/useAutoConnect.ts +5 -1
- package/src/react/native/hooks/wallets/useSendToken.ts +29 -0
- package/src/react/native/ui/components/Address.tsx +52 -0
- package/src/react/native/ui/components/ChainIcon.tsx +42 -0
- package/src/react/native/ui/components/Header.tsx +84 -0
- package/src/react/native/ui/components/RNImage.tsx +71 -0
- package/src/react/native/ui/components/Skeleton.tsx +93 -0
- package/src/react/native/ui/components/TokenIcon.tsx +31 -0
- package/src/react/native/ui/components/WalletImage.tsx +81 -0
- package/src/react/native/ui/components/button.tsx +41 -9
- package/src/react/native/ui/components/input.tsx +128 -0
- package/src/react/native/ui/components/spacer.tsx +6 -0
- package/src/react/native/ui/components/text.tsx +17 -8
- package/src/react/native/ui/connect/ConnectButton.tsx +188 -0
- package/src/react/native/ui/connect/ConnectModal.tsx +301 -0
- package/src/react/native/ui/connect/ConnectedButton.tsx +94 -0
- package/src/react/native/ui/connect/ConnectedModal.tsx +434 -0
- package/src/react/native/ui/connect/ErrorView.tsx +44 -0
- package/src/react/native/ui/connect/ExternalWalletsList.tsx +162 -0
- package/src/react/native/ui/connect/InAppWalletUI.tsx +320 -0
- package/src/react/native/ui/connect/ReceiveScreen.tsx +81 -0
- package/src/react/native/ui/connect/SendScreen.tsx +238 -0
- package/src/react/native/ui/connect/SuccessView.tsx +44 -0
- package/src/react/native/ui/connect/TokenListScreen.tsx +147 -0
- package/src/react/native/ui/icons/svgs.ts +252 -0
- package/src/react/native/wallets/defaultWallets.ts +30 -0
- package/src/react/web/hooks/transaction/useSendTransaction.tsx +2 -2
- package/src/react/web/hooks/wallets/useAutoConnect.ts +18 -8
- package/src/react/web/hooks/wallets/useSendToken.ts +29 -0
- package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +2 -2
- package/src/react/web/ui/ConnectWallet/Details.tsx +26 -78
- package/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx +2 -9
- package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +6 -285
- package/src/react/web/ui/ConnectWallet/Modal/ConnectModalContent.tsx +3 -1
- package/src/react/web/ui/ConnectWallet/Modal/SmartWalletConnectUI.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/WalletEntryButton.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/WalletSelector.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +2 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.ts +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.ts +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/SendFunds.tsx +8 -21
- package/src/react/web/ui/ConnectWallet/screens/SignatureScreen.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/TokenSelector.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/ViewFunds.tsx +4 -1
- package/src/react/web/ui/ConnectWallet/screens/nativeToken.ts +1 -1
- package/src/react/web/ui/PayEmbed.tsx +3 -3
- package/src/react/web/ui/components/ChainIcon.tsx +0 -1
- package/src/react/web/ui/components/TokenIcon.tsx +1 -1
- package/src/react/web/ui/components/WalletImage.tsx +7 -9
- package/src/react/web/wallets/ecosystem/EcosystemWalletHeader.tsx +1 -1
- package/src/react/web/wallets/in-app/InAppWalletConnectUI.tsx +8 -4
- package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +6 -6
- package/src/react/web/wallets/shared/OTPLoginUI.tsx +1 -1
- package/src/react/web/wallets/shared/PassKeyLogin.tsx +1 -1
- package/src/react/web/wallets/shared/SocialLogin.tsx +1 -1
- package/src/version.ts +1 -1
- package/src/wallets/in-app/native/native-connector.ts +4 -6
- package/src/wallets/manager/index.ts +4 -2
- package/dist/cjs/react/native/ui/TransactionButton/TrabsactionButton.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButtonProps.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/defaultTokens.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/icons/dataUris.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/icons/socialLogins.js +0 -15
- package/dist/cjs/react/web/ui/ConnectWallet/icons/socialLogins.js.map +0 -1
- package/dist/cjs/react/web/ui/hooks/useSendToken.js +0 -57
- package/dist/cjs/react/web/ui/hooks/useSendToken.js.map +0 -1
- package/dist/cjs/react/web/ui/hooks/useWalletInfo.js +0 -37
- package/dist/cjs/react/web/ui/hooks/useWalletInfo.js.map +0 -1
- package/dist/cjs/react/web/utils/isSmartWallet.js.map +0 -1
- package/dist/cjs/react/web/wallets/in-app/socialIcons.js +0 -10
- package/dist/cjs/react/web/wallets/in-app/socialIcons.js.map +0 -1
- package/dist/cjs/react/web/wallets/shared/storage.js.map +0 -1
- package/dist/esm/react/native/ui/TransactionButton/TrabsactionButton.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButtonProps.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/defaultTokens.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/icons/dataUris.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/icons/socialLogins.js +0 -12
- package/dist/esm/react/web/ui/ConnectWallet/icons/socialLogins.js.map +0 -1
- package/dist/esm/react/web/ui/hooks/useSendToken.js +0 -54
- package/dist/esm/react/web/ui/hooks/useSendToken.js.map +0 -1
- package/dist/esm/react/web/ui/hooks/useWalletInfo.js +0 -33
- package/dist/esm/react/web/ui/hooks/useWalletInfo.js.map +0 -1
- package/dist/esm/react/web/utils/isSmartWallet.js.map +0 -1
- package/dist/esm/react/web/wallets/in-app/socialIcons.js +0 -7
- package/dist/esm/react/web/wallets/in-app/socialIcons.js.map +0 -1
- package/dist/esm/react/web/wallets/shared/storage.js.map +0 -1
- package/dist/types/react/native/ui/TransactionButton/TrabsactionButton.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/ConnectButtonProps.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/defaultTokens.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/icons/dataUris.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/icons/socialLogins.d.ts +0 -12
- package/dist/types/react/web/ui/ConnectWallet/icons/socialLogins.d.ts.map +0 -1
- package/dist/types/react/web/ui/hooks/useSendToken.d.ts.map +0 -1
- package/dist/types/react/web/ui/hooks/useWalletInfo.d.ts +0 -13
- package/dist/types/react/web/ui/hooks/useWalletInfo.d.ts.map +0 -1
- package/dist/types/react/web/utils/isSmartWallet.d.ts.map +0 -1
- package/dist/types/react/web/wallets/in-app/socialIcons.d.ts +0 -6
- package/dist/types/react/web/wallets/in-app/socialIcons.d.ts.map +0 -1
- package/dist/types/react/web/wallets/shared/storage.d.ts +0 -5
- package/dist/types/react/web/wallets/shared/storage.d.ts.map +0 -1
- package/src/react/web/ui/ConnectWallet/icons/socialLogins.ts +0 -22
- package/src/react/web/ui/hooks/useSendToken.ts +0 -66
- package/src/react/web/ui/hooks/useWalletInfo.ts +0 -37
- package/src/react/web/wallets/in-app/socialIcons.ts +0 -11
- /package/dist/cjs/react/{web/ui/ConnectWallet → core/hooks/connection}/ConnectButtonProps.js +0 -0
- /package/dist/cjs/react/{web → core}/utils/isSmartWallet.js +0 -0
- /package/dist/cjs/react/{web/wallets/shared → core/utils}/storage.js +0 -0
- /package/dist/esm/react/{web/ui/ConnectWallet → core/hooks/connection}/ConnectButtonProps.js +0 -0
- /package/dist/esm/react/{web → core}/utils/isSmartWallet.js +0 -0
- /package/dist/esm/react/{web/wallets/shared → core/utils}/storage.js +0 -0
- /package/dist/types/react/{web → core}/utils/isSmartWallet.d.ts +0 -0
- /package/src/react/{web → core}/utils/isSmartWallet.ts +0 -0
- /package/src/react/native/ui/{TransactionButton/TrabsactionButton.tsx → transaction/TransactionButton.tsx} +0 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
import { useMutation } from "@tanstack/react-query";
|
2
|
+
import type { ThirdwebClient } from "../../../../client/client.js";
|
3
|
+
import { getContract } from "../../../../contract/contract.js";
|
4
|
+
import { resolveAddress } from "../../../../extensions/ens/resolve-address.js";
|
5
|
+
import { transfer } from "../../../../extensions/erc20/write/transfer.js";
|
6
|
+
import { sendTransaction } from "../../../../transaction/actions/send-transaction.js";
|
7
|
+
import { prepareTransaction } from "../../../../transaction/prepare-transaction.js";
|
8
|
+
import { isAddress } from "../../../../utils/address.js";
|
9
|
+
import { toWei } from "../../../../utils/units.js";
|
10
|
+
import type { Wallet } from "../../../../wallets/interfaces/wallet.js";
|
11
|
+
|
12
|
+
/**
|
13
|
+
* Send Native or ERC20 tokens from active wallet to given address.
|
14
|
+
* @internal
|
15
|
+
*/
|
16
|
+
export function useSendTokenCore(client: ThirdwebClient, wallet?: Wallet) {
|
17
|
+
return useMutation({
|
18
|
+
async mutationFn(option: {
|
19
|
+
tokenAddress?: string;
|
20
|
+
receiverAddress: string;
|
21
|
+
amount: string;
|
22
|
+
}) {
|
23
|
+
const { tokenAddress, receiverAddress, amount } = option;
|
24
|
+
const activeChain = wallet?.getChain();
|
25
|
+
const account = wallet?.getAccount();
|
26
|
+
|
27
|
+
// state validation
|
28
|
+
if (!activeChain) {
|
29
|
+
throw new Error("No active chain");
|
30
|
+
}
|
31
|
+
if (!account) {
|
32
|
+
throw new Error("No active account");
|
33
|
+
}
|
34
|
+
|
35
|
+
// input validation
|
36
|
+
if (
|
37
|
+
!receiverAddress ||
|
38
|
+
(!receiverAddress.endsWith(".eth") && !isAddress(receiverAddress))
|
39
|
+
) {
|
40
|
+
throw new Error("Invalid address");
|
41
|
+
}
|
42
|
+
|
43
|
+
if (!amount || Number.isNaN(Number(amount)) || Number(amount) < 0) {
|
44
|
+
throw new Error("Invalid amount");
|
45
|
+
}
|
46
|
+
|
47
|
+
let to = receiverAddress;
|
48
|
+
// resolve ENS if needed
|
49
|
+
try {
|
50
|
+
to = await resolveAddress({
|
51
|
+
client,
|
52
|
+
name: receiverAddress,
|
53
|
+
});
|
54
|
+
} catch (e) {
|
55
|
+
throw new Error("Failed to resolve address");
|
56
|
+
}
|
57
|
+
|
58
|
+
// native token transfer
|
59
|
+
if (!tokenAddress) {
|
60
|
+
const sendNativeTokenTx = prepareTransaction({
|
61
|
+
chain: activeChain,
|
62
|
+
client,
|
63
|
+
to,
|
64
|
+
value: toWei(amount),
|
65
|
+
});
|
66
|
+
|
67
|
+
await sendTransaction({
|
68
|
+
transaction: sendNativeTokenTx,
|
69
|
+
account,
|
70
|
+
});
|
71
|
+
}
|
72
|
+
|
73
|
+
// erc20 token transfer
|
74
|
+
else {
|
75
|
+
const contract = getContract({
|
76
|
+
address: tokenAddress,
|
77
|
+
client,
|
78
|
+
chain: activeChain,
|
79
|
+
});
|
80
|
+
|
81
|
+
const tx = transfer({
|
82
|
+
amount,
|
83
|
+
contract,
|
84
|
+
to,
|
85
|
+
});
|
86
|
+
|
87
|
+
await sendTransaction({
|
88
|
+
transaction: tx,
|
89
|
+
account,
|
90
|
+
});
|
91
|
+
}
|
92
|
+
},
|
93
|
+
});
|
94
|
+
}
|
@@ -5,7 +5,7 @@ export type TokenInfo = {
|
|
5
5
|
icon?: string;
|
6
6
|
};
|
7
7
|
|
8
|
-
const wrappedEthIcon =
|
8
|
+
export const wrappedEthIcon =
|
9
9
|
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAwIiBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzYyN0VFQSIvPjxnIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0ibm9uemVybyI+PHBhdGggZmlsbC1vcGFjaXR5PSIuNjAyIiBkPSJNMTYuNDk4IDR2OC44N2w3LjQ5NyAzLjM1eiIvPjxwYXRoIGQ9Ik0xNi40OTggNEw5IDE2LjIybDcuNDk4LTMuMzV6Ii8+PHBhdGggZmlsbC1vcGFjaXR5PSIuNjAyIiBkPSJNMTYuNDk4IDIxLjk2OHY2LjAyN0wyNCAxNy42MTZ6Ii8+PHBhdGggZD0iTTE2LjQ5OCAyNy45OTV2LTYuMDI4TDkgMTcuNjE2eiIvPjxwYXRoIGZpbGwtb3BhY2l0eT0iLjIiIGQ9Ik0xNi40OTggMjAuNTczbDcuNDk3LTQuMzUzLTcuNDk3LTMuMzQ4eiIvPjxwYXRoIGZpbGwtb3BhY2l0eT0iLjYwMiIgZD0iTTkgMTYuMjJsNy40OTggNC4zNTN2LTcuNzAxeiIvPjwvZz48L2c+PC9zdmc+";
|
10
10
|
|
11
11
|
const tetherUsdIcon =
|
@@ -88,20 +88,6 @@ export const defaultTokens: SupportedTokens = {
|
|
88
88
|
icon: maticIcon,
|
89
89
|
},
|
90
90
|
],
|
91
|
-
"5": [
|
92
|
-
{
|
93
|
-
address: "0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6",
|
94
|
-
name: "Wrapped Ether",
|
95
|
-
symbol: "WETH",
|
96
|
-
icon: wrappedEthIcon,
|
97
|
-
},
|
98
|
-
{
|
99
|
-
address: "0x07865c6E87B9F70255377e024ace6630C1Eaa37F",
|
100
|
-
name: "USD Coin",
|
101
|
-
symbol: "USDC",
|
102
|
-
icon: usdcIcon,
|
103
|
-
},
|
104
|
-
],
|
105
91
|
"10": [
|
106
92
|
{
|
107
93
|
address: "0x4200000000000000000000000000000000000006",
|
@@ -327,4 +313,13 @@ export const defaultTokens: SupportedTokens = {
|
|
327
313
|
icon: usdcIcon,
|
328
314
|
},
|
329
315
|
],
|
316
|
+
// Base sepolia
|
317
|
+
"84532": [
|
318
|
+
{
|
319
|
+
address: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
|
320
|
+
name: "USD Coin",
|
321
|
+
symbol: "USDC",
|
322
|
+
icon: usdcIcon,
|
323
|
+
},
|
324
|
+
],
|
330
325
|
};
|
@@ -1,3 +1,27 @@
|
|
1
|
+
// TODO make the social icons usable in RN too
|
2
|
+
export const googleIconUri =
|
3
|
+
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MDUuNiIgaGVpZ2h0PSI3MjAiIHZpZXdCb3g9IjAgMCAxODYuNjkgMTkwLjUiIHhtbG5zOnY9Imh0dHBzOi8vdmVjdGEuaW8vbmFubyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTE4NC41ODMgNzY1LjE3MSkiPjxwYXRoIGNsaXAtcGF0aD0ibm9uZSIgbWFzaz0ibm9uZSIgZD0iTS0xMDg5LjMzMy02ODcuMjM5djM2Ljg4OGg1MS4yNjJjLTIuMjUxIDExLjg2My05LjAwNiAyMS45MDgtMTkuMTM3IDI4LjY2MmwzMC45MTMgMjMuOTg2YzE4LjAxMS0xNi42MjUgMjguNDAyLTQxLjA0NCAyOC40MDItNzAuMDUyIDAtNi43NTQtLjYwNi0xMy4yNDktMS43MzItMTkuNDgzeiIgZmlsbD0iIzQyODVmNCIvPjxwYXRoIGNsaXAtcGF0aD0ibm9uZSIgbWFzaz0ibm9uZSIgZD0iTS0xMTQyLjcxNC02NTEuNzkxbC02Ljk3MiA1LjMzNy0yNC42NzkgMTkuMjIzaDBjMTUuNjczIDMxLjA4NiA0Ny43OTYgNTIuNTYxIDg1LjAzIDUyLjU2MSAyNS43MTcgMCA0Ny4yNzgtOC40ODYgNjMuMDM4LTIzLjAzM2wtMzAuOTEzLTIzLjk4NmMtOC40ODYgNS43MTUtMTkuMzEgOS4xNzktMzIuMTI1IDkuMTc5LTI0Ljc2NSAwLTQ1LjgwNi0xNi43MTItNTMuMzQtMzkuMjI2eiIgZmlsbD0iIzM0YTg1MyIvPjxwYXRoIGNsaXAtcGF0aD0ibm9uZSIgbWFzaz0ibm9uZSIgZD0iTS0xMTc0LjM2NS03MTIuNjFjLTYuNDk0IDEyLjgxNS0xMC4yMTcgMjcuMjc2LTEwLjIxNyA0Mi42ODlzMy43MjMgMjkuODc0IDEwLjIxNyA0Mi42ODljMCAuMDg2IDMxLjY5My0yNC41OTIgMzEuNjkzLTI0LjU5Mi0xLjkwNS01LjcxNS0zLjAzMS0xMS43NzYtMy4wMzEtMTguMDk4czEuMTI2LTEyLjM4MyAzLjAzMS0xOC4wOTh6IiBmaWxsPSIjZmJiYzA1Ii8+PHBhdGggZD0iTS0xMDg5LjMzMy03MjcuMjQ0YzE0LjAyOCAwIDI2LjQ5NyA0Ljg0OSAzNi40NTUgMTQuMjAxbDI3LjI3Ni0yNy4yNzZjLTE2LjUzOS0xNS40MTMtMzguMDEzLTI0Ljg1Mi02My43MzEtMjQuODUyLTM3LjIzNCAwLTY5LjM1OSAyMS4zODgtODUuMDMyIDUyLjU2MWwzMS42OTIgMjQuNTkyYzcuNTMzLTIyLjUxNCAyOC41NzUtMzkuMjI2IDUzLjM0LTM5LjIyNnoiIGZpbGw9IiNlYTQzMzUiIGNsaXAtcGF0aD0ibm9uZSIgbWFzaz0ibm9uZSIvPjwvZz48L3N2Zz4=";
|
4
|
+
export const facebookIconUri =
|
5
|
+
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iRWJlbmUgMSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgaWQ9ImZhY2Vib29rLWxvZ28tMjAxOSI+PHBhdGggZmlsbD0iIzE4NzdmMiIgZD0iTTEwMjQsNTEyQzEwMjQsMjI5LjIzMDE2LDc5NC43Njk3OCwwLDUxMiwwUzAsMjI5LjIzMDE2LDAsNTEyYzAsMjU1LjU1NCwxODcuMjMxLDQ2Ny4zNzAxMiw0MzIsNTA1Ljc3Nzc3VjY2MEgzMDJWNTEySDQzMlYzOTkuMkM0MzIsMjcwLjg3OTgyLDUwOC40Mzg1NCwyMDAsNjI1LjM4OTIyLDIwMCw2ODEuNDA3NjUsMjAwLDc0MCwyMTAsNzQwLDIxMFYzMzZINjc1LjQzNzEzQzYxMS44MzUwOCwzMzYsNTkyLDM3NS40NjY2Nyw1OTIsNDE1Ljk1NzI4VjUxMkg3MzRMNzExLjMsNjYwSDU5MnYzNTcuNzc3NzdDODM2Ljc2OSw5NzkuMzcwMTIsMTAyNCw3NjcuNTU0LDEwMjQsNTEyWiI+PC9wYXRoPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik03MTEuMyw2NjAsNzM0LDUxMkg1OTJWNDE1Ljk1NzI4QzU5MiwzNzUuNDY2NjcsNjExLjgzNTA4LDMzNiw2NzUuNDM3MTMsMzM2SDc0MFYyMTBzLTU4LjU5MjM1LTEwLTExNC42MTA3OC0xMEM1MDguNDM4NTQsMjAwLDQzMiwyNzAuODc5ODIsNDMyLDM5OS4yVjUxMkgzMDJWNjYwSDQzMnYzNTcuNzc3NzdhNTE3LjM5NjE5LDUxNy4zOTYxOSwwLDAsMCwxNjAsMFY2NjBaIj48L3BhdGg+PC9zdmc+";
|
6
|
+
export const twitterIconUri =
|
7
|
+
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiIgaWQ9InR3aXR0ZXIiPjxwYXRoIGZpbGw9IiMwM0E5RjQiIGQ9Ik0xNiAzLjUzOWE2LjgzOSA2LjgzOSAwIDAgMS0xLjg5LjUxOCAzLjI2MiAzLjI2MiAwIDAgMCAxLjQ0My0xLjgxMyA2LjU1NSA2LjU1NSAwIDAgMS0yLjA4Ljc5NCAzLjI4IDMuMjggMCAwIDAtNS42NzQgMi4yNDNjMCAuMjYuMDIyLjUxLjA3Ni43NDhhOS4yODQgOS4yODQgMCAwIDEtNi43NjEtMy40MzEgMy4yODUgMy4yODUgMCAwIDAgMS4wMDggNC4zODRBMy4yNCAzLjI0IDAgMCAxIC42NCA2LjU3OHYuMDM2YTMuMjk1IDMuMjk1IDAgMCAwIDIuNjI4IDMuMjIzIDMuMjc0IDMuMjc0IDAgMCAxLS44Ni4xMDggMi45IDIuOSAwIDAgMS0uNjIxLS4wNTYgMy4zMTEgMy4zMTEgMCAwIDAgMy4wNjUgMi4yODUgNi41OSA2LjU5IDAgMCAxLTQuMDY3IDEuMzk5Yy0uMjY5IDAtLjUyNy0uMDEyLS43ODUtLjA0NUE5LjIzNCA5LjIzNCAwIDAgMCA1LjAzMiAxNWM2LjAzNiAwIDkuMzM2LTUgOS4zMzYtOS4zMzQgMC0uMTQ1LS4wMDUtLjI4NS0uMDEyLS40MjRBNi41NDQgNi41NDQgMCAwIDAgMTYgMy41Mzl6Ij48L3BhdGg+PC9zdmc+";
|
8
|
+
export const githubIconUri =
|
9
|
+
"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEwXzIpIj4KPHBhdGggZD0iTTcuOTk5IDBDMy41ODIwMSAwIDQuNjE2NDhlLTA2IDMuNTk2IDQuNjE2NDhlLTA2IDguMDMyQy0wLjAwMTggOS43MTU1NSAwLjUyNTUxOSAxMS4zNTcxIDEuNTA3NDQgMTIuNzI0NkMyLjQ4OTM1IDE0LjA5MjIgMy44NzYyMSAxNS4xMTY2IDUuNDcyIDE1LjY1M0M1Ljg3MiAxNS43MjcgNi4wMTggMTUuNDc5IDYuMDE4IDE1LjI2NkM2LjAxOCAxNS4wNzUgNi4wMTEgMTQuNTcgNi4wMDcgMTMuOUMzLjc4MiAxNC4zODUgMy4zMTIgMTIuODIzIDMuMzEyIDEyLjgyM0MyLjk0OSAxMS44OTUgMi40MjQgMTEuNjQ4IDIuNDI0IDExLjY0OEMxLjY5NyAxMS4xNSAyLjQ3OCAxMS4xNiAyLjQ3OCAxMS4xNkMzLjI4MSAxMS4yMTcgMy43MDMgMTEuOTg4IDMuNzAzIDExLjk4OEM0LjQxNyAxMy4yMTUgNS41NzYgMTIuODYxIDYuMDMyIDEyLjY1NUM2LjEwNCAxMi4xMzYgNi4zMTEgMTEuNzgyIDYuNTQgMTEuNTgxQzQuNzY0IDExLjM3OCAyLjg5NiAxMC42ODkgMi44OTYgNy42MTJDMi44OTYgNi43MzUgMy4yMDggNi4wMTggMy43MiA1LjQ1NkMzLjYzNyA1LjI1MyAzLjM2MyA0LjQzNiAzLjc5OCAzLjMzMUMzLjc5OCAzLjMzMSA0LjQ3IDMuMTE1IDUuOTk4IDQuMTU0QzYuNjUwNzUgMy45NzU2MSA3LjMyNDMyIDMuODg0ODIgOC4wMDEwMSAzLjg4NEM4LjY3NzcyIDMuODg1MzQgOS4zNTEyNiAzLjk3NjQ3IDEwLjAwNCA0LjE1NUMxMS41MzEgMy4xMTYgMTIuMjAyIDMuMzMyIDEyLjIwMiAzLjMzMkMxMi42MzggNC40MzggMTIuMzY0IDUuMjU0IDEyLjI4MiA1LjQ1N0MxMi43OTUgNi4wMTkgMTMuMTA0IDYuNzM2IDEzLjEwNCA3LjYxM0MxMy4xMDQgMTAuNjk4IDExLjIzNCAxMS4zNzcgOS40NTIgMTEuNTc2QzkuNzM5IDExLjgyNCA5Ljk5NSAxMi4zMTQgOS45OTUgMTMuMDYzQzkuOTk1IDE0LjEzNyA5Ljk4NSAxNS4wMDMgOS45ODUgMTUuMjY2QzkuOTg1IDE1LjQ4MSAxMC4xMjkgMTUuNzMxIDEwLjUzNSAxNS42NTJDMTIuMTI5MiAxNS4xMTQzIDEzLjUxNDQgMTQuMDg5NSAxNC40OTQ5IDEyLjcyMjNDMTUuNDc1NSAxMS4zNTUxIDE2LjAwMTkgOS43MTQ0OCAxNiA4LjAzMkMxNiAzLjU5NiAxMi40MTggMCA3Ljk5OSAwWiIgZmlsbD0iIzhCOEI4QiIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEwXzIiPgo8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==";
|
10
|
+
export const appleIconUri =
|
11
|
+
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDM4IiBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9IjAgMCA0OTYuMjU1IDYwOC43MjgiIGlkPSJhcHBsZSI+PHBhdGggZmlsbD0iIzk5OSIgZD0iTTI3My44MSA1Mi45NzNDMzEzLjgwNi4yNTcgMzY5LjQxIDAgMzY5LjQxIDBzOC4yNzEgNDkuNTYyLTMxLjQ2MyA5Ny4zMDZjLTQyLjQyNiA1MC45OC05MC42NDkgNDIuNjM4LTkwLjY0OSA0Mi42MzhzLTkuMDU1LTQwLjA5NCAyNi41MTItODYuOTcxek0yNTIuMzg1IDE3NC42NjJjMjAuNTc2IDAgNTguNzY0LTI4LjI4NCAxMDguNDcxLTI4LjI4NCA4NS41NjIgMCAxMTkuMjIyIDYwLjg4MyAxMTkuMjIyIDYwLjg4M3MtNjUuODMzIDMzLjY1OS02NS44MzMgMTE1LjMzMWMwIDkyLjEzMyA4Mi4wMSAxMjMuODg1IDgyLjAxIDEyMy44ODVzLTU3LjMyOCAxNjEuMzU3LTEzNC43NjIgMTYxLjM1N2MtMzUuNTY1IDAtNjMuMjE1LTIzLjk2Ny0xMDAuNjg4LTIzLjk2Ny0zOC4xODggMC03Ni4wODQgMjQuODYxLTEwMC43NjYgMjQuODYxQzg5LjMzIDYwOC43MyAwIDQ1NS42NjYgMCAzMzIuNjI4YzAtMTIxLjA1MiA3NS42MTItMTg0LjU1NCAxNDYuNTMzLTE4NC41NTQgNDYuMTA1IDAgODEuODgzIDI2LjU4OCAxMDUuODUyIDI2LjU4OHoiPjwvcGF0aD48L3N2Zz4=";
|
12
|
+
export const linkedinIconUri =
|
13
|
+
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NCIgaGVpZ2h0PSI0MCIgaWQ9ImxpbmtlZGluIj48cGF0aCBmaWxsPSIjMDA3RUJCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00NCA0MGgtOS43MjVWMjUuOTM4YzAtMy42OC0xLjUyLTYuMTkzLTQuODY2LTYuMTkzLTIuNTU4IDAtMy45ODEgMS42OTYtNC42NDMgMy4zMy0uMjQ5LjU4Ni0uMjEgMS40MDMtLjIxIDIuMjJWNDBoLTkuNjM0cy4xMjQtMjQuOTA5IDAtMjcuMTczaDkuNjM0djQuMjY1Yy41Ny0xLjg2NSAzLjY0OC00LjUyNiA4LjU2LTQuNTI2QzM5LjIxMSAxMi41NjYgNDQgMTYuNDc0IDQ0IDI0Ljg5MVY0MHpNNS4xOCA5LjQyOGgtLjA2M0MyLjAxMyA5LjQyOCAwIDcuMzUxIDAgNC43MTggMCAyLjAzNCAyLjA3MiAwIDUuMjM5IDBjMy4xNjQgMCA1LjExIDIuMDI5IDUuMTcxIDQuNzEgMCAyLjYzMy0yLjAwNyA0LjcxOC01LjIzIDQuNzE4em0tNC4wNyAzLjM5OWg4LjU3NlY0MEgxLjExVjEyLjgyN3oiPjwvcGF0aD48L3N2Zz4=";
|
14
|
+
export const bitbucketIconUri =
|
15
|
+
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9ImJpdGJ1Y2tldCI+PHBhdGggZmlsbD0iIzI2ODBGOCIgZD0iTTQuMjk3IDIzaDE1LjY1OWEuNzc2Ljc3NiAwIDAgMCAuNzY5LS42NTdMMjMuOTkgMS45MTZhLjc4Ljc4IDAgMCAwLS42MzUtLjg5NyAxLjEzIDEuMTMgMCAwIDAtLjEzNC0uMDA5TC43NzkgMUEuNzc1Ljc3NSAwIDAgMCAwIDEuNzc1YzAgLjA0NC4wMDUuMDkzLjAwOS4xMzdsMy4yNjUgMjAuMTk2Yy4wODIuNTA5LjUxNS44ODcgMS4wMjMuODkyek0xNS43MzYgOC4zOTFsLTEuMjExIDcuMjA1aC01TDguMTczIDguMzkxaDcuNTYzeiI+PC9wYXRoPjwvc3ZnPg==";
|
16
|
+
export const gitlabIconUri =
|
17
|
+
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAwIiBoZWlnaHQ9IjIzMDUiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9IjAgMCAyNTYgMjM2IiBpZD0iZ2l0bGFiIj48cGF0aCBmaWxsPSIjRTI0MzI5IiBkPSJNMTI4LjA3NSAyMzYuMDc1bDQ3LjEwNC0xNDQuOTdIODAuOTdsNDcuMTA0IDE0NC45N3oiPjwvcGF0aD48cGF0aCBmaWxsPSIjRkM2RDI2IiBkPSJNMTI4LjA3NSAyMzYuMDc0TDgwLjk3IDkxLjEwNEgxNC45NTZsMTEzLjExOSAxNDQuOTd6Ij48L3BhdGg+PHBhdGggZmlsbD0iI0ZDQTMyNiIgZD0iTTE0Ljk1NiA5MS4xMDRMLjY0MiAxMzUuMTZhOS43NTIgOS43NTIgMCAwIDAgMy41NDIgMTAuOTAzbDEyMy44OTEgOTAuMDEyLTExMy4xMi0xNDQuOTd6Ij48L3BhdGg+PHBhdGggZmlsbD0iI0UyNDMyOSIgZD0iTTE0Ljk1NiA5MS4xMDVIODAuOTdMNTIuNjAxIDMuNzljLTEuNDYtNC40OTMtNy44MTYtNC40OTItOS4yNzUgMGwtMjguMzcgODcuMzE1eiI+PC9wYXRoPjxwYXRoIGZpbGw9IiNGQzZEMjYiIGQ9Ik0xMjguMDc1IDIzNi4wNzRsNDcuMTA0LTE0NC45N2g2Ni4wMTVsLTExMy4xMiAxNDQuOTd6Ij48L3BhdGg+PHBhdGggZmlsbD0iI0ZDQTMyNiIgZD0iTTI0MS4xOTQgOTEuMTA0bDE0LjMxNCA0NC4wNTZhOS43NTIgOS43NTIgMCAwIDEtMy41NDMgMTAuOTAzbC0xMjMuODkgOTAuMDEyIDExMy4xMTktMTQ0Ljk3eiI+PC9wYXRoPjxwYXRoIGZpbGw9IiNFMjQzMjkiIGQ9Ik0yNDEuMTk0IDkxLjEwNWgtNjYuMDE1bDI4LjM3LTg3LjMxNWMxLjQ2LTQuNDkzIDcuODE2LTQuNDkyIDkuMjc1IDBsMjguMzcgODcuMzE1eiI+PC9wYXRoPjwvc3ZnPg==";
|
18
|
+
export const twitchIconUri =
|
19
|
+
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgdmlld0JveD0iMCAwIDExMS43ODY2NyAxMjcuMzg2NjciCiAgIGhlaWdodD0iMTI3LjM4NjY3IgogICB3aWR0aD0iMTExLjc4NjY3IgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczMzU1IgogICBzb2RpcG9kaTpkb2NuYW1lPSJUd2l0Y2hfbG9nby5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMS4xICgzYmY1YWUwZDI1LCAyMDIxLTA5LTIwKSIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcwogICBpZD0iZGVmczI5Ij4KICAgIAogICAgCiAgPC9kZWZzPjxzb2RpcG9kaTpuYW1lZHZpZXcKICAgaWQ9Im5hbWVkdmlldzI3IgogICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgIHNob3dncmlkPSJmYWxzZSIKICAgaW5rc2NhcGU6em9vbT0iNC4xOTkyMjg0IgogICBpbmtzY2FwZTpjeD0iLTUwLjYwNDUzNSIKICAgaW5rc2NhcGU6Y3k9IjE0MC4zODI5MyIKICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIyNTYwIgogICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMzg3IgogICBpbmtzY2FwZTp3aW5kb3cteD0iMTkxMiIKICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmczMzU1IiAvPgogIDxnCiAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMzMzMzMzMywwLDAsLTEuMzMzMzMzMywxMDEuMzkzMzMsNjcuNTg5MzMyKSIKICAgaWQ9ImczMzY1Ij4KICAgICAgPHBhdGgKICAgaWQ9InBhdGgzMzY3IgogICBzdHlsZT0iZmlsbDojNjQ0MWE1O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIgogICBkPSJtIDAsMCAtMTMuNjUyLC0xMy42NTEgaCAtMjEuNDQ1IGwgLTExLjY5OSwtMTEuNjk3IHYgMTEuNjk3IEggLTY0LjM0NCBWIDQyLjg5MyBIIDAgWiBtIC03Mi4xNDYsNTAuNjkyIC0zLjg5OSwtMTUuNTk5IHYgLTcwLjE5IGggMTcuNTUgdiAtOS43NTEgaCA5Ljc0NiBsIDkuNzUyLDkuNzUxIGggMTUuNTk2IEwgNy43OTUsLTMuOTA1IHYgNTQuNTk3IHoiIC8+CiAgICA8L2c+PHBhdGgKICAgaWQ9InBhdGgzMzY5IgogICBzdHlsZT0iZmlsbDojNjQ0MWE1O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjMzMzMzIgogICBkPSJtIDQ0LjE5NzMzMSw2Mi4zOTQyNjYgaCAxMC4zOTg2NyBWIDMxLjE5MjkzMyBoIC0xMC4zOTg2NyB6IG0gMjguNTk0NjcsMCBoIDEwLjM5ODY2IFYgMzEuMTkyOTMzIGggLTEwLjM5ODY2IHoiIC8+Cjwvc3ZnPgo=";
|
20
|
+
export const discordIconUri =
|
21
|
+
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBpZD0iZGlzY29yZCI+PHBhdGggZmlsbD0iIzY2NjVkMiIgZD0iTTg1LjIyLDI0Ljk1OGMtMTEuNDU5LTguNTc1LTIyLjQzOC04LjMzNC0yMi40MzgtOC4zMzRsLTEuMTIyLDEuMjgyCgkJCQljMTMuNjIzLDQuMDg3LDE5Ljk1NCwxMC4wOTcsMTkuOTU0LDEwLjA5N2MtMTkuNDkxLTEwLjczMS00NC4zMTctMTAuNjU0LTY0LjU5LDBjMCwwLDYuNTcxLTYuMzMxLDIwLjk5Ni0xMC40MThsLTAuODAxLTAuOTYyCgkJCQljMCwwLTEwLjg5OS0wLjI0LTIyLjQzOCw4LjMzNGMwLDAtMTEuNTQsMjAuNzU1LTExLjU0LDQ2LjMxOWMwLDAsNi43MzIsMTEuNTQsMjQuNDQyLDEyLjEwMWMwLDAsMi45NjUtMy41MjYsNS4zNjktNi41NzEKCQkJCWMtMTAuMTc3LTMuMDQ1LTE0LjAyNC05LjM3Ni0xNC4wMjQtOS4zNzZjNi4zOTQsNC4wMDEsMTIuODU5LDYuNTA1LDIwLjkxNiw4LjA5NGMxMy4xMDgsMi42OTgsMjkuNDEzLTAuMDc2LDQxLjU5MS04LjA5NAoJCQkJYzAsMC00LjAwNyw2LjQ5MS0xNC41MDUsOS40NTZjMi40MDQsMi45NjUsNS4yODksNi40MTEsNS4yODksNi40MTFjMTcuNzEtMC41NjEsMjQuNDQxLTEyLjEwMSwyNC40NDEtMTIuMDIKCQkJCUM5Ni43NTksNDUuNzEzLDg1LjIyLDI0Ljk1OCw4NS4yMiwyNC45NTh6IE0zNS4wNTUsNjMuODI0Yy00LjQ4OCwwLTguMTc0LTMuOTI3LTguMTc0LTguODE1CgkJCQljMC4zMjgtMTEuNzA3LDE2LjEwMi0xMS42NzEsMTYuMzQ4LDBDNDMuMjI5LDU5Ljg5NywzOS42MjIsNjMuODI0LDM1LjA1NSw2My44MjR6IE02NC4zMDQsNjMuODI0CgkJCQljLTQuNDg4LDAtOC4xNzQtMy45MjctOC4xNzQtOC44MTVjMC4zNi0xMS42ODQsMTUuOTM3LTExLjY4OSwxNi4zNDgsMEM3Mi40NzgsNTkuODk3LDY4Ljg3Miw2My44MjQsNjQuMzA0LDYzLjgyNHoiPjwvcGF0aD48L3N2Zz4=";
|
22
|
+
export const microsoftIconUri =
|
23
|
+
"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNDggNDgiIHdpZHRoPSI0OHB4IiBoZWlnaHQ9IjQ4cHgiPjxwYXRoIGZpbGw9IiNmZjU3MjIiIGQ9Ik02IDZIMjJWMjJINnoiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgMTQgMTQpIi8+PHBhdGggZmlsbD0iIzRjYWY1MCIgZD0iTTI2IDZINDJWMjJIMjZ6IiB0cmFuc2Zvcm09InJvdGF0ZSgtMTgwIDM0IDE0KSIvPjxwYXRoIGZpbGw9IiNmZmMxMDciIGQ9Ik0yNiAyNkg0MlY0MkgyNnoiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgMzQgMzQpIi8+PHBhdGggZmlsbD0iIzAzYTlmNCIgZD0iTTYgMjZIMjJWNDJINnoiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgMTQgMzQpIi8+PC9zdmc+";
|
24
|
+
|
1
25
|
export const emailIcon =
|
2
26
|
"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjMzMzUgMi42NjY1SDIuNjY2ODNDMS45MzA0NSAyLjY2NjUgMS4zMzM1IDMuMjYzNDYgMS4zMzM1IDMuOTk5ODRWMTEuOTk5OEMxLjMzMzUgMTIuNzM2MiAxLjkzMDQ1IDEzLjMzMzIgMi42NjY4MyAxMy4zMzMySDEzLjMzMzVDMTQuMDY5OSAxMy4zMzMyIDE0LjY2NjggMTIuNzM2MiAxNC42NjY4IDExLjk5OThWMy45OTk4NEMxNC42NjY4IDMuMjYzNDYgMTQuMDY5OSAyLjY2NjUgMTMuMzMzNSAyLjY2NjVaIiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTQuNjY2OCA0LjY2NjVMOC42ODY4MyA4LjQ2NjVDOC40ODEwMSA4LjU5NTQ1IDguMjQzMDQgOC42NjM4NCA4LjAwMDE2IDguNjYzODRDNy43NTcyOCA4LjY2Mzg0IDcuNTE5MzEgOC41OTU0NSA3LjMxMzUgOC40NjY1TDEuMzMzNSA0LjY2NjUiIHN0cm9rZT0iIzMzODVGRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=";
|
3
27
|
|
@@ -18,3 +42,9 @@ export const genericWalletIcon =
|
|
18
42
|
|
19
43
|
export const passkeyIcon =
|
20
44
|
"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzU2MzlfMzIpIj4KPHBhdGggZD0iTTcuOTk5NTkgNi42NjY1QzcuNjQ1OTYgNi42NjY1IDcuMzA2ODMgNi44MDY5OCA3LjA1Njc4IDcuMDU3MDNDNi44MDY3MyA3LjMwNzA4IDYuNjY2MjUgNy42NDYyMiA2LjY2NjI1IDcuOTk5ODRDNi42NjYyNSA4LjY3OTg0IDYuNTk5NTkgOS42NzMxNyA2LjQ5MjkyIDEwLjY2NjUiIHN0cm9rZT0iIzMzODVGRiIgc3Ryb2tlLXdpZHRoPSIxLjI1NDkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNOS4zMzI5MyA4Ljc0NjU4QzkuMzMyOTMgMTAuMzMzMiA5LjMzMjkzIDEyLjk5OTkgOC42NjYyNiAxNC42NjY2IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTExLjUyNzMgMTQuMDEzM0MxMS42MDczIDEzLjYxMzMgMTEuODE0IDEyLjQ4IDExLjg2MDcgMTIiIHN0cm9rZT0iIzMzODVGRiIgc3Ryb2tlLXdpZHRoPSIxLjI1NDkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMS4zMzM5OCA4LjAwMDE2QzEuMzMzOTggNi42MDA5NSAxLjc3NDIzIDUuMjM3MiAyLjU5MjM3IDQuMTAyMDlDMy40MTA1MSAyLjk2Njk5IDQuNTY1MDUgMi4xMTgwOCA1Ljg5MjQ3IDEuNjc1NjFDNy4yMTk4OCAxLjIzMzE0IDguNjUyODYgMS4yMTk1NCA5Ljk4ODQ0IDEuNjM2NzRDMTEuMzI0IDIuMDUzOTQgMTIuNDk0NSAyLjg4MDc5IDEzLjMzNCA0LjAwMDE2IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTEuMzMzOTggMTAuNjY2NUgxLjMzOTE0IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTE0LjUzMjcgMTAuNjY2NUMxNC42NjYgOS4zMzMxNyAxNC42MiA3LjA5NzE3IDE0LjUzMjcgNi42NjY1IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTMuMzMzOTggMTIuOTk5OEMzLjY2NzMyIDExLjk5OTggNC4wMDA2NSA5Ljk5OTg0IDQuMDAwNjUgNy45OTk4NEMzLjk5OTk4IDcuNTQ1NzUgNC4wNzY2MyA3LjA5NDg2IDQuMjI3MzIgNi42NjY1IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTUuNzY3MDkgMTQuNjY2OEM1LjkwNzA5IDE0LjIyNjggNi4wNjcwOSAxMy43ODY4IDYuMTQ3MDkgMTMuMzMzNSIgc3Ryb2tlPSIjMzM4NUZGIiBzdHJva2Utd2lkdGg9IjEuMjU0OSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik02IDQuNTMzNDZDNi42MDgyNyA0LjE4MjI4IDcuMjk4MjggMy45OTc0NSA4LjAwMDY0IDMuOTk3NTZDOC43MDMwMSAzLjk5NzY3IDkuMzkyOTYgNC4xODI3MiAxMC4wMDExIDQuNTM0MUMxMC42MDkzIDQuODg1NDggMTEuMTE0MiA1LjM5MDc5IDExLjQ2NTEgNS45OTkyM0MxMS44MTYgNi42MDc2NiAxMi4wMDA1IDcuMjk3NzYgMTIgOC4wMDAxMlY5LjMzMzQ2IiBzdHJva2U9IiMzMzg1RkYiIHN0cm9rZS13aWR0aD0iMS4yNTQ5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF81NjM5XzMyIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=";
|
45
|
+
|
46
|
+
export const socialIcons = {
|
47
|
+
google: googleIconUri,
|
48
|
+
apple: appleIconUri,
|
49
|
+
facebook: facebookIconUri,
|
50
|
+
};
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import type { AsyncStorage } from "
|
2
|
-
import type { AuthArgsType } from "
|
1
|
+
import type { AsyncStorage } from "../../../utils/storage/AsyncStorage.js";
|
2
|
+
import type { AuthArgsType } from "../../../wallets/in-app/core/authentication/type.js";
|
3
3
|
|
4
4
|
const LAST_AUTH_PROVIDER_STORAGE_KEY = "lastAuthProvider";
|
5
5
|
|
@@ -0,0 +1,101 @@
|
|
1
|
+
import { useQuery } from "@tanstack/react-query";
|
2
|
+
import { ethereum } from "../../../chains/chain-definitions/ethereum.js";
|
3
|
+
import type { Chain } from "../../../chains/types.js";
|
4
|
+
import type { ThirdwebClient } from "../../../client/client.js";
|
5
|
+
import { resolveAvatar } from "../../../extensions/ens/resolve-avatar.js";
|
6
|
+
import { resolveName } from "../../../extensions/ens/resolve-name.js";
|
7
|
+
import { getWalletInfo } from "../../../wallets/__generated__/getWalletInfo.js";
|
8
|
+
import type { Account } from "../../../wallets/interfaces/wallet.js";
|
9
|
+
import type { WalletInfo } from "../../../wallets/wallet-info.js";
|
10
|
+
import type { WalletId } from "../../../wallets/wallet-types.js";
|
11
|
+
import { useWalletBalance } from "../hooks/others/useWalletBalance.js";
|
12
|
+
import { shortenString } from "./addresses.js";
|
13
|
+
|
14
|
+
/**
|
15
|
+
* @internal
|
16
|
+
*/
|
17
|
+
export function useConnectedWalletDetails(
|
18
|
+
client: ThirdwebClient,
|
19
|
+
walletChain: Chain | undefined,
|
20
|
+
activeAccount: Account | undefined,
|
21
|
+
displayBalanceToken?: Record<number, string>,
|
22
|
+
) {
|
23
|
+
const tokenAddress =
|
24
|
+
walletChain && displayBalanceToken
|
25
|
+
? displayBalanceToken[Number(walletChain.id)]
|
26
|
+
: undefined;
|
27
|
+
|
28
|
+
const ensNameQuery = useQuery({
|
29
|
+
queryKey: ["ens-name", activeAccount?.address],
|
30
|
+
enabled: !!activeAccount?.address,
|
31
|
+
queryFn: () =>
|
32
|
+
resolveName({
|
33
|
+
client,
|
34
|
+
address: activeAccount?.address || "",
|
35
|
+
resolverChain: ethereum,
|
36
|
+
}),
|
37
|
+
});
|
38
|
+
|
39
|
+
const ensAvatarQuery = useQuery({
|
40
|
+
queryKey: ["ens-avatar", ensNameQuery.data],
|
41
|
+
enabled: !!ensNameQuery.data,
|
42
|
+
queryFn: async () =>
|
43
|
+
resolveAvatar({
|
44
|
+
client,
|
45
|
+
name: ensNameQuery.data || "",
|
46
|
+
}),
|
47
|
+
});
|
48
|
+
|
49
|
+
const shortAddress = activeAccount?.address
|
50
|
+
? shortenString(activeAccount.address, false)
|
51
|
+
: "";
|
52
|
+
|
53
|
+
const balanceQuery = useWalletBalance({
|
54
|
+
chain: walletChain ? walletChain : undefined,
|
55
|
+
tokenAddress,
|
56
|
+
address: activeAccount?.address,
|
57
|
+
client,
|
58
|
+
});
|
59
|
+
|
60
|
+
const addressOrENS = ensNameQuery.data || shortAddress;
|
61
|
+
|
62
|
+
return {
|
63
|
+
ensNameQuery,
|
64
|
+
ensAvatarQuery,
|
65
|
+
addressOrENS,
|
66
|
+
shortAddress,
|
67
|
+
balanceQuery,
|
68
|
+
};
|
69
|
+
}
|
70
|
+
|
71
|
+
/**
|
72
|
+
* Returns the wallet info for the provided wallet id.
|
73
|
+
* @wallet
|
74
|
+
*/
|
75
|
+
export function useWalletInfo(id: WalletId) {
|
76
|
+
return useQuery<WalletInfo>({
|
77
|
+
queryKey: ["wallet-info", id],
|
78
|
+
queryFn: () => {
|
79
|
+
return getWalletInfo(id, false);
|
80
|
+
},
|
81
|
+
retry: false,
|
82
|
+
refetchOnWindowFocus: false,
|
83
|
+
refetchOnMount: false,
|
84
|
+
});
|
85
|
+
}
|
86
|
+
|
87
|
+
/**
|
88
|
+
* Returns the wallet image for the provided wallet id.
|
89
|
+
* @wallet
|
90
|
+
*/
|
91
|
+
export function useWalletImage(id: WalletId) {
|
92
|
+
return useQuery({
|
93
|
+
queryKey: ["wallet-image", id],
|
94
|
+
queryFn: () => {
|
95
|
+
return getWalletInfo(id, true);
|
96
|
+
},
|
97
|
+
retry: false,
|
98
|
+
refetchOnWindowFocus: false,
|
99
|
+
refetchOnMount: false,
|
100
|
+
});
|
101
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
export const spacing = {
|
2
|
+
xxs: 2,
|
3
|
+
xs: 4,
|
4
|
+
sm: 8,
|
5
|
+
smd: 12,
|
6
|
+
md: 16,
|
7
|
+
lg: 24,
|
8
|
+
xl: 32,
|
9
|
+
xxl: 48,
|
10
|
+
"3xl": 64,
|
11
|
+
};
|
12
|
+
|
13
|
+
export const radius = {
|
14
|
+
none: 0,
|
15
|
+
sm: 4,
|
16
|
+
md: 8,
|
17
|
+
lg: 12,
|
18
|
+
xl: 24,
|
19
|
+
xxl: 32,
|
20
|
+
full: 9999,
|
21
|
+
};
|
22
|
+
|
23
|
+
export const fontSize = {
|
24
|
+
xxs: 10,
|
25
|
+
xs: 12,
|
26
|
+
sm: 14,
|
27
|
+
md: 16,
|
28
|
+
lg: 20,
|
29
|
+
xl: 24,
|
30
|
+
xxl: 32,
|
31
|
+
};
|
@@ -2,6 +2,7 @@ import { nativeLocalStorage } from "../../../../utils/storage/nativeStorage.js";
|
|
2
2
|
import type { AutoConnectProps } from "../../../core/hooks/connection/types.js";
|
3
3
|
import { useAutoConnectCore } from "../../../core/hooks/wallets/useAutoConnect.js";
|
4
4
|
import { connectionManager } from "../../index.js";
|
5
|
+
import { getDefaultWallets } from "../../wallets/defaultWallets.js";
|
5
6
|
|
6
7
|
/**
|
7
8
|
* Autoconnect the last previously connected wallet.
|
@@ -23,5 +24,8 @@ import { connectionManager } from "../../index.js";
|
|
23
24
|
* @returns whether the auto connect was successful.
|
24
25
|
*/
|
25
26
|
export function useAutoConnect(props: AutoConnectProps) {
|
26
|
-
return useAutoConnectCore(connectionManager, nativeLocalStorage,
|
27
|
+
return useAutoConnectCore(connectionManager, nativeLocalStorage, {
|
28
|
+
...props,
|
29
|
+
wallets: props.wallets || getDefaultWallets(props),
|
30
|
+
});
|
27
31
|
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import type { ThirdwebClient } from "../../../../client/client.js";
|
2
|
+
import { useSendTokenCore } from "../../../core/hooks/wallets/useSendToken.js";
|
3
|
+
import { useActiveWallet } from "./useActiveWallet.js";
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Send Native or ERC20 tokens from active wallet to given address.
|
7
|
+
* @example
|
8
|
+
* ```tsx
|
9
|
+
* const { mutate: sendToken } = useSendToken(client);
|
10
|
+
*
|
11
|
+
* // send native currency
|
12
|
+
* sendToken({
|
13
|
+
* receiverAddress: "0x...",
|
14
|
+
* amount: "0.1",
|
15
|
+
* });
|
16
|
+
*
|
17
|
+
* // send ERC20
|
18
|
+
* sendToken({
|
19
|
+
* tokenAddress,
|
20
|
+
* receiverAddress: "0x...",
|
21
|
+
* amount: "0.5",
|
22
|
+
* });
|
23
|
+
* ```
|
24
|
+
* @wallet
|
25
|
+
*/
|
26
|
+
export function useSendToken(client: ThirdwebClient) {
|
27
|
+
const wallet = useActiveWallet();
|
28
|
+
return useSendTokenCore(client, wallet);
|
29
|
+
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import Clipboard from "@react-native-clipboard/clipboard";
|
2
|
+
import { useState } from "react";
|
3
|
+
import { StyleSheet, TouchableOpacity } from "react-native";
|
4
|
+
import type { Account } from "../../../../wallets/interfaces/wallet.js";
|
5
|
+
import type { Theme } from "../../../core/design-system/index.js";
|
6
|
+
import { spacing } from "../../design-system/index.js";
|
7
|
+
import { CHECK, COPY_ICON } from "../icons/svgs.js";
|
8
|
+
import { RNImage } from "./RNImage.js";
|
9
|
+
import { ThemedText } from "./text.js";
|
10
|
+
|
11
|
+
export type AddressProps = {
|
12
|
+
account: Account;
|
13
|
+
theme: Theme;
|
14
|
+
addressOrENS: string;
|
15
|
+
};
|
16
|
+
|
17
|
+
export const Address = ({ account, theme, addressOrENS }: AddressProps) => {
|
18
|
+
const [copySuccess, setCopySuccess] = useState(false);
|
19
|
+
return (
|
20
|
+
<TouchableOpacity
|
21
|
+
style={styles.addressContainer}
|
22
|
+
onPress={() => {
|
23
|
+
// @ts-ignore - missing native types
|
24
|
+
Clipboard.setString(account.address);
|
25
|
+
setCopySuccess(true);
|
26
|
+
setTimeout(() => {
|
27
|
+
setCopySuccess(false);
|
28
|
+
}, 2500);
|
29
|
+
}}
|
30
|
+
>
|
31
|
+
<ThemedText theme={theme} type="defaultSemiBold">
|
32
|
+
{addressOrENS}
|
33
|
+
</ThemedText>
|
34
|
+
<RNImage
|
35
|
+
theme={theme}
|
36
|
+
data={copySuccess ? CHECK : COPY_ICON}
|
37
|
+
size={15}
|
38
|
+
color={
|
39
|
+
copySuccess ? theme.colors.success : theme.colors.secondaryIconColor
|
40
|
+
}
|
41
|
+
/>
|
42
|
+
</TouchableOpacity>
|
43
|
+
);
|
44
|
+
};
|
45
|
+
|
46
|
+
const styles = StyleSheet.create({
|
47
|
+
addressContainer: {
|
48
|
+
flexDirection: "row",
|
49
|
+
gap: spacing.sm,
|
50
|
+
alignItems: "center",
|
51
|
+
},
|
52
|
+
});
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { useMemo } from "react";
|
2
|
+
import type { Chain } from "../../../../chains/types.js";
|
3
|
+
import type { ThirdwebClient } from "../../../../client/client.js";
|
4
|
+
import { resolveScheme } from "../../../../utils/ipfs.js";
|
5
|
+
import type { Theme } from "../../../core/design-system/index.js";
|
6
|
+
import { useChainQuery } from "../../../core/hooks/others/useChainQuery.js";
|
7
|
+
import { CHAIN_ICON } from "../icons/svgs.js";
|
8
|
+
import { RNImage } from "./RNImage.js";
|
9
|
+
|
10
|
+
export type ChainIconProps = {
|
11
|
+
theme: Theme;
|
12
|
+
size: number;
|
13
|
+
client: ThirdwebClient;
|
14
|
+
chain?: Chain;
|
15
|
+
};
|
16
|
+
|
17
|
+
export const ChainIcon = (props: ChainIconProps) => {
|
18
|
+
const chainQuery = useChainQuery(props.chain);
|
19
|
+
const data = useMemo(() => {
|
20
|
+
const url = chainQuery?.data?.icon?.url;
|
21
|
+
if (!url) {
|
22
|
+
return CHAIN_ICON;
|
23
|
+
}
|
24
|
+
try {
|
25
|
+
return resolveScheme({
|
26
|
+
uri: url,
|
27
|
+
client: props.client,
|
28
|
+
});
|
29
|
+
} catch {
|
30
|
+
return CHAIN_ICON;
|
31
|
+
}
|
32
|
+
}, [props, chainQuery?.data?.icon?.url]);
|
33
|
+
return (
|
34
|
+
<RNImage
|
35
|
+
theme={props.theme}
|
36
|
+
size={props.size}
|
37
|
+
data={data}
|
38
|
+
placeholder={CHAIN_ICON}
|
39
|
+
color={props.theme.colors.secondaryIconColor}
|
40
|
+
/>
|
41
|
+
);
|
42
|
+
};
|
@@ -0,0 +1,84 @@
|
|
1
|
+
import { StyleSheet, TouchableOpacity, View } from "react-native";
|
2
|
+
import type { Theme } from "../../../core/design-system/index.js";
|
3
|
+
import { spacing } from "../../design-system/index.js";
|
4
|
+
import { BACK_ICON, CLOSE_ICON } from "../icons/svgs.js";
|
5
|
+
import { RNImage } from "./RNImage.js";
|
6
|
+
import { ThemedText } from "./text.js";
|
7
|
+
|
8
|
+
export type ContainerType = "modal" | "embed";
|
9
|
+
|
10
|
+
export function Header({
|
11
|
+
theme,
|
12
|
+
title,
|
13
|
+
onClose,
|
14
|
+
onBack,
|
15
|
+
containerType,
|
16
|
+
}: {
|
17
|
+
theme: Theme;
|
18
|
+
title?: string;
|
19
|
+
onClose?: () => void;
|
20
|
+
onBack?: () => void;
|
21
|
+
containerType: ContainerType;
|
22
|
+
}) {
|
23
|
+
if (containerType === "embed") {
|
24
|
+
return onBack ? (
|
25
|
+
<TouchableOpacity
|
26
|
+
onPress={onBack}
|
27
|
+
style={{
|
28
|
+
flexDirection: "row",
|
29
|
+
gap: spacing.sm,
|
30
|
+
alignItems: "center",
|
31
|
+
paddingTop: spacing.lg,
|
32
|
+
}}
|
33
|
+
>
|
34
|
+
<RNImage
|
35
|
+
theme={theme}
|
36
|
+
data={BACK_ICON}
|
37
|
+
size={14}
|
38
|
+
color={theme.colors.secondaryIconColor}
|
39
|
+
/>
|
40
|
+
<ThemedText theme={theme} type="subtext">
|
41
|
+
Back
|
42
|
+
</ThemedText>
|
43
|
+
</TouchableOpacity>
|
44
|
+
) : null;
|
45
|
+
}
|
46
|
+
|
47
|
+
return (
|
48
|
+
<View style={styles.headerModal}>
|
49
|
+
{onBack && (
|
50
|
+
<TouchableOpacity onPress={onBack}>
|
51
|
+
<RNImage
|
52
|
+
theme={theme}
|
53
|
+
data={BACK_ICON}
|
54
|
+
size={24}
|
55
|
+
color={theme.colors.secondaryIconColor}
|
56
|
+
/>
|
57
|
+
</TouchableOpacity>
|
58
|
+
)}
|
59
|
+
<ThemedText theme={theme} type="title">
|
60
|
+
{title ? title : "Sign in"}
|
61
|
+
</ThemedText>
|
62
|
+
{onClose && (
|
63
|
+
<TouchableOpacity onPress={onClose}>
|
64
|
+
<RNImage
|
65
|
+
theme={theme}
|
66
|
+
data={CLOSE_ICON}
|
67
|
+
size={24}
|
68
|
+
color={theme.colors.secondaryIconColor}
|
69
|
+
/>
|
70
|
+
</TouchableOpacity>
|
71
|
+
)}
|
72
|
+
</View>
|
73
|
+
);
|
74
|
+
}
|
75
|
+
|
76
|
+
const styles = StyleSheet.create({
|
77
|
+
headerModal: {
|
78
|
+
flexDirection: "row",
|
79
|
+
alignItems: "center",
|
80
|
+
justifyContent: "space-between",
|
81
|
+
paddingHorizontal: spacing.lg,
|
82
|
+
paddingTop: spacing.lg,
|
83
|
+
},
|
84
|
+
});
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import { useMemo, useState } from "react";
|
2
|
+
import { Image } from "react-native";
|
3
|
+
import { SvgXml } from "react-native-svg";
|
4
|
+
import type { Theme } from "../../../core/design-system/index.js";
|
5
|
+
import { radius } from "../../design-system/index.js";
|
6
|
+
import { Skeleton } from "./Skeleton.js";
|
7
|
+
|
8
|
+
export type ImageInfo = {
|
9
|
+
size: number;
|
10
|
+
theme: Theme;
|
11
|
+
data?: string | null;
|
12
|
+
placeholder?: string;
|
13
|
+
color?: string;
|
14
|
+
};
|
15
|
+
|
16
|
+
function getImage(data: string): {
|
17
|
+
image: string;
|
18
|
+
type: "xml" | "image" | "url";
|
19
|
+
} {
|
20
|
+
if (data.startsWith("data:image/svg+xml;base64,")) {
|
21
|
+
const image = globalThis.atob(
|
22
|
+
data.replace("data:image/svg+xml;base64,", ""),
|
23
|
+
);
|
24
|
+
return { image, type: "xml" };
|
25
|
+
}
|
26
|
+
if (data.startsWith("data:image/")) {
|
27
|
+
return { image: data, type: "image" };
|
28
|
+
}
|
29
|
+
if (data.startsWith("<svg")) {
|
30
|
+
return { image: data, type: "xml" };
|
31
|
+
}
|
32
|
+
return { image: data, type: "url" };
|
33
|
+
}
|
34
|
+
|
35
|
+
export const RNImage = (props: ImageInfo) => {
|
36
|
+
const { data, size, color, placeholder } = props;
|
37
|
+
const [loading, setLoading] = useState(true);
|
38
|
+
if (!data) {
|
39
|
+
return null;
|
40
|
+
}
|
41
|
+
const { image, type } = useMemo(() => getImage(data), [data]);
|
42
|
+
switch (type) {
|
43
|
+
case "url":
|
44
|
+
case "image":
|
45
|
+
return (
|
46
|
+
<>
|
47
|
+
{loading && (
|
48
|
+
<Skeleton
|
49
|
+
theme={props.theme}
|
50
|
+
style={{ width: size, height: size }}
|
51
|
+
/>
|
52
|
+
)}
|
53
|
+
<Image
|
54
|
+
source={{ uri: image }}
|
55
|
+
loadingIndicatorSource={{ uri: placeholder }}
|
56
|
+
width={size}
|
57
|
+
height={size}
|
58
|
+
onLoadStart={() => setLoading(true)}
|
59
|
+
onLoadEnd={() => setLoading(false)}
|
60
|
+
style={[
|
61
|
+
{ borderRadius: radius.md, display: loading ? "none" : "flex" },
|
62
|
+
]}
|
63
|
+
/>
|
64
|
+
</>
|
65
|
+
);
|
66
|
+
case "xml":
|
67
|
+
return <SvgXml xml={image} width={size} height={size} color={color} />;
|
68
|
+
default:
|
69
|
+
return null;
|
70
|
+
}
|
71
|
+
};
|