thirdweb 5.31.1-nightly-a1d6a3c93e9a7b0433076a3e321183b09cfc0054-20240702000343 → 5.32.0-nightly-931cca3a7e8f3946bdb7e40880333790387d4cef-20240702071901
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 +130 -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 -2
- 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/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/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/coinbase/coinbaseWebSDK.js +9 -1
- package/dist/cjs/wallets/coinbase/coinbaseWebSDK.js.map +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 +126 -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 +1 -1
- 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/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/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/coinbase/coinbaseWebSDK.js +9 -1
- package/dist/esm/wallets/coinbase/coinbaseWebSDK.js.map +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/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/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/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/coinbase/coinbaseWebSDK.d.ts.map +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 +298 -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 +1 -1
- package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +6 -285
- 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/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/coinbase/coinbaseWebSDK.ts +14 -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
@@ -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
|
+
};
|
@@ -0,0 +1,93 @@
|
|
1
|
+
import type React from "react";
|
2
|
+
import { useEffect, useRef } from "react";
|
3
|
+
import {
|
4
|
+
Animated,
|
5
|
+
Dimensions,
|
6
|
+
StyleSheet,
|
7
|
+
View,
|
8
|
+
type ViewStyle,
|
9
|
+
} from "react-native";
|
10
|
+
import type { Theme } from "../../../core/design-system/index.js";
|
11
|
+
import { radius } from "../../design-system/index.js";
|
12
|
+
|
13
|
+
const { width } = Dimensions.get("window");
|
14
|
+
|
15
|
+
interface SkeletonLoaderProps {
|
16
|
+
theme: Theme;
|
17
|
+
color?: string;
|
18
|
+
style?: ViewStyle;
|
19
|
+
}
|
20
|
+
|
21
|
+
export const Skeleton: React.FC<SkeletonLoaderProps> = ({
|
22
|
+
style,
|
23
|
+
color,
|
24
|
+
theme,
|
25
|
+
}) => {
|
26
|
+
const translateX = useRef(new Animated.Value(-width));
|
27
|
+
|
28
|
+
useEffect(() => {
|
29
|
+
const animation = Animated.loop(
|
30
|
+
Animated.sequence([
|
31
|
+
Animated.timing(translateX.current, {
|
32
|
+
toValue: width,
|
33
|
+
duration: 2500,
|
34
|
+
useNativeDriver: true,
|
35
|
+
}),
|
36
|
+
Animated.timing(translateX.current, {
|
37
|
+
toValue: -width,
|
38
|
+
duration: 0,
|
39
|
+
useNativeDriver: true,
|
40
|
+
}),
|
41
|
+
]),
|
42
|
+
);
|
43
|
+
animation.start();
|
44
|
+
|
45
|
+
return () => animation.stop();
|
46
|
+
}, []);
|
47
|
+
|
48
|
+
return (
|
49
|
+
<View
|
50
|
+
style={[
|
51
|
+
styles.container,
|
52
|
+
{ backgroundColor: color || theme.colors.borderColor },
|
53
|
+
style,
|
54
|
+
]}
|
55
|
+
>
|
56
|
+
<View style={styles.skeleton} />
|
57
|
+
<Animated.View
|
58
|
+
style={[
|
59
|
+
styles.gradient,
|
60
|
+
{
|
61
|
+
transform: [{ translateX: translateX.current }],
|
62
|
+
},
|
63
|
+
]}
|
64
|
+
>
|
65
|
+
<View style={styles.innerGradient} />
|
66
|
+
</Animated.View>
|
67
|
+
</View>
|
68
|
+
);
|
69
|
+
};
|
70
|
+
|
71
|
+
const styles = StyleSheet.create({
|
72
|
+
container: {
|
73
|
+
overflow: "hidden",
|
74
|
+
borderRadius: radius.lg,
|
75
|
+
},
|
76
|
+
skeleton: {
|
77
|
+
height: "100%",
|
78
|
+
width: "100%",
|
79
|
+
},
|
80
|
+
gradient: {
|
81
|
+
position: "absolute",
|
82
|
+
top: 0,
|
83
|
+
bottom: 0,
|
84
|
+
width: "100%",
|
85
|
+
},
|
86
|
+
innerGradient: {
|
87
|
+
width: "100%",
|
88
|
+
height: "100%",
|
89
|
+
backgroundColor: "rgba(255,255,255,0.5)",
|
90
|
+
opacity: 0.3,
|
91
|
+
transform: [{ skewX: "-20deg" }],
|
92
|
+
},
|
93
|
+
});
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"use client";
|
2
|
+
import type { Chain } from "../../../../chains/types.js";
|
3
|
+
import type { ThirdwebClient } from "../../../../client/client.js";
|
4
|
+
import type { Theme } from "../../../core/design-system/index.js";
|
5
|
+
import type { TokenInfo } from "../../../core/utils/defaultTokens.js";
|
6
|
+
import { genericTokenIcon } from "../../../core/utils/socialIcons.js";
|
7
|
+
import { ChainIcon } from "./ChainIcon.js";
|
8
|
+
import { RNImage } from "./RNImage.js";
|
9
|
+
|
10
|
+
// Note: Must not use useConnectUI here
|
11
|
+
|
12
|
+
/**
|
13
|
+
* @internal
|
14
|
+
*/
|
15
|
+
export function TokenIcon(props: {
|
16
|
+
theme: Theme;
|
17
|
+
size: number;
|
18
|
+
token?: TokenInfo;
|
19
|
+
chain?: Chain;
|
20
|
+
client: ThirdwebClient;
|
21
|
+
}) {
|
22
|
+
return props.token ? (
|
23
|
+
<RNImage
|
24
|
+
theme={props.theme}
|
25
|
+
data={props.token?.icon || genericTokenIcon}
|
26
|
+
size={props.size}
|
27
|
+
/>
|
28
|
+
) : (
|
29
|
+
<ChainIcon {...props} />
|
30
|
+
);
|
31
|
+
}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import { useQuery } from "@tanstack/react-query";
|
2
|
+
import { nativeLocalStorage } from "../../../../utils/storage/nativeStorage.js";
|
3
|
+
import { getWalletInfo } from "../../../../wallets/__generated__/getWalletInfo.js";
|
4
|
+
import type { Wallet } from "../../../../wallets/interfaces/wallet.js";
|
5
|
+
import { getStoredActiveWalletId } from "../../../../wallets/manager/index.js";
|
6
|
+
import type { Theme } from "../../../core/design-system/index.js";
|
7
|
+
import { getLastAuthProvider } from "../../../core/utils/storage.js";
|
8
|
+
import {
|
9
|
+
APPLE_ICON,
|
10
|
+
EMAIL_ICON,
|
11
|
+
FACEBOOK_ICON,
|
12
|
+
GOOGLE_ICON,
|
13
|
+
PHONE_ICON,
|
14
|
+
WALLET_ICON,
|
15
|
+
} from "../icons/svgs.js";
|
16
|
+
import { RNImage } from "./RNImage.js";
|
17
|
+
|
18
|
+
export const WalletImage = (props: {
|
19
|
+
theme: Theme;
|
20
|
+
wallet: Wallet;
|
21
|
+
size: number;
|
22
|
+
ensAvatar?: string | null;
|
23
|
+
}) => {
|
24
|
+
const { wallet, ensAvatar, size } = props;
|
25
|
+
|
26
|
+
const { data: imageData } = useQuery({
|
27
|
+
queryKey: ["wallet-image", wallet.id, wallet.getAccount()?.address],
|
28
|
+
queryFn: async (): Promise<string> => {
|
29
|
+
let activeEOAId = wallet.id;
|
30
|
+
if (wallet.id === "smart") {
|
31
|
+
// TODO (rn) investigate why the first render this returns null from storage
|
32
|
+
const storedId = await getStoredActiveWalletId(nativeLocalStorage);
|
33
|
+
if (storedId) {
|
34
|
+
activeEOAId = storedId;
|
35
|
+
} else {
|
36
|
+
throw new Error("No active EOA wallet");
|
37
|
+
}
|
38
|
+
}
|
39
|
+
let imageData: string;
|
40
|
+
if (
|
41
|
+
activeEOAId === "inApp" &&
|
42
|
+
(wallet.id === "inApp" || wallet.id === "smart")
|
43
|
+
) {
|
44
|
+
const lastAuthProvider = await getLastAuthProvider(nativeLocalStorage);
|
45
|
+
switch (lastAuthProvider) {
|
46
|
+
case "phone":
|
47
|
+
imageData = PHONE_ICON;
|
48
|
+
break;
|
49
|
+
case "email":
|
50
|
+
imageData = EMAIL_ICON;
|
51
|
+
break;
|
52
|
+
case "google":
|
53
|
+
imageData = GOOGLE_ICON;
|
54
|
+
break;
|
55
|
+
case "apple":
|
56
|
+
imageData = APPLE_ICON;
|
57
|
+
break;
|
58
|
+
case "facebook":
|
59
|
+
imageData = FACEBOOK_ICON;
|
60
|
+
break;
|
61
|
+
default:
|
62
|
+
imageData = WALLET_ICON;
|
63
|
+
break;
|
64
|
+
}
|
65
|
+
return imageData;
|
66
|
+
}
|
67
|
+
try {
|
68
|
+
const externalWalletImage = await getWalletInfo(activeEOAId, true);
|
69
|
+
if (externalWalletImage) {
|
70
|
+
return externalWalletImage;
|
71
|
+
}
|
72
|
+
} catch {}
|
73
|
+
|
74
|
+
return WALLET_ICON;
|
75
|
+
},
|
76
|
+
enabled: !ensAvatar,
|
77
|
+
});
|
78
|
+
|
79
|
+
const data = ensAvatar || imageData || WALLET_ICON;
|
80
|
+
return <RNImage theme={props.theme} data={data} size={size} />;
|
81
|
+
};
|
@@ -2,27 +2,36 @@ import {
|
|
2
2
|
StyleSheet,
|
3
3
|
TouchableOpacity,
|
4
4
|
type TouchableOpacityProps,
|
5
|
+
View,
|
5
6
|
} from "react-native";
|
6
7
|
import type { Theme } from "../../../core/design-system/index.js";
|
8
|
+
import { radius, spacing } from "../../design-system/index.js";
|
9
|
+
import { RNImage } from "./RNImage.js";
|
10
|
+
import { ThemedText } from "./text.js";
|
7
11
|
|
8
12
|
export type ThemedButtonProps = TouchableOpacityProps & {
|
9
13
|
theme: Theme;
|
10
|
-
variant?: "primary" | "secondary";
|
14
|
+
variant?: "primary" | "secondary" | "accent";
|
11
15
|
};
|
12
16
|
|
13
17
|
export function ThemedButton(props: ThemedButtonProps) {
|
14
18
|
const variant = props.variant ?? "primary";
|
15
|
-
const
|
16
|
-
const { style: styleOverride, ...restProps } = props;
|
19
|
+
const { style: styleOverride, theme, ...restProps } = props;
|
17
20
|
return (
|
18
21
|
<TouchableOpacity
|
19
22
|
activeOpacity={0.5}
|
20
23
|
style={[
|
21
24
|
styles.button,
|
22
25
|
{
|
23
|
-
borderColor:
|
26
|
+
borderColor:
|
27
|
+
variant === "secondary" ? theme.colors.borderColor : "transparent",
|
24
28
|
borderWidth: variant === "secondary" ? 1 : 0,
|
25
|
-
backgroundColor:
|
29
|
+
backgroundColor:
|
30
|
+
variant === "secondary"
|
31
|
+
? "transparent"
|
32
|
+
: variant === "accent"
|
33
|
+
? props.theme.colors.accentButtonBg
|
34
|
+
: props.theme.colors.primaryButtonBg,
|
26
35
|
},
|
27
36
|
styleOverride,
|
28
37
|
]}
|
@@ -33,13 +42,36 @@ export function ThemedButton(props: ThemedButtonProps) {
|
|
33
42
|
);
|
34
43
|
}
|
35
44
|
|
45
|
+
export function ThemedButtonWithIcon(
|
46
|
+
props: ThemedButtonProps & {
|
47
|
+
title: string;
|
48
|
+
icon: string;
|
49
|
+
},
|
50
|
+
) {
|
51
|
+
const { theme, title, icon, onPress } = props;
|
52
|
+
return (
|
53
|
+
<ThemedButton theme={theme} variant="secondary" onPress={onPress}>
|
54
|
+
<View
|
55
|
+
style={{
|
56
|
+
flexDirection: "row",
|
57
|
+
gap: spacing.md,
|
58
|
+
paddingLeft: spacing.sm,
|
59
|
+
alignContent: "center",
|
60
|
+
width: "100%",
|
61
|
+
}}
|
62
|
+
>
|
63
|
+
<RNImage theme={theme} size={24} data={icon} />
|
64
|
+
<ThemedText theme={theme}>{title}</ThemedText>
|
65
|
+
</View>
|
66
|
+
</ThemedButton>
|
67
|
+
);
|
68
|
+
}
|
69
|
+
|
36
70
|
const styles = StyleSheet.create({
|
37
71
|
button: {
|
38
|
-
flex: 1,
|
39
72
|
flexDirection: "row",
|
40
|
-
|
41
|
-
|
42
|
-
borderRadius: 6,
|
73
|
+
padding: spacing.md,
|
74
|
+
borderRadius: radius.lg,
|
43
75
|
justifyContent: "center",
|
44
76
|
alignItems: "center",
|
45
77
|
},
|