thirdweb 5.44.1 → 5.45.0-nightly-bbb4f1c53f982b1f9de00fb30efbf2c77f155e96-20240809000532
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/adapters/ethers5.js +3 -2
- package/dist/cjs/adapters/ethers5.js.map +1 -1
- package/dist/cjs/adapters/wallet-adapter.js +3 -0
- package/dist/cjs/adapters/wallet-adapter.js.map +1 -1
- package/dist/cjs/auth/constants.js +1 -2
- package/dist/cjs/auth/constants.js.map +1 -1
- package/dist/cjs/auth/verify-hash.js +1 -1
- package/dist/cjs/auth/verify-hash.js.map +1 -1
- package/dist/cjs/chains/chain-definitions/abstract-testnet.js +20 -0
- package/dist/cjs/chains/chain-definitions/abstract-testnet.js.map +1 -0
- package/dist/cjs/chains/chain-definitions/fraxtal-testnet.js +20 -0
- package/dist/cjs/chains/chain-definitions/fraxtal-testnet.js.map +1 -0
- package/dist/cjs/chains/chain-definitions/mode-testnet.js +20 -0
- package/dist/cjs/chains/chain-definitions/mode-testnet.js.map +1 -0
- package/dist/cjs/chains/utils.js +7 -0
- package/dist/cjs/chains/utils.js.map +1 -1
- package/dist/cjs/exports/chains.js +3 -1
- package/dist/cjs/exports/chains.js.map +1 -1
- package/dist/cjs/exports/react.js +4 -2
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/exports/wallets/in-app.js +2 -2
- package/dist/cjs/exports/wallets/in-app.js.map +1 -1
- package/dist/cjs/exports/wallets.js +4 -1
- package/dist/cjs/exports/wallets.js.map +1 -1
- package/dist/cjs/react/core/hooks/others/useProfiles.js +36 -0
- package/dist/cjs/react/core/hooks/others/useProfiles.js.map +1 -0
- package/dist/cjs/react/core/utils/{socialIcons.js → walletIcon.js} +26 -1
- package/dist/cjs/react/core/utils/walletIcon.js.map +1 -0
- package/dist/cjs/react/native/ui/components/TokenIcon.js +2 -2
- package/dist/cjs/react/native/ui/components/TokenIcon.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/ConnectButton.js +13 -8
- package/dist/cjs/react/native/ui/connect/ConnectButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +13 -8
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +22 -5
- 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 +13 -8
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/screen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/screen.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/icons/AddUserIcon.js +12 -0
- package/dist/cjs/react/web/ui/ConnectWallet/icons/AddUserIcon.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/icons/MultiUserIcon.js +12 -0
- package/dist/cjs/react/web/ui/ConnectWallet/icons/MultiUserIcon.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/de.js +6 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/de.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/locale/en.js +6 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/en.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/locale/es.js +6 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/es.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/locale/fr.js +6 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/fr.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/locale/ja.js +6 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/ja.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/locale/kr.js +6 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/kr.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/locale/tl.js +6 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/tl.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/locale/vi.js +6 -0
- package/dist/cjs/react/web/ui/ConnectWallet/locale/vi.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +3 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js +42 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +58 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js +8 -5
- package/dist/cjs/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/PayEmbed.js +13 -8
- package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/components/Spinner.js +1 -1
- package/dist/cjs/react/web/ui/components/Spinner.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 +6 -32
- package/dist/cjs/react/web/ui/components/WalletImage.js.map +1 -1
- package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js +8 -4
- package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js.map +1 -1
- package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletFormUI.js +1 -1
- package/dist/cjs/react/web/wallets/ecosystem/EcosystemWalletFormUI.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/in-app/InAppWalletFormUI.js +5 -5
- package/dist/cjs/react/web/wallets/in-app/InAppWalletFormUI.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js +22 -16
- package/dist/cjs/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js +36 -49
- package/dist/cjs/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js +47 -20
- package/dist/cjs/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/SocialLogin.js +33 -13
- package/dist/cjs/react/web/wallets/shared/SocialLogin.js.map +1 -1
- package/dist/cjs/react/web/wallets/shared/locale/en.js +1 -1
- package/dist/cjs/react/web/wallets/shared/oauthSignIn.js +1 -1
- package/dist/cjs/react/web/wallets/shared/oauthSignIn.js.map +1 -1
- package/dist/cjs/reactive/store.js +3 -0
- package/dist/cjs/reactive/store.js.map +1 -1
- package/dist/cjs/transaction/serialize-transaction.js +20 -142
- package/dist/cjs/transaction/serialize-transaction.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/coinbase/coinbase-wallet.js +8 -1
- package/dist/cjs/wallets/coinbase/coinbase-wallet.js.map +1 -1
- package/dist/cjs/wallets/create-wallet.js +8 -1
- package/dist/cjs/wallets/create-wallet.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js +14 -3
- package/dist/cjs/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/linkAccount.js +67 -0
- package/dist/cjs/wallets/in-app/core/authentication/linkAccount.js.map +1 -0
- package/dist/cjs/wallets/in-app/core/authentication/siwe.js +47 -0
- package/dist/cjs/wallets/in-app/core/authentication/siwe.js.map +1 -0
- package/dist/cjs/wallets/in-app/core/authentication/{type.js → types.js} +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -0
- package/dist/cjs/wallets/in-app/core/wallet/ecosystem-core.js +8 -1
- package/dist/cjs/wallets/in-app/core/wallet/ecosystem-core.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +47 -1
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/index.js +3 -3
- package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/profiles.js +60 -0
- package/dist/cjs/wallets/in-app/core/wallet/profiles.js.map +1 -0
- package/dist/cjs/wallets/in-app/native/auth/index.js +3 -3
- package/dist/cjs/wallets/in-app/native/auth/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/auth/native-auth.js +47 -112
- package/dist/cjs/wallets/in-app/native/auth/native-auth.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js +5 -5
- package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/native-connector.js +76 -36
- package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/abstract-login.js +0 -2
- package/dist/cjs/wallets/in-app/web/lib/auth/abstract-login.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/base-login.js +49 -148
- package/dist/cjs/wallets/in-app/web/lib/auth/base-login.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js +26 -12
- package/dist/cjs/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js +3 -3
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js +2 -2
- package/dist/cjs/wallets/in-app/web/lib/auth/oauth.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/otp.js +89 -0
- package/dist/cjs/wallets/in-app/web/lib/auth/otp.js.map +1 -0
- package/dist/cjs/wallets/in-app/web/lib/in-app-account.js +7 -7
- package/dist/cjs/wallets/in-app/web/lib/in-app-account.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js +89 -30
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/cjs/wallets/manager/index.js +41 -5
- package/dist/cjs/wallets/manager/index.js.map +1 -1
- package/dist/cjs/wallets/native/create-wallet.js +8 -1
- package/dist/cjs/wallets/native/create-wallet.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/utils.js +4 -1
- package/dist/cjs/wallets/smart/lib/utils.js.map +1 -1
- package/dist/cjs/wallets/smart/smart-wallet.js +8 -1
- package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
- package/dist/esm/adapters/ethers5.js +3 -2
- package/dist/esm/adapters/ethers5.js.map +1 -1
- package/dist/esm/adapters/wallet-adapter.js +3 -0
- package/dist/esm/adapters/wallet-adapter.js.map +1 -1
- package/dist/esm/auth/constants.js +0 -1
- package/dist/esm/auth/constants.js.map +1 -1
- package/dist/esm/auth/verify-hash.js +2 -2
- package/dist/esm/auth/verify-hash.js.map +1 -1
- package/dist/esm/chains/chain-definitions/abstract-testnet.js +17 -0
- package/dist/esm/chains/chain-definitions/abstract-testnet.js.map +1 -0
- package/dist/esm/chains/chain-definitions/fraxtal-testnet.js +17 -0
- package/dist/esm/chains/chain-definitions/fraxtal-testnet.js.map +1 -0
- package/dist/esm/chains/chain-definitions/mode-testnet.js +17 -0
- package/dist/esm/chains/chain-definitions/mode-testnet.js.map +1 -0
- package/dist/esm/chains/utils.js +6 -0
- package/dist/esm/chains/utils.js.map +1 -1
- package/dist/esm/exports/chains.js +1 -0
- package/dist/esm/exports/chains.js.map +1 -1
- package/dist/esm/exports/react.js +1 -0
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/exports/wallets/embedded.js +1 -1
- package/dist/esm/exports/wallets/embedded.js.map +1 -1
- package/dist/esm/exports/wallets/in-app.js +2 -2
- package/dist/esm/exports/wallets/in-app.js.map +1 -1
- package/dist/esm/exports/wallets/in-app.native.js +1 -1
- package/dist/esm/exports/wallets/in-app.native.js.map +1 -1
- package/dist/esm/exports/wallets.js +1 -0
- package/dist/esm/exports/wallets.js.map +1 -1
- package/dist/esm/react/core/hooks/others/useProfiles.js +33 -0
- package/dist/esm/react/core/hooks/others/useProfiles.js.map +1 -0
- package/dist/esm/react/core/utils/{socialIcons.js → walletIcon.js} +25 -1
- package/dist/esm/react/core/utils/walletIcon.js.map +1 -0
- package/dist/esm/react/native/ui/components/TokenIcon.js +1 -1
- package/dist/esm/react/native/ui/components/TokenIcon.js.map +1 -1
- package/dist/esm/react/native/ui/connect/ConnectButton.js +14 -9
- package/dist/esm/react/native/ui/connect/ConnectButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +13 -8
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +22 -5
- 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 +13 -8
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/screen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/screen.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/icons/AddUserIcon.js +8 -0
- package/dist/esm/react/web/ui/ConnectWallet/icons/AddUserIcon.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/icons/MultiUserIcon.js +8 -0
- package/dist/esm/react/web/ui/ConnectWallet/icons/MultiUserIcon.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/de.js +6 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/de.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/locale/en.js +6 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/en.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/locale/es.js +6 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/es.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/locale/fr.js +6 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/fr.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/locale/ja.js +6 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/ja.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/locale/kr.js +6 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/kr.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/locale/tl.js +6 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/tl.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/locale/vi.js +6 -0
- package/dist/esm/react/web/ui/ConnectWallet/locale/vi.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +3 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js +39 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/LinkProfileScreen.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js +55 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js +8 -5
- package/dist/esm/react/web/ui/ConnectWallet/screens/ManageWalletScreen.js.map +1 -1
- package/dist/esm/react/web/ui/PayEmbed.js +14 -9
- package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/components/Spinner.js +1 -1
- package/dist/esm/react/web/ui/components/Spinner.js.map +1 -1
- package/dist/esm/react/web/ui/components/TokenIcon.js +1 -1
- package/dist/esm/react/web/ui/components/TokenIcon.js.map +1 -1
- package/dist/esm/react/web/ui/components/WalletImage.js +4 -30
- package/dist/esm/react/web/ui/components/WalletImage.js.map +1 -1
- package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js +8 -4
- package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletConnectUI.js.map +1 -1
- package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletFormUI.js +2 -2
- package/dist/esm/react/web/wallets/ecosystem/EcosystemWalletFormUI.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/in-app/InAppWalletFormUI.js +5 -5
- package/dist/esm/react/web/wallets/in-app/InAppWalletFormUI.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js +18 -12
- package/dist/esm/react/web/wallets/shared/ConnectWalletSocialOptions.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/OTPLoginUI.js +36 -49
- package/dist/esm/react/web/wallets/shared/OTPLoginUI.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/PassKeyLogin.js +47 -20
- package/dist/esm/react/web/wallets/shared/PassKeyLogin.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/SocialLogin.js +33 -13
- package/dist/esm/react/web/wallets/shared/SocialLogin.js.map +1 -1
- package/dist/esm/react/web/wallets/shared/locale/en.js +1 -1
- package/dist/esm/react/web/wallets/shared/oauthSignIn.js +2 -2
- package/dist/esm/react/web/wallets/shared/oauthSignIn.js.map +1 -1
- package/dist/esm/reactive/store.js +3 -0
- package/dist/esm/reactive/store.js.map +1 -1
- package/dist/esm/transaction/serialize-transaction.js +21 -142
- package/dist/esm/transaction/serialize-transaction.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/coinbase/coinbase-wallet.js +8 -1
- package/dist/esm/wallets/coinbase/coinbase-wallet.js.map +1 -1
- package/dist/esm/wallets/create-wallet.js +8 -1
- package/dist/esm/wallets/create-wallet.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js +11 -1
- package/dist/esm/wallets/in-app/core/authentication/getLoginPath.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/linkAccount.js +63 -0
- package/dist/esm/wallets/in-app/core/authentication/linkAccount.js.map +1 -0
- package/dist/esm/wallets/in-app/core/authentication/siwe.js +44 -0
- package/dist/esm/wallets/in-app/core/authentication/siwe.js.map +1 -0
- package/dist/esm/wallets/in-app/core/authentication/{type.js → types.js} +1 -1
- package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -0
- package/dist/esm/wallets/in-app/core/wallet/ecosystem-core.js +8 -1
- package/dist/esm/wallets/in-app/core/wallet/ecosystem-core.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +47 -1
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/index.js +2 -2
- package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/profiles.js +56 -0
- package/dist/esm/wallets/in-app/core/wallet/profiles.js.map +1 -0
- package/dist/esm/wallets/in-app/native/auth/index.js +2 -2
- package/dist/esm/wallets/in-app/native/auth/index.js.map +1 -1
- package/dist/esm/wallets/in-app/native/auth/native-auth.js +47 -112
- package/dist/esm/wallets/in-app/native/auth/native-auth.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js +1 -1
- package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
- package/dist/esm/wallets/in-app/native/native-connector.js +67 -27
- package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/abstract-login.js +0 -2
- package/dist/esm/wallets/in-app/web/lib/auth/abstract-login.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/base-login.js +49 -148
- package/dist/esm/wallets/in-app/web/lib/auth/base-login.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js +26 -12
- package/dist/esm/wallets/in-app/web/lib/auth/iframe-auth.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/index.js +2 -2
- package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/oauth.js +3 -3
- package/dist/esm/wallets/in-app/web/lib/auth/oauth.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/otp.js +84 -0
- package/dist/esm/wallets/in-app/web/lib/auth/otp.js.map +1 -0
- package/dist/esm/wallets/in-app/web/lib/in-app-account.js +1 -1
- package/dist/esm/wallets/in-app/web/lib/in-app-account.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/web-connector.js +88 -29
- package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/esm/wallets/manager/index.js +41 -5
- package/dist/esm/wallets/manager/index.js.map +1 -1
- package/dist/esm/wallets/native/create-wallet.js +8 -1
- package/dist/esm/wallets/native/create-wallet.js.map +1 -1
- package/dist/esm/wallets/smart/lib/utils.js +4 -1
- package/dist/esm/wallets/smart/lib/utils.js.map +1 -1
- package/dist/esm/wallets/smart/smart-wallet.js +8 -1
- package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
- package/dist/types/adapters/ethers5.d.ts +1 -1
- package/dist/types/adapters/ethers5.d.ts.map +1 -1
- package/dist/types/adapters/wallet-adapter.d.ts.map +1 -1
- package/dist/types/auth/constants.d.ts +0 -1
- package/dist/types/auth/constants.d.ts.map +1 -1
- package/dist/types/auth/verify-hash.d.ts.map +1 -1
- package/dist/types/chains/chain-definitions/abstract-testnet.d.ts +7 -0
- package/dist/types/chains/chain-definitions/abstract-testnet.d.ts.map +1 -0
- package/dist/types/chains/chain-definitions/fraxtal-testnet.d.ts +7 -0
- package/dist/types/chains/chain-definitions/fraxtal-testnet.d.ts.map +1 -0
- package/dist/types/chains/chain-definitions/mode-testnet.d.ts +7 -0
- package/dist/types/chains/chain-definitions/mode-testnet.d.ts.map +1 -0
- package/dist/types/chains/utils.d.ts +6 -0
- package/dist/types/chains/utils.d.ts.map +1 -1
- package/dist/types/exports/chains.d.ts +1 -0
- package/dist/types/exports/chains.d.ts.map +1 -1
- package/dist/types/exports/react.d.ts +1 -0
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/exports/wallets/embedded.d.ts +1 -1
- package/dist/types/exports/wallets/embedded.d.ts.map +1 -1
- package/dist/types/exports/wallets/in-app.d.ts +2 -2
- package/dist/types/exports/wallets/in-app.d.ts.map +1 -1
- package/dist/types/exports/wallets/in-app.native.d.ts +1 -1
- package/dist/types/exports/wallets/in-app.native.d.ts.map +1 -1
- package/dist/types/exports/wallets.d.ts +1 -0
- package/dist/types/exports/wallets.d.ts.map +1 -1
- package/dist/types/react/core/hooks/others/useProfiles.d.ts +23 -0
- package/dist/types/react/core/hooks/others/useProfiles.d.ts.map +1 -0
- package/dist/types/react/core/providers/connection-manager.d.ts +3 -0
- package/dist/types/react/core/providers/connection-manager.d.ts.map +1 -1
- package/dist/types/react/core/utils/storage.d.ts +2 -2
- package/dist/types/react/core/utils/storage.d.ts.map +1 -1
- package/dist/types/react/core/utils/{socialIcons.d.ts → walletIcon.d.ts} +2 -1
- package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -0
- package/dist/types/react/native/ui/connect/ConnectButton.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/ConnectModal.d.ts +1 -1
- package/dist/types/react/native/ui/connect/ConnectModal.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts +1 -1
- package/dist/types/react/native/ui/connect/InAppWalletUI.d.ts.map +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.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.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/icons/AddUserIcon.d.ts +6 -0
- package/dist/types/react/web/ui/ConnectWallet/icons/AddUserIcon.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/icons/MultiUserIcon.d.ts +6 -0
- package/dist/types/react/web/ui/ConnectWallet/icons/MultiUserIcon.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/locale/de.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/locale/en.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/locale/es.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/locale/fr.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/locale/ja.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/locale/kr.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/locale/tl.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/locale/types.d.ts +6 -0
- package/dist/types/react/web/ui/ConnectWallet/locale/types.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/locale/vi.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/LinkProfileScreen.d.ts +11 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/LinkProfileScreen.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.d.ts +13 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/ManageWalletScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/types.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/types.d.ts.map +1 -1
- package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/WalletImage.d.ts.map +1 -1
- package/dist/types/react/web/wallets/ecosystem/EcosystemWalletConnectUI.d.ts +1 -0
- package/dist/types/react/web/wallets/ecosystem/EcosystemWalletConnectUI.d.ts.map +1 -1
- package/dist/types/react/web/wallets/ecosystem/EcosystemWalletFormUI.d.ts +1 -0
- package/dist/types/react/web/wallets/ecosystem/EcosystemWalletFormUI.d.ts.map +1 -1
- package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts +2 -1
- package/dist/types/react/web/wallets/in-app/InAppWalletConnectUI.d.ts.map +1 -1
- package/dist/types/react/web/wallets/in-app/InAppWalletFormUI.d.ts +2 -1
- package/dist/types/react/web/wallets/in-app/InAppWalletFormUI.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts +3 -1
- package/dist/types/react/web/wallets/shared/ConnectWalletSocialOptions.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/OTPLoginUI.d.ts +1 -0
- package/dist/types/react/web/wallets/shared/OTPLoginUI.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/PassKeyLogin.d.ts +4 -1
- package/dist/types/react/web/wallets/shared/PassKeyLogin.d.ts.map +1 -1
- package/dist/types/react/web/wallets/shared/SocialLogin.d.ts +3 -0
- package/dist/types/react/web/wallets/shared/SocialLogin.d.ts.map +1 -1
- package/dist/types/reactive/store.d.ts.map +1 -1
- package/dist/types/transaction/serialize-transaction.d.ts +8 -8
- package/dist/types/transaction/serialize-transaction.d.ts.map +1 -1
- package/dist/types/utils/any-evm/keyless-transaction.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/coinbase/coinbase-wallet.d.ts.map +1 -1
- package/dist/types/wallets/create-wallet.d.ts.map +1 -1
- package/dist/types/wallets/ecosystem/types.d.ts +2 -8
- package/dist/types/wallets/ecosystem/types.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts +8 -3
- package/dist/types/wallets/in-app/core/authentication/getLoginPath.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/authentication/linkAccount.d.ts +24 -0
- package/dist/types/wallets/in-app/core/authentication/linkAccount.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/authentication/siwe.d.ts +14 -0
- package/dist/types/wallets/in-app/core/authentication/siwe.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/authentication/{type.d.ts → types.d.ts} +17 -2
- package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/interfaces/connector.d.ts +4 -3
- package/dist/types/wallets/in-app/core/interfaces/connector.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/ecosystem-core.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/profiles.d.ts +48 -0
- package/dist/types/wallets/in-app/core/wallet/profiles.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/wallet/types.d.ts +1 -1
- package/dist/types/wallets/in-app/core/wallet/types.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/auth/index.d.ts +3 -3
- package/dist/types/wallets/in-app/native/auth/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/auth/native-auth.d.ts +7 -13
- package/dist/types/wallets/in-app/native/auth/native-auth.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts +1 -1
- package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/auth/logout.d.ts +1 -1
- package/dist/types/wallets/in-app/native/helpers/auth/logout.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts +3 -3
- package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts +1 -1
- package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/types.d.ts +1 -1
- package/dist/types/wallets/in-app/native/helpers/types.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/wallet/creation.d.ts +1 -1
- package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts +1 -1
- package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/native-connector.d.ts +6 -4
- package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/abstract-login.d.ts +4 -12
- package/dist/types/wallets/in-app/web/lib/auth/abstract-login.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/base-login.d.ts +12 -15
- package/dist/types/wallets/in-app/web/lib/auth/base-login.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts +11 -9
- package/dist/types/wallets/in-app/web/lib/auth/iframe-auth.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +4 -4
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/oauth.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/otp.d.ts +15 -0
- package/dist/types/wallets/in-app/web/lib/auth/otp.d.ts.map +1 -0
- package/dist/types/wallets/in-app/web/lib/auth/passkeys.d.ts +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/passkeys.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/get-url-token.d.ts +1 -1
- package/dist/types/wallets/in-app/web/lib/get-url-token.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/in-app-account.d.ts +1 -1
- package/dist/types/wallets/in-app/web/lib/in-app-account.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +11 -4
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/types.d.ts +1 -1
- package/dist/types/wallets/in-app/web/types.d.ts.map +1 -1
- package/dist/types/wallets/interfaces/wallet.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/dist/types/wallets/native/create-wallet.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/utils.d.ts.map +1 -1
- package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
- package/dist/types/wallets/types.d.ts +1 -1
- package/dist/types/wallets/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/adapters/ethers5.ts +4 -2
- package/src/adapters/wallet-adapter.ts +3 -0
- package/src/auth/constants.ts +0 -3
- package/src/auth/verify-hash.ts +7 -5
- package/src/chains/chain-definitions/abstract-testnet.ts +17 -0
- package/src/chains/chain-definitions/fraxtal-testnet.ts +17 -0
- package/src/chains/chain-definitions/mode-testnet.ts +17 -0
- package/src/chains/utils.ts +7 -0
- package/src/exports/chains.ts +1 -0
- package/src/exports/react.ts +1 -0
- package/src/exports/wallets/embedded.ts +1 -1
- package/src/exports/wallets/in-app.native.ts +1 -1
- package/src/exports/wallets/in-app.ts +2 -2
- package/src/exports/wallets.ts +5 -0
- package/src/extensions/marketplace/direct-listings/direct-listings.test.ts +334 -337
- package/src/extensions/marketplace/english-auctions/english-auctions.test.ts +231 -236
- package/src/extensions/marketplace/offers/offers.test.ts +1 -1
- package/src/extensions/prebuilts/deploy-modular-core.test.ts +1 -1
- package/src/react/core/hooks/others/useProfiles.ts +36 -0
- package/src/react/core/utils/storage.ts +1 -1
- package/src/react/core/utils/{socialIcons.ts → walletIcon.ts} +25 -0
- package/src/react/native/ui/components/TokenIcon.tsx +1 -1
- package/src/react/native/ui/connect/ConnectButton.tsx +14 -9
- package/src/react/native/ui/connect/ConnectModal.tsx +1 -1
- package/src/react/native/ui/connect/InAppWalletUI.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +13 -8
- package/src/react/web/ui/ConnectWallet/Details.tsx +45 -11
- package/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx +3 -1
- package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +13 -8
- package/src/react/web/ui/ConnectWallet/Modal/screen.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/WalletSelector.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/icons/AddUserIcon.tsx +25 -0
- package/src/react/web/ui/ConnectWallet/icons/MultiUserIcon.tsx +25 -0
- package/src/react/web/ui/ConnectWallet/locale/de.ts +6 -0
- package/src/react/web/ui/ConnectWallet/locale/en.ts +6 -0
- package/src/react/web/ui/ConnectWallet/locale/es.ts +6 -0
- package/src/react/web/ui/ConnectWallet/locale/fr.ts +6 -0
- package/src/react/web/ui/ConnectWallet/locale/ja.ts +6 -0
- package/src/react/web/ui/ConnectWallet/locale/kr.ts +6 -0
- package/src/react/web/ui/ConnectWallet/locale/tl.ts +6 -1
- package/src/react/web/ui/ConnectWallet/locale/types.ts +6 -0
- package/src/react/web/ui/ConnectWallet/locale/vi.ts +6 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +5 -1
- package/src/react/web/ui/ConnectWallet/screens/LinkProfileScreen.tsx +88 -0
- package/src/react/web/ui/ConnectWallet/screens/LinkedProfilesScreen.tsx +119 -0
- package/src/react/web/ui/ConnectWallet/screens/ManageWalletScreen.tsx +20 -4
- package/src/react/web/ui/ConnectWallet/screens/types.ts +3 -1
- package/src/react/web/ui/PayEmbed.tsx +14 -9
- package/src/react/web/ui/components/Spinner.tsx +1 -1
- package/src/react/web/ui/components/TokenIcon.tsx +1 -1
- package/src/react/web/ui/components/WalletImage.tsx +7 -41
- package/src/react/web/wallets/ecosystem/EcosystemWalletConnectUI.tsx +16 -4
- package/src/react/web/wallets/ecosystem/EcosystemWalletFormUI.tsx +14 -6
- package/src/react/web/wallets/in-app/InAppWalletConnectUI.tsx +17 -5
- package/src/react/web/wallets/in-app/InAppWalletFormUI.tsx +13 -12
- package/src/react/web/wallets/shared/ConnectWalletSocialOptions.tsx +20 -15
- package/src/react/web/wallets/shared/OTPLoginUI.tsx +49 -54
- package/src/react/web/wallets/shared/PassKeyLogin.tsx +59 -20
- package/src/react/web/wallets/shared/SocialLogin.tsx +46 -14
- package/src/react/web/wallets/shared/locale/en.ts +1 -1
- package/src/react/web/wallets/shared/oauthSignIn.ts +2 -2
- package/src/reactive/store.ts +3 -0
- package/src/transaction/serialize-transaction.test.ts +13 -9
- package/src/transaction/serialize-transaction.ts +31 -258
- package/src/version.ts +1 -1
- package/src/wallets/coinbase/coinbase-wallet.ts +9 -1
- package/src/wallets/create-wallet.ts +9 -1
- package/src/wallets/ecosystem/types.ts +2 -10
- package/src/wallets/in-app/core/authentication/getLoginPath.ts +22 -3
- package/src/wallets/in-app/core/authentication/linkAccount.ts +96 -0
- package/src/wallets/in-app/core/authentication/siwe.ts +63 -0
- package/src/wallets/in-app/core/authentication/{type.ts → types.ts} +18 -1
- package/src/wallets/in-app/core/interfaces/connector.ts +14 -5
- package/src/wallets/in-app/core/wallet/ecosystem-core.ts +10 -1
- package/src/wallets/in-app/core/wallet/in-app-core.ts +68 -3
- package/src/wallets/in-app/core/wallet/index.ts +2 -2
- package/src/wallets/in-app/core/wallet/profiles.ts +74 -0
- package/src/wallets/in-app/core/wallet/types.ts +1 -1
- package/src/wallets/in-app/native/auth/index.ts +2 -2
- package/src/wallets/in-app/native/auth/native-auth.ts +70 -183
- package/src/wallets/in-app/native/helpers/api/fetchers.ts +1 -1
- package/src/wallets/in-app/native/helpers/auth/logout.ts +1 -1
- package/src/wallets/in-app/native/helpers/auth/middleware.ts +1 -1
- package/src/wallets/in-app/native/helpers/storage/local.ts +1 -1
- package/src/wallets/in-app/native/helpers/types.ts +1 -1
- package/src/wallets/in-app/native/helpers/wallet/creation.ts +1 -1
- package/src/wallets/in-app/native/helpers/wallet/retrieval.ts +1 -1
- package/src/wallets/in-app/native/native-connector.ts +96 -35
- package/src/wallets/in-app/web/lib/auth/abstract-login.ts +4 -14
- package/src/wallets/in-app/web/lib/auth/base-login.ts +75 -177
- package/src/wallets/in-app/web/lib/auth/iframe-auth.ts +37 -18
- package/src/wallets/in-app/web/lib/auth/index.ts +2 -2
- package/src/wallets/in-app/web/lib/auth/oauth.ts +4 -4
- package/src/wallets/in-app/web/lib/auth/otp.ts +114 -0
- package/src/wallets/in-app/web/lib/auth/passkeys.ts +1 -1
- package/src/wallets/in-app/web/lib/get-url-token.ts +1 -1
- package/src/wallets/in-app/web/lib/in-app-account.ts +1 -1
- package/src/wallets/in-app/web/lib/web-connector.ts +93 -37
- package/src/wallets/in-app/web/types.ts +1 -1
- package/src/wallets/interfaces/wallet.ts +1 -0
- package/src/wallets/manager/index.ts +51 -5
- package/src/wallets/native/create-wallet.ts +9 -1
- package/src/wallets/smart/lib/utils.ts +6 -1
- package/src/wallets/smart/smart-wallet-integration.test.ts +3 -3
- package/src/wallets/smart/smart-wallet.ts +9 -1
- package/src/wallets/types.ts +6 -1
- package/dist/cjs/react/core/utils/socialIcons.js.map +0 -1
- package/dist/cjs/wallets/in-app/core/authentication/type.js.map +0 -1
- package/dist/esm/react/core/utils/socialIcons.js.map +0 -1
- package/dist/esm/wallets/in-app/core/authentication/type.js.map +0 -1
- package/dist/types/react/core/utils/socialIcons.d.ts.map +0 -1
- package/dist/types/wallets/in-app/core/authentication/type.d.ts.map +0 -1
@@ -1,36 +1,23 @@
|
|
1
1
|
import {
|
2
|
-
type
|
2
|
+
type GetTransactionType,
|
3
3
|
type SerializedTransactionReturnType,
|
4
4
|
type Signature,
|
5
5
|
type TransactionSerializable,
|
6
|
-
type
|
7
|
-
type TransactionSerializableEIP2930,
|
8
|
-
type TransactionSerializableEIP4844,
|
9
|
-
type TransactionSerializableLegacy,
|
10
|
-
type TransactionSerializedEIP1559,
|
11
|
-
type TransactionSerializedEIP2930,
|
12
|
-
type TransactionSerializedLegacy,
|
6
|
+
type TransactionType,
|
13
7
|
serializeTransaction as _serializeTransaction,
|
14
|
-
assertTransactionEIP1559,
|
15
|
-
assertTransactionEIP2930,
|
16
|
-
assertTransactionLegacy,
|
17
|
-
serializeAccessList,
|
18
|
-
toRlp,
|
19
8
|
} from "viem";
|
20
|
-
import { trim } from "../utils/encoding/helpers/trim.js";
|
21
|
-
import { type Hex, toHex } from "../utils/encoding/hex.js";
|
22
9
|
|
23
|
-
export type SerializeTransactionOptions
|
24
|
-
|
25
|
-
|
26
|
-
transaction: _transaction;
|
10
|
+
export type SerializeTransactionOptions = {
|
11
|
+
transaction: TransactionSerializable;
|
12
|
+
signature?: Signature | undefined;
|
27
13
|
};
|
28
14
|
|
29
15
|
/**
|
30
|
-
* Serializes a legacy, EIP-1559, EIP-2930, or EIP-
|
16
|
+
* Serializes a legacy, EIP-1559, EIP-2930, EIP-4844, or EIP-7702 transaction object.
|
31
17
|
*
|
32
18
|
* @param options - The serialization options.
|
33
|
-
* @param options.transaction - The transaction object to be serialized
|
19
|
+
* @param options.transaction - The transaction object to be serialized.
|
20
|
+
* @param [options.signature] - The signature to include with the transaction, if necessary.
|
34
21
|
* @returns The serialized transaction.
|
35
22
|
* @throws An error if the provided transaction object is invalid.
|
36
23
|
* @transaction
|
@@ -46,245 +33,31 @@ export type SerializeTransactionOptions<
|
|
46
33
|
* ```
|
47
34
|
*/
|
48
35
|
export function serializeTransaction<
|
49
|
-
|
36
|
+
const transaction extends TransactionSerializable,
|
37
|
+
_transactionType extends TransactionType = GetTransactionType<transaction>,
|
50
38
|
>(
|
51
|
-
options: SerializeTransactionOptions
|
52
|
-
): SerializedTransactionReturnType<
|
39
|
+
options: SerializeTransactionOptions,
|
40
|
+
): SerializedTransactionReturnType<transaction, _transactionType> {
|
53
41
|
const { transaction } = options;
|
54
42
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
) {
|
73
|
-
return serializeEIP1559Transaction({
|
74
|
-
transaction,
|
75
|
-
}) as SerializedTransactionReturnType<_transaction>;
|
76
|
-
}
|
77
|
-
|
78
|
-
if (
|
79
|
-
transaction.type === "eip2930" ||
|
80
|
-
(typeof transaction.gasPrice !== "undefined" &&
|
81
|
-
typeof transaction.accessList !== "undefined")
|
82
|
-
) {
|
83
|
-
return serializeEIP2930Transaction({
|
84
|
-
transaction,
|
85
|
-
}) as SerializedTransactionReturnType<_transaction>;
|
86
|
-
}
|
87
|
-
|
88
|
-
if (
|
89
|
-
transaction.type === "legacy" ||
|
90
|
-
typeof transaction.gasPrice !== "undefined"
|
91
|
-
) {
|
92
|
-
return serializeTransactionLegacy({
|
93
|
-
transaction: transaction as TransactionSerializableLegacy,
|
94
|
-
}) as SerializedTransactionReturnType<_transaction>;
|
95
|
-
}
|
96
|
-
|
97
|
-
throw new Error(
|
98
|
-
`Invalid transaction to serialize.\n\n${JSON.stringify(
|
99
|
-
transaction,
|
100
|
-
(_, v) => (typeof v === "bigint" ? `${v.toString()}n` : v),
|
101
|
-
2,
|
102
|
-
)}`,
|
103
|
-
);
|
104
|
-
}
|
105
|
-
|
106
|
-
type SerializeEIP1559TransactionOptions = {
|
107
|
-
transaction: TransactionSerializableEIP1559;
|
108
|
-
};
|
109
|
-
|
110
|
-
function serializeEIP1559Transaction(
|
111
|
-
options: SerializeEIP1559TransactionOptions,
|
112
|
-
): TransactionSerializedEIP1559 {
|
113
|
-
assertTransactionEIP1559(options.transaction);
|
114
|
-
|
115
|
-
const {
|
116
|
-
transaction: {
|
117
|
-
chainId,
|
118
|
-
gas,
|
119
|
-
nonce,
|
120
|
-
to,
|
121
|
-
value,
|
122
|
-
maxFeePerGas,
|
123
|
-
maxPriorityFeePerGas,
|
124
|
-
accessList,
|
125
|
-
data,
|
126
|
-
r,
|
127
|
-
s,
|
128
|
-
v,
|
129
|
-
yParity,
|
130
|
-
},
|
131
|
-
} = options;
|
132
|
-
|
133
|
-
const serializedAccessList = serializeAccessList(accessList);
|
134
|
-
|
135
|
-
const serializedTransaction = [
|
136
|
-
toHex(chainId),
|
137
|
-
nonce ? toHex(nonce) : "0x",
|
138
|
-
maxPriorityFeePerGas ? toHex(maxPriorityFeePerGas) : "0x",
|
139
|
-
maxFeePerGas ? toHex(maxFeePerGas) : "0x",
|
140
|
-
gas ? toHex(gas) : "0x",
|
141
|
-
// To fix when migrating to our own version of TransactionSerializable (the viem type is downgraded from Address to string when importing)
|
142
|
-
(to ?? "0x") as Hex,
|
143
|
-
value ? toHex(value) : "0x",
|
144
|
-
data ?? "0x",
|
145
|
-
serializedAccessList,
|
146
|
-
...toYParitySignatureArray({ r, s, v, yParity }),
|
147
|
-
];
|
148
|
-
|
149
|
-
return `0x02${toRlp(serializedTransaction).slice(2)}`;
|
150
|
-
}
|
151
|
-
|
152
|
-
type SerializeEIP2930TransactionOptions = {
|
153
|
-
transaction: TransactionSerializableEIP2930;
|
154
|
-
};
|
155
|
-
|
156
|
-
function serializeEIP2930Transaction(
|
157
|
-
options: SerializeEIP2930TransactionOptions,
|
158
|
-
): TransactionSerializedEIP2930 {
|
159
|
-
assertTransactionEIP2930(options.transaction);
|
160
|
-
|
161
|
-
const {
|
162
|
-
transaction: {
|
163
|
-
chainId,
|
164
|
-
gas,
|
165
|
-
gasPrice,
|
166
|
-
nonce,
|
167
|
-
to,
|
168
|
-
value,
|
169
|
-
accessList,
|
170
|
-
data,
|
171
|
-
r,
|
172
|
-
s,
|
173
|
-
v,
|
174
|
-
yParity,
|
175
|
-
},
|
176
|
-
} = options;
|
177
|
-
|
178
|
-
const serializedAccessList = serializeAccessList(accessList);
|
179
|
-
|
180
|
-
const serializedTransaction = [
|
181
|
-
toHex(chainId),
|
182
|
-
nonce ? toHex(nonce) : "0x",
|
183
|
-
gasPrice ? toHex(gasPrice) : "0x",
|
184
|
-
gas ? toHex(gas) : "0x",
|
185
|
-
(to ?? "0x") as Hex,
|
186
|
-
value ? toHex(value) : "0x",
|
187
|
-
data ?? "0x",
|
188
|
-
serializedAccessList,
|
189
|
-
...toYParitySignatureArray({ r, s, v, yParity }),
|
190
|
-
];
|
191
|
-
|
192
|
-
return `0x01${toRlp(serializedTransaction).slice(2)}`;
|
193
|
-
}
|
194
|
-
|
195
|
-
type SerializeLegacyTransactionOptions = {
|
196
|
-
transaction: TransactionSerializableLegacy;
|
197
|
-
};
|
198
|
-
|
199
|
-
function serializeTransactionLegacy(
|
200
|
-
options: SerializeLegacyTransactionOptions,
|
201
|
-
): TransactionSerializedLegacy {
|
202
|
-
assertTransactionLegacy(options.transaction);
|
203
|
-
|
204
|
-
const {
|
205
|
-
chainId = 0,
|
206
|
-
gas,
|
207
|
-
data,
|
208
|
-
nonce,
|
209
|
-
to,
|
210
|
-
value,
|
211
|
-
gasPrice,
|
212
|
-
r,
|
213
|
-
s,
|
214
|
-
v,
|
215
|
-
} = options.transaction;
|
216
|
-
|
217
|
-
let serializedTransaction = [
|
218
|
-
nonce ? toHex(nonce) : "0x",
|
219
|
-
gasPrice ? toHex(gasPrice) : "0x",
|
220
|
-
gas ? toHex(gas) : "0x",
|
221
|
-
(to ?? "0x") as Hex,
|
222
|
-
value ? toHex(value) : "0x",
|
223
|
-
data ?? "0x",
|
224
|
-
];
|
225
|
-
|
226
|
-
if (typeof v !== "undefined") {
|
227
|
-
const v_ = (() => {
|
228
|
-
// EIP-155 (inferred chainId)
|
229
|
-
if (v >= 35n) {
|
230
|
-
const inferredChainId = (v - 35n) / 2n;
|
231
|
-
if (inferredChainId > 0) return v;
|
232
|
-
return 27n + (v === 35n ? 0n : 1n);
|
233
|
-
}
|
234
|
-
|
235
|
-
// EIP-155 (explicit chainId)
|
236
|
-
if (chainId > 0) return BigInt(chainId * 2) + BigInt(35n + v - 27n);
|
237
|
-
|
238
|
-
// Pre-EIP-155 (no chainId)
|
239
|
-
const v_ = 27n + (v === 27n ? 0n : 1n);
|
240
|
-
if (v !== v_) throw new Error(`Invalid legacy signature value v: ${v}`);
|
241
|
-
return v_;
|
242
|
-
})();
|
243
|
-
|
244
|
-
if (typeof r === "undefined")
|
245
|
-
throw new Error(`Invalid legacy signature value r: ${r}`);
|
246
|
-
if (typeof s === "undefined")
|
247
|
-
throw new Error(`Invalid legacy signature value s: ${s}`);
|
248
|
-
|
249
|
-
serializedTransaction = [
|
250
|
-
...serializedTransaction,
|
251
|
-
toHex(v_),
|
252
|
-
r === "0x00" ? "0x" : r,
|
253
|
-
s === "0x00" ? "0x" : s,
|
254
|
-
];
|
255
|
-
} else if (chainId > 0) {
|
256
|
-
serializedTransaction = [
|
257
|
-
...serializedTransaction,
|
258
|
-
toHex(chainId),
|
259
|
-
"0x",
|
260
|
-
"0x",
|
261
|
-
];
|
262
|
-
}
|
263
|
-
|
264
|
-
return toRlp(serializedTransaction) as TransactionSerializedLegacy;
|
265
|
-
}
|
266
|
-
|
267
|
-
export function toYParitySignatureArray(
|
268
|
-
signature: ExactPartial<Signature>,
|
269
|
-
): Hex[] {
|
270
|
-
const { v, yParity } = signature;
|
271
|
-
|
272
|
-
if (typeof signature.r === "undefined") return [];
|
273
|
-
if (typeof signature.s === "undefined") return [];
|
274
|
-
|
275
|
-
if (typeof v === "undefined" && typeof yParity === "undefined") return [];
|
276
|
-
|
277
|
-
const r = trim(signature.r);
|
278
|
-
const s = trim(signature.s);
|
279
|
-
|
280
|
-
const yParity_ = (() => {
|
281
|
-
if (yParity === 1 || yParity === 0) return yParity ? toHex(1) : "0x";
|
282
|
-
if (typeof yParity !== "undefined")
|
283
|
-
throw new Error(`Invalid signature value for yParity: ${yParity}`);
|
284
|
-
|
285
|
-
if (v === 0n || v === 27n) return "0x";
|
286
|
-
if (v === 1n || v === 28n) return toHex(1);
|
287
|
-
throw new Error(`Invalid signature value v: ${v}`);
|
43
|
+
// This is to maintain compatibility with our old interface (including the signature in the transaction object)
|
44
|
+
const signature = (() => {
|
45
|
+
if (options.signature) return options.signature;
|
46
|
+
if (transaction.v === undefined && transaction.yParity === undefined) {
|
47
|
+
return undefined;
|
48
|
+
}
|
49
|
+
|
50
|
+
if (transaction.r === undefined || transaction.s === undefined) {
|
51
|
+
throw new Error("Invalid signature provided with transaction");
|
52
|
+
}
|
53
|
+
|
54
|
+
return {
|
55
|
+
v: transaction.v,
|
56
|
+
r: transaction.r,
|
57
|
+
s: transaction.s,
|
58
|
+
yParity: transaction.yParity,
|
59
|
+
};
|
288
60
|
})();
|
289
|
-
|
61
|
+
|
62
|
+
return _serializeTransaction(transaction, signature as Signature | undefined); // Trust the options type-checking did its job and that the converted signature mirrors that type
|
290
63
|
}
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.
|
1
|
+
export const version = "5.45.0-nightly-bbb4f1c53f982b1f9de00fb30efbf2c77f155e96-20240809000532";
|
@@ -5,6 +5,7 @@
|
|
5
5
|
import type { ProviderInterface } from "@coinbase/wallet-sdk";
|
6
6
|
import { trackConnect } from "../../analytics/track.js";
|
7
7
|
import type { Chain } from "../../chains/types.js";
|
8
|
+
import { getCachedChainIfExists } from "../../chains/utils.js";
|
8
9
|
import { COINBASE } from "../constants.js";
|
9
10
|
import type { Account, Wallet } from "../interfaces/wallet.js";
|
10
11
|
import { createWalletEmitter } from "../wallet-emitter.js";
|
@@ -54,7 +55,14 @@ export function coinbaseWalletSDK(args: {
|
|
54
55
|
return {
|
55
56
|
id: COINBASE,
|
56
57
|
subscribe: emitter.subscribe,
|
57
|
-
getChain
|
58
|
+
getChain() {
|
59
|
+
if (!chain) {
|
60
|
+
return undefined;
|
61
|
+
}
|
62
|
+
|
63
|
+
chain = getCachedChainIfExists(chain.id) || chain;
|
64
|
+
return chain;
|
65
|
+
},
|
58
66
|
getConfig: () => createOptions,
|
59
67
|
getAccount: () => account,
|
60
68
|
autoConnect: async (options) => {
|
@@ -13,6 +13,7 @@ import type {
|
|
13
13
|
} from "./wallet-types.js";
|
14
14
|
|
15
15
|
import { trackConnect } from "../analytics/track.js";
|
16
|
+
import { getCachedChainIfExists } from "../chains/utils.js";
|
16
17
|
import { webLocalStorage } from "../utils/storage/webStorage.js";
|
17
18
|
import { isMobile } from "../utils/web/isMobile.js";
|
18
19
|
import { openWindow } from "../utils/web/openWindow.js";
|
@@ -206,7 +207,14 @@ export function createWallet<const ID extends WalletId>(
|
|
206
207
|
id,
|
207
208
|
subscribe: emitter.subscribe,
|
208
209
|
getConfig: () => args[1],
|
209
|
-
getChain
|
210
|
+
getChain() {
|
211
|
+
if (!chain) {
|
212
|
+
return undefined;
|
213
|
+
}
|
214
|
+
|
215
|
+
chain = getCachedChainIfExists(chain.id) || chain;
|
216
|
+
return chain;
|
217
|
+
},
|
210
218
|
getAccount: () => account,
|
211
219
|
autoConnect: async (
|
212
220
|
options: WalletAutoConnectionOption<
|
@@ -1,9 +1,7 @@
|
|
1
|
-
import type { Prettify } from "../../utils/type-utils.js";
|
2
1
|
import type {
|
3
2
|
InAppWalletAutoConnectOptions,
|
4
3
|
InAppWalletConnectionOptions,
|
5
4
|
} from "../in-app/core/wallet/types.js";
|
6
|
-
import type { Ecosystem } from "../in-app/web/types.js";
|
7
5
|
|
8
6
|
export type EcosystemWalletCreationOptions = {
|
9
7
|
partnerId?: string;
|
@@ -12,11 +10,5 @@ export type EcosystemWalletCreationOptions = {
|
|
12
10
|
};
|
13
11
|
};
|
14
12
|
|
15
|
-
export type EcosystemWalletConnectionOptions =
|
16
|
-
|
17
|
-
ecosystem: Ecosystem;
|
18
|
-
}
|
19
|
-
>;
|
20
|
-
export type EcosystemWalletAutoConnectOptions = Prettify<
|
21
|
-
InAppWalletAutoConnectOptions & { ecosystem: Ecosystem }
|
22
|
-
>;
|
13
|
+
export type EcosystemWalletConnectionOptions = InAppWalletConnectionOptions;
|
14
|
+
export type EcosystemWalletAutoConnectOptions = InAppWalletAutoConnectOptions;
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
2
2
|
import { getThirdwebBaseUrl } from "../../../../utils/domains.js";
|
3
|
-
import type {
|
3
|
+
import type { AuthOption } from "../../../../wallets/types.js";
|
4
4
|
import type { Ecosystem } from "../../web/types.js";
|
5
5
|
|
6
|
-
export const
|
6
|
+
export const getLoginUrl = ({
|
7
7
|
authOption,
|
8
8
|
client,
|
9
9
|
ecosystem,
|
10
10
|
mode = "popup",
|
11
11
|
redirectUrl,
|
12
12
|
}: {
|
13
|
-
authOption:
|
13
|
+
authOption: AuthOption;
|
14
14
|
client: ThirdwebClient;
|
15
15
|
ecosystem?: Ecosystem;
|
16
16
|
mode?: "popup" | "redirect" | "mobile";
|
@@ -39,3 +39,22 @@ export const getSocialAuthLoginPath = ({
|
|
39
39
|
|
40
40
|
return baseUrl;
|
41
41
|
};
|
42
|
+
|
43
|
+
export const getLoginCallbackUrl = ({
|
44
|
+
authOption,
|
45
|
+
client,
|
46
|
+
ecosystem,
|
47
|
+
}: {
|
48
|
+
authOption: AuthOption;
|
49
|
+
client: ThirdwebClient;
|
50
|
+
ecosystem?: Ecosystem;
|
51
|
+
}): string => {
|
52
|
+
let baseUrl = `${getThirdwebBaseUrl("inAppWallet")}/api/2024-05-05/login/${authOption}/callback?clientId=${client.clientId}`;
|
53
|
+
if (ecosystem?.partnerId) {
|
54
|
+
baseUrl = `${baseUrl}&ecosystemId=${ecosystem.id}&ecosystemPartnerId=${ecosystem.partnerId}`;
|
55
|
+
} else if (ecosystem) {
|
56
|
+
baseUrl = `${baseUrl}&ecosystemId=${ecosystem.id}`;
|
57
|
+
}
|
58
|
+
|
59
|
+
return baseUrl;
|
60
|
+
};
|
@@ -0,0 +1,96 @@
|
|
1
|
+
import type { ThirdwebClient } from "../../../../client/client.js";
|
2
|
+
import { getThirdwebBaseUrl } from "../../../../utils/domains.js";
|
3
|
+
import type { Profile } from "./types.js";
|
4
|
+
|
5
|
+
/**
|
6
|
+
* @description
|
7
|
+
* Links a new account to the current one using an auth token.
|
8
|
+
* For the public-facing API, use `wallet.linkProfile` instead.
|
9
|
+
*
|
10
|
+
* @internal
|
11
|
+
*/
|
12
|
+
export async function linkAccount({
|
13
|
+
client,
|
14
|
+
tokenToLink,
|
15
|
+
}: {
|
16
|
+
client: ThirdwebClient;
|
17
|
+
tokenToLink: string;
|
18
|
+
}): Promise<Profile[]> {
|
19
|
+
const IN_APP_URL = getThirdwebBaseUrl("inAppWallet");
|
20
|
+
const currentAccountToken = localStorage.getItem(
|
21
|
+
`walletToken-${client.clientId}`,
|
22
|
+
);
|
23
|
+
|
24
|
+
if (!currentAccountToken) {
|
25
|
+
throw new Error("Failed to link account, no user logged in");
|
26
|
+
}
|
27
|
+
|
28
|
+
const headers: Record<string, string> = {
|
29
|
+
"Content-Type": "application/json",
|
30
|
+
Authorization: `Bearer iaw-auth-token:${currentAccountToken}`,
|
31
|
+
"x-thirdweb-client-id": client.clientId,
|
32
|
+
};
|
33
|
+
|
34
|
+
const linkedDetailsResp = await fetch(
|
35
|
+
`${IN_APP_URL}/api/2024-05-05/account/connect`,
|
36
|
+
{
|
37
|
+
method: "POST",
|
38
|
+
headers,
|
39
|
+
body: JSON.stringify({
|
40
|
+
accountAuthTokenToConnect: tokenToLink,
|
41
|
+
}),
|
42
|
+
},
|
43
|
+
);
|
44
|
+
|
45
|
+
if (!linkedDetailsResp.ok) {
|
46
|
+
const body = await linkedDetailsResp.json();
|
47
|
+
throw new Error(body.message || "Failed to link account.");
|
48
|
+
}
|
49
|
+
|
50
|
+
const { linkedAccounts } = await linkedDetailsResp.json();
|
51
|
+
|
52
|
+
return (linkedAccounts ?? []) satisfies Profile[];
|
53
|
+
}
|
54
|
+
|
55
|
+
/**
|
56
|
+
* @description
|
57
|
+
* Gets the linked accounts for the current user.
|
58
|
+
* For the public-facing API, use `wallet.getProfiles` instead.
|
59
|
+
*
|
60
|
+
* @internal
|
61
|
+
*/
|
62
|
+
export async function getLinkedProfilesInternal({
|
63
|
+
client,
|
64
|
+
}: { client: ThirdwebClient }): Promise<Profile[]> {
|
65
|
+
const IN_APP_URL = getThirdwebBaseUrl("inAppWallet");
|
66
|
+
const currentAccountToken = localStorage.getItem(
|
67
|
+
`walletToken-${client.clientId}`,
|
68
|
+
);
|
69
|
+
|
70
|
+
if (!currentAccountToken) {
|
71
|
+
throw new Error("Failed to get linked accounts, no user logged in");
|
72
|
+
}
|
73
|
+
|
74
|
+
const headers: Record<string, string> = {
|
75
|
+
"Content-Type": "application/json",
|
76
|
+
Authorization: `Bearer iaw-auth-token:${currentAccountToken}`,
|
77
|
+
"x-thirdweb-client-id": client.clientId,
|
78
|
+
};
|
79
|
+
|
80
|
+
const linkedAccountsResp = await fetch(
|
81
|
+
`${IN_APP_URL}/api/2024-05-05/accounts`,
|
82
|
+
{
|
83
|
+
method: "GET",
|
84
|
+
headers,
|
85
|
+
},
|
86
|
+
);
|
87
|
+
|
88
|
+
if (!linkedAccountsResp.ok) {
|
89
|
+
const body = await linkedAccountsResp.json();
|
90
|
+
throw new Error(body.message || "Failed to get linked accounts.");
|
91
|
+
}
|
92
|
+
|
93
|
+
const { linkedAccounts } = await linkedAccountsResp.json();
|
94
|
+
|
95
|
+
return (linkedAccounts ?? []) satisfies Profile[];
|
96
|
+
}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import { signLoginPayload } from "../../../../auth/core/sign-login-payload.js";
|
2
|
+
import type { LoginPayload } from "../../../../auth/core/types.js";
|
3
|
+
import type { ThirdwebClient } from "../../../../client/client.js";
|
4
|
+
import { getClientFetch } from "../../../../utils/fetch.js";
|
5
|
+
import type { InjectedSupportedWalletIds } from "../../../../wallets/__generated__/wallet-ids.js";
|
6
|
+
import { createWallet } from "../../../../wallets/create-wallet.js";
|
7
|
+
import type { Ecosystem } from "../../web/types.js";
|
8
|
+
import { getLoginCallbackUrl, getLoginUrl } from "./getLoginPath.js";
|
9
|
+
import type { AuthStoredTokenWithCookieReturnType } from "./types.js";
|
10
|
+
|
11
|
+
/**
|
12
|
+
* @internal
|
13
|
+
*/
|
14
|
+
export async function siweAuthenticate(args: {
|
15
|
+
walletId: InjectedSupportedWalletIds;
|
16
|
+
chainId: number;
|
17
|
+
client: ThirdwebClient;
|
18
|
+
ecosystem?: Ecosystem;
|
19
|
+
}): Promise<AuthStoredTokenWithCookieReturnType> {
|
20
|
+
const wallet = createWallet(args.walletId);
|
21
|
+
const account = await wallet.connect({ client: args.client });
|
22
|
+
const clientFetch = getClientFetch(args.client, args.ecosystem);
|
23
|
+
|
24
|
+
const payload = await (async () => {
|
25
|
+
const path = getLoginUrl({
|
26
|
+
authOption: "siwe",
|
27
|
+
client: args.client,
|
28
|
+
});
|
29
|
+
const res = await clientFetch(
|
30
|
+
`${path}&address=${account.address}&chainId=${args.chainId}`,
|
31
|
+
);
|
32
|
+
|
33
|
+
if (!res.ok) throw new Error("Failed to generate SIWE login payload");
|
34
|
+
|
35
|
+
return (await res.json()) satisfies LoginPayload;
|
36
|
+
})();
|
37
|
+
const { signature } = await signLoginPayload({ payload, account });
|
38
|
+
|
39
|
+
const authResult = await (async () => {
|
40
|
+
const path = getLoginCallbackUrl({
|
41
|
+
authOption: "siwe",
|
42
|
+
client: args.client,
|
43
|
+
});
|
44
|
+
const res = await clientFetch(
|
45
|
+
`${path}&signature=${signature}&payload=${encodeURIComponent(payload)}`,
|
46
|
+
{
|
47
|
+
method: "POST",
|
48
|
+
headers: {
|
49
|
+
"Content-Type": "application/json",
|
50
|
+
},
|
51
|
+
body: JSON.stringify({
|
52
|
+
signature,
|
53
|
+
payload,
|
54
|
+
}),
|
55
|
+
},
|
56
|
+
);
|
57
|
+
|
58
|
+
if (!res.ok) throw new Error("Failed to verify SIWE signature");
|
59
|
+
|
60
|
+
return (await res.json()) satisfies AuthStoredTokenWithCookieReturnType;
|
61
|
+
})();
|
62
|
+
return authResult;
|
63
|
+
}
|
@@ -1,7 +1,9 @@
|
|
1
1
|
import type { AuthType } from "@passwordless-id/webauthn/dist/esm/types.js";
|
2
2
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
3
|
+
import type { Address } from "../../../../utils/address.js";
|
4
|
+
import type { InjectedSupportedWalletIds } from "../../../../wallets/__generated__/wallet-ids.js";
|
3
5
|
import type { Account } from "../../../interfaces/wallet.js";
|
4
|
-
import type { SocialAuthOption } from "../../../types.js";
|
6
|
+
import type { AuthOption, SocialAuthOption } from "../../../types.js";
|
5
7
|
import type { Ecosystem } from "../../web/types.js";
|
6
8
|
|
7
9
|
export type MultiStepAuthProviderType =
|
@@ -38,6 +40,11 @@ export type SingleStepAuthArgsType =
|
|
38
40
|
type: "sign-up" | "sign-in";
|
39
41
|
passkeyName?: string;
|
40
42
|
authenticatorType?: AuthType;
|
43
|
+
}
|
44
|
+
| {
|
45
|
+
strategy: "siwe";
|
46
|
+
walletId: InjectedSupportedWalletIds;
|
47
|
+
chainId: number;
|
41
48
|
};
|
42
49
|
|
43
50
|
export type AuthArgsType = (MultiStepAuthArgsType | SingleStepAuthArgsType) & {
|
@@ -71,6 +78,16 @@ export type OauthOption = {
|
|
71
78
|
redirectUrl: string;
|
72
79
|
};
|
73
80
|
|
81
|
+
export type Profile = {
|
82
|
+
type: AuthOption;
|
83
|
+
details: {
|
84
|
+
id?: string;
|
85
|
+
email?: string;
|
86
|
+
phone?: string;
|
87
|
+
address?: Address;
|
88
|
+
};
|
89
|
+
};
|
90
|
+
|
74
91
|
/**
|
75
92
|
* @internal
|
76
93
|
*/
|
@@ -1,23 +1,32 @@
|
|
1
1
|
import type { SocialAuthOption } from "../../../../wallets/types.js";
|
2
2
|
import type { Account } from "../../../interfaces/wallet.js";
|
3
3
|
import type {
|
4
|
-
AuthArgsType,
|
5
4
|
AuthLoginReturnType,
|
6
5
|
AuthStoredTokenWithCookieReturnType,
|
7
6
|
GetUser,
|
8
7
|
LogoutReturnType,
|
8
|
+
MultiStepAuthArgsType,
|
9
9
|
PreAuthArgsType,
|
10
|
-
|
11
|
-
} from "../authentication/
|
10
|
+
SingleStepAuthArgsType,
|
11
|
+
} from "../authentication/types.js";
|
12
12
|
|
13
13
|
export interface InAppConnector {
|
14
14
|
getUser(): Promise<GetUser>;
|
15
15
|
getAccount(): Promise<Account>;
|
16
|
-
preAuthenticate(args: PreAuthArgsType): Promise<
|
16
|
+
preAuthenticate(args: PreAuthArgsType): Promise<void>;
|
17
|
+
// Authenticate generates an auth token, when redirecting it returns void as the user is redirected to a new page and the token is stored in the callback url
|
17
18
|
authenticateWithRedirect?(strategy: SocialAuthOption): void;
|
19
|
+
// Login takes an auth token and connects a user with it
|
18
20
|
loginWithAuthToken?(
|
19
21
|
authResult: AuthStoredTokenWithCookieReturnType,
|
20
22
|
): Promise<AuthLoginReturnType>;
|
21
|
-
|
23
|
+
// Authenticate generates an auth token but does not log the user in
|
24
|
+
authenticate(
|
25
|
+
args: MultiStepAuthArgsType | SingleStepAuthArgsType,
|
26
|
+
): Promise<AuthStoredTokenWithCookieReturnType>;
|
27
|
+
// Connect is authenticate + login combined
|
28
|
+
connect(
|
29
|
+
args: MultiStepAuthArgsType | SingleStepAuthArgsType,
|
30
|
+
): Promise<AuthLoginReturnType>;
|
22
31
|
logout(): Promise<LogoutReturnType>;
|
23
32
|
}
|