@dynamic-labs/sdk-react-core 3.0.0-alpha.51 → 3.0.0-alpha.53
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/CHANGELOG.md +51 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +13 -13
- package/src/index.cjs +7 -5
- package/src/index.d.ts +1 -1
- package/src/index.js +4 -3
- package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +17 -16
- package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +18 -17
- package/src/lib/components/Divider/Divider.cjs +2 -2
- package/src/lib/components/Divider/Divider.d.ts +2 -2
- package/src/lib/components/Divider/Divider.js +3 -3
- package/src/lib/components/IconWithSpinner/IconWithSpinner.cjs +1 -1
- package/src/lib/components/IconWithSpinner/IconWithSpinner.js +1 -1
- package/src/lib/components/IconWithSpinner/Spinner/Spinner.cjs +1 -1
- package/src/lib/components/IconWithSpinner/Spinner/Spinner.js +1 -1
- package/src/lib/components/IconWithStatus/IconWithStatus.cjs +1 -1
- package/src/lib/components/IconWithStatus/IconWithStatus.js +1 -1
- package/src/lib/components/NeedHelpSection/NeedHelpSection.cjs +5 -4
- package/src/lib/components/NeedHelpSection/NeedHelpSection.js +6 -5
- package/src/lib/components/QrCodeWrapper/QrCodeWrapper.cjs +1 -1
- package/src/lib/components/QrCodeWrapper/QrCodeWrapper.js +1 -1
- package/src/lib/components/SecureEmbeddedWalletCard/SecureEmbeddedWalletCard.cjs +11 -10
- package/src/lib/components/SecureEmbeddedWalletCard/SecureEmbeddedWalletCard.js +12 -11
- package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.cjs +1 -1
- package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.js +1 -1
- package/src/lib/components/SendBalancePageLayout/components/TokensBalanceDropdown/TokensBalanceDropdown.cjs +6 -1
- package/src/lib/components/SendBalancePageLayout/components/TokensBalanceDropdown/TokensBalanceDropdown.js +6 -1
- package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +1 -1
- package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.d.ts +0 -1
- package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +1 -1
- package/src/lib/context/DynamicContext/DynamicContext.cjs +11 -16
- package/src/lib/context/DynamicContext/DynamicContext.js +11 -16
- package/src/lib/context/DynamicContext/hooks/useEmailLoginState/useEmailLoginState.cjs +1 -1
- package/src/lib/context/DynamicContext/hooks/useEmailLoginState/useEmailLoginState.js +1 -1
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/types.d.ts +2 -2
- package/src/lib/context/DynamicContext/types/DynamicContextProps.d.ts +7 -0
- package/src/lib/context/DynamicContext/types/IDynamicContext.d.ts +4 -5
- package/src/lib/context/DynamicContext/types/SettingsOverrides.d.ts +3 -2
- package/src/lib/context/PhantomRedirectContext/PhantomRedirectContext.d.ts +2 -2
- package/src/lib/context/ReinitializeContext/ReinitializeContextProvider.cjs +1 -1
- package/src/lib/context/ReinitializeContext/ReinitializeContextProvider.js +1 -1
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.d.ts +2 -2
- package/src/lib/context/UserWalletsContext/UserWalletsContext.d.ts +1 -1
- package/src/lib/context/WalletContext/WalletContext.cjs +1 -84
- package/src/lib/context/WalletContext/WalletContext.d.ts +1 -2
- package/src/lib/context/WalletContext/WalletContext.js +1 -84
- package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.cjs +1 -1
- package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.js +1 -1
- package/src/lib/data/api/api.cjs +1 -1
- package/src/lib/data/api/api.js +1 -1
- package/src/lib/locale/en/translation.cjs +39 -5
- package/src/lib/locale/en/translation.d.ts +39 -5
- package/src/lib/locale/en/translation.js +39 -5
- package/src/lib/modals/SendBalanceModal/SendBalanceModal.cjs +1 -1
- package/src/lib/modals/SendBalanceModal/SendBalanceModal.js +1 -1
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +10 -9
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +11 -10
- package/src/lib/modals/SyncWalletPromptModal/SyncWalletPromptModal.cjs +4 -4
- package/src/lib/modals/SyncWalletPromptModal/SyncWalletPromptModal.d.ts +1 -1
- package/src/lib/modals/SyncWalletPromptModal/SyncWalletPromptModal.js +4 -4
- package/src/lib/modals/SyncWalletPromptModal/SyncWalletPromptModal.types.d.ts +2 -0
- package/src/lib/shared/assets/arrow-circle-right.cjs +54 -0
- package/src/lib/shared/assets/arrow-circle-right.js +30 -0
- package/src/lib/shared/assets/index.d.ts +1 -0
- package/src/lib/shared/types/wallets.d.ts +2 -2
- package/src/lib/shared/utils/functions/usingSessionKeys/usingSessionKeys.cjs +1 -1
- package/src/lib/shared/utils/functions/usingSessionKeys/usingSessionKeys.js +2 -2
- package/src/lib/shared/utils/functions/wallet/createWallet.d.ts +2 -2
- package/src/lib/store/hooks/useNetworkConfigurations/useNetworkConfigurations.cjs +19 -4
- package/src/lib/store/hooks/useNetworkConfigurations/useNetworkConfigurations.d.ts +4 -3
- package/src/lib/store/hooks/useNetworkConfigurations/useNetworkConfigurations.js +19 -4
- package/src/lib/store/utils/storeAuthTokenAndUser/storeAuthTokenAndUser.cjs +1 -1
- package/src/lib/store/utils/storeAuthTokenAndUser/storeAuthTokenAndUser.js +1 -1
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/constants/errors.cjs +0 -2
- package/src/lib/utils/constants/errors.js +1 -2
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +2 -2
- package/src/lib/utils/{hooks/useWalletConnectors/utils/findWallet/findWallet.cjs → functions/findWalletOptionFor/findWalletOptionFor.cjs} +3 -3
- package/src/lib/utils/functions/findWalletOptionFor/findWalletOptionFor.d.ts +3 -0
- package/src/lib/utils/{hooks/useWalletConnectors/utils/findWallet/findWallet.js → functions/findWalletOptionFor/findWalletOptionFor.js} +3 -3
- package/src/lib/utils/functions/findWalletOptionFor/index.d.ts +1 -0
- package/src/lib/utils/functions/generateMessages/index.cjs +3 -2
- package/src/lib/utils/functions/generateMessages/index.js +3 -2
- package/src/lib/utils/functions/getEmbeddedWalletAuthHandler/getEmbeddedWalletAuthHandler.d.ts +2 -2
- package/src/lib/utils/functions/getEnabledEmbeddedWalletProviders/getEnabledEmbeddedWalletProviders.cjs +1 -1
- package/src/lib/utils/functions/getEnabledEmbeddedWalletProviders/getEnabledEmbeddedWalletProviders.js +1 -1
- package/src/lib/utils/functions/getUserIdentifier/getUserIdentifier.cjs +1 -1
- package/src/lib/utils/functions/getUserIdentifier/getUserIdentifier.js +1 -1
- package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.d.ts +1 -2
- package/src/lib/utils/functions/getWalletConnectorForWallet/getWalletConnectorForWallet.d.ts +2 -2
- package/src/lib/utils/functions/index.d.ts +0 -2
- package/src/lib/utils/functions/isAccountAbstractionWallet/isAccountAbstractionWallet.d.ts +1 -1
- package/src/lib/utils/functions/isAllowedToLinkWallet/isAllowedToLinkWallet.cjs +1 -1
- package/src/lib/utils/functions/isAllowedToLinkWallet/isAllowedToLinkWallet.js +1 -1
- package/src/lib/utils/functions/isPhoneNumberProviderEnabled/isPhoneNumberProviderEnabled.cjs +1 -1
- package/src/lib/utils/functions/isPhoneNumberProviderEnabled/isPhoneNumberProviderEnabled.js +1 -1
- package/src/lib/utils/functions/requiresPasswordForEmbeddedWalletOnSignup/requiresPasswordForEmbeddedWalletOnSignup.cjs +1 -1
- package/src/lib/utils/functions/requiresPasswordForEmbeddedWalletOnSignup/requiresPasswordForEmbeddedWalletOnSignup.js +1 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.d.ts +2 -2
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.d.ts +2 -2
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/multiWallet/index.d.ts +0 -1
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +8 -7
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +2 -2
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +9 -8
- package/src/lib/utils/hooks/useConnectWithEmail/useConnectWithEmail.d.ts +2 -2
- package/src/lib/utils/hooks/useConnectedAccountWallet/useConnectedAccountWallet.d.ts +1 -1
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +3 -4
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +3 -4
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +4 -6
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.d.ts +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +5 -7
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +86 -61
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +3 -3
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +87 -63
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +32 -30
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.d.ts +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +33 -31
- package/src/lib/utils/hooks/useEmbeddedWalletAuthenticator/useEmbeddedWalletAuthenticator.d.ts +1 -1
- package/src/lib/utils/hooks/useInitEmbeddedWalletAuthMethod/useInitEmbeddedWalletAuthMethod.cjs +7 -6
- package/src/lib/utils/hooks/useInitEmbeddedWalletAuthMethod/useInitEmbeddedWalletAuthMethod.js +7 -6
- package/src/lib/utils/hooks/useIsLoggedIn/useIsLoggedIn.cjs +11 -9
- package/src/lib/utils/hooks/useIsLoggedIn/useIsLoggedIn.js +12 -10
- package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +8 -12
- package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +8 -12
- package/src/lib/utils/hooks/useNetworkDataFromWallet/useNetworkDataFromWallet.cjs +1 -1
- package/src/lib/utils/hooks/useNetworkDataFromWallet/useNetworkDataFromWallet.js +1 -1
- package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.cjs +6 -5
- package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.js +6 -5
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +12 -11
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.d.ts +2 -2
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +12 -11
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +3 -3
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +3 -3
- package/src/lib/utils/hooks/useSmartWallets/index.d.ts +1 -0
- package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.cjs +159 -0
- package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.d.ts +18 -0
- package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.js +155 -0
- package/src/lib/utils/hooks/useSwitchWallet/useSwitchWallet.cjs +1 -4
- package/src/lib/utils/hooks/useSwitchWallet/useSwitchWallet.js +1 -4
- package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +1 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.d.ts +2 -2
- package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +1 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs +1 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyMagicIsSetup/verifyMagicIsSetup.js +1 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.cjs +1 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.js +1 -1
- package/src/lib/utils/hooks/useWalletConnectors/reconnectSocialWallet.cjs +7 -87
- package/src/lib/utils/hooks/useWalletConnectors/reconnectSocialWallet.d.ts +2 -2
- package/src/lib/utils/hooks/useWalletConnectors/reconnectSocialWallet.js +8 -88
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +9 -79
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.d.ts +4 -10
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +10 -80
- package/src/lib/utils/hooks/useWalletConnectors/utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.cjs +5 -89
- package/src/lib/utils/hooks/useWalletConnectors/utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.d.ts +2 -3
- package/src/lib/utils/hooks/useWalletConnectors/utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.js +5 -89
- package/src/lib/utils/hooks/useWalletConnectors/utils/smartWallet/smartWallet.cjs +4 -4
- package/src/lib/utils/hooks/useWalletConnectors/utils/smartWallet/smartWallet.js +5 -5
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +26 -29
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +2 -1
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +26 -29
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +1 -1
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.d.ts +6 -6
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +1 -1
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.types.d.ts +4 -4
- package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +16 -7
- package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.d.ts +2 -2
- package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +16 -7
- package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.cjs +1 -1
- package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.js +1 -1
- package/src/lib/views/CreatePasswordView/SavePasswordStep/SavePasswordStep.cjs +2 -2
- package/src/lib/views/CreatePasswordView/SavePasswordStep/SavePasswordStep.js +2 -2
- package/src/lib/views/EmailVerification/EmailVerification.cjs +19 -18
- package/src/lib/views/EmailVerification/EmailVerification.js +20 -19
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +52 -52
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +53 -53
- package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.cjs +1 -1
- package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.js +1 -1
- package/src/lib/views/MfaDisplayBackupCodesView/MfaDisplayBackupCodesView.cjs +1 -1
- package/src/lib/views/MfaDisplayBackupCodesView/MfaDisplayBackupCodesView.js +1 -1
- package/src/lib/views/Passkey/EmbeddedAuthChoice/EmbeddedAuthChoice.cjs +35 -33
- package/src/lib/views/Passkey/EmbeddedAuthChoice/EmbeddedAuthChoice.d.ts +1 -1
- package/src/lib/views/Passkey/EmbeddedAuthChoice/EmbeddedAuthChoice.js +35 -33
- package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/ActionCard/ActionCard.cjs +1 -1
- package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/ActionCard/ActionCard.js +1 -1
- package/src/lib/views/Passkey/PasskeyNewDomainDetectedView/PasskeyNewDomainDetectedView.cjs +1 -1
- package/src/lib/views/Passkey/PasskeyNewDomainDetectedView/PasskeyNewDomainDetectedView.js +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +35 -33
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.d.ts +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +35 -33
- package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +33 -31
- package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +33 -31
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +1 -1
- package/src/lib/views/SendBalanceView/SendBalanceView.cjs +7 -1
- package/src/lib/views/SendBalanceView/SendBalanceView.js +7 -1
- package/src/lib/{utils/functions/getEOAWallet/getEOAWallet.cjs → views/SyncWalletView/AutoReconnectingView/AutoReconnectingView.cjs} +57 -50
- package/src/lib/views/SyncWalletView/AutoReconnectingView/AutoReconnectingView.d.ts +9 -0
- package/src/lib/{utils/functions/getEOAWallet/getEOAWallet.js → views/SyncWalletView/AutoReconnectingView/AutoReconnectingView.js} +57 -50
- package/src/lib/views/SyncWalletView/AutoReconnectingView/index.d.ts +1 -0
- package/src/lib/views/SyncWalletView/ReconnectWithQrCodeView/ReconnectWithQrCodeView.cjs +126 -0
- package/src/lib/views/SyncWalletView/ReconnectWithQrCodeView/ReconnectWithQrCodeView.d.ts +9 -0
- package/src/lib/views/SyncWalletView/ReconnectWithQrCodeView/ReconnectWithQrCodeView.js +122 -0
- package/src/lib/views/SyncWalletView/ReconnectWithQrCodeView/index.d.ts +1 -0
- package/src/lib/views/SyncWalletView/SwitchWalletView/SwitchWalletView.cjs +101 -0
- package/src/lib/views/SyncWalletView/SwitchWalletView/SwitchWalletView.d.ts +10 -0
- package/src/lib/views/SyncWalletView/SwitchWalletView/SwitchWalletView.js +97 -0
- package/src/lib/views/SyncWalletView/SwitchWalletView/index.d.ts +1 -0
- package/src/lib/views/SyncWalletView/SyncWalletView.cjs +74 -49
- package/src/lib/views/SyncWalletView/SyncWalletView.d.ts +2 -0
- package/src/lib/views/SyncWalletView/SyncWalletView.js +75 -50
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +1 -1
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +1 -1
- package/src/lib/views/WalletGroupView/WalletGroupView.cjs +2 -2
- package/src/lib/views/WalletGroupView/WalletGroupView.js +2 -2
- package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.cjs +1 -1
- package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.js +1 -1
- package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +1 -1
- package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +1 -1
- package/src/lib/views/WalletUsedView/WalletUsedView.cjs +1 -1
- package/src/lib/views/WalletUsedView/WalletUsedView.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +6 -5
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +6 -5
- package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/WalletIconWithNetwork/WalletIconWithNetwork.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/WalletIconWithNetwork/WalletIconWithNetwork.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.d.ts +3 -1
- package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.js +1 -1
- package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.js +2 -2
- package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +7 -9
- package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +7 -9
- package/src/lib/widgets/DynamicWidget/views/SettingsView/SettingsView.cjs +46 -45
- package/src/lib/widgets/DynamicWidget/views/SettingsView/SettingsView.js +47 -46
- package/src/lib/utils/functions/createOwnerWallet/createOwnerWallet.cjs +0 -40
- package/src/lib/utils/functions/createOwnerWallet/createOwnerWallet.d.ts +0 -3
- package/src/lib/utils/functions/createOwnerWallet/createOwnerWallet.js +0 -36
- package/src/lib/utils/functions/createOwnerWallet/index.d.ts +0 -1
- package/src/lib/utils/functions/getEOAWallet/getEOAWallet.d.ts +0 -3
- package/src/lib/utils/functions/getEOAWallet/index.d.ts +0 -1
- package/src/lib/utils/functions/getWalletIdentifier/getWalletIdentifier.cjs +0 -8
- package/src/lib/utils/functions/getWalletIdentifier/getWalletIdentifier.js +0 -4
- package/src/lib/utils/functions/isWalletConnected/isWalletConnected.cjs +0 -14
- package/src/lib/utils/functions/isWalletConnected/isWalletConnected.js +0 -10
- package/src/lib/utils/hooks/events/useWindowEvent/useWindowEvent.cjs +0 -25
- package/src/lib/utils/hooks/events/useWindowEvent/useWindowEvent.js +0 -21
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/index.d.ts +0 -1
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +0 -209
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.d.ts +0 -1
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +0 -205
- package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.d.ts +0 -3
- package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/index.d.ts +0 -1
- package/src/lib/utils/hooks/useWalletsConnectionState/index.d.ts +0 -1
- package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.cjs +0 -184
- package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.d.ts +0 -12
- package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.js +0 -180
package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { __awaiter } from '../../../../../../../_virtual/_tslib.js';
|
|
3
3
|
import { useCallback } from 'react';
|
|
4
4
|
import { PasswordSourceTypeEnum, EmbeddedWalletChainEnum } from '@dynamic-labs/sdk-api-core';
|
|
5
|
-
import {
|
|
5
|
+
import { isCoinbaseMpcWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
6
6
|
import { DynamicError } from '@dynamic-labs/utils';
|
|
7
7
|
import { createUserProfileFromSdkUser } from '../../../../functions/createUserProfile/createUserProfile.js';
|
|
8
8
|
import { findEmbeddedWalletFromVerifiedCredentials } from '../../../../functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js';
|
|
@@ -102,13 +102,12 @@ const useCoinbaseMPC = () => {
|
|
|
102
102
|
var _a;
|
|
103
103
|
connector.setVerifiedCredentials(validatedUser.verifiedCredentials);
|
|
104
104
|
setPrimaryWalletId(embeddedWalletVerifiedCredential.id);
|
|
105
|
-
const coinbaseMPCWallet =
|
|
105
|
+
const coinbaseMPCWallet = connector.createWallet({
|
|
106
106
|
address: (yield (connector === null || connector === void 0 ? void 0 : connector.getAddress())) || '',
|
|
107
|
-
chain:
|
|
107
|
+
chain: connector.connectedChain,
|
|
108
108
|
connector,
|
|
109
109
|
id: embeddedWalletVerifiedCredential.id,
|
|
110
110
|
isAuthenticated: true,
|
|
111
|
-
isPrimary: true,
|
|
112
111
|
key: (_a = embeddedWalletVerifiedCredential.walletName) !== null && _a !== void 0 ? _a : connector.key,
|
|
113
112
|
});
|
|
114
113
|
return coinbaseMPCWallet;
|
|
@@ -169,13 +168,12 @@ const useCoinbaseMPC = () => {
|
|
|
169
168
|
password: initialWalletPassword,
|
|
170
169
|
source,
|
|
171
170
|
});
|
|
172
|
-
const coinbaseMPCWallet =
|
|
171
|
+
const coinbaseMPCWallet = connector.createWallet({
|
|
173
172
|
address: (yield (connector === null || connector === void 0 ? void 0 : connector.getAddress())) || '',
|
|
174
|
-
chain:
|
|
173
|
+
chain: connector === null || connector === void 0 ? void 0 : connector.connectedChain,
|
|
175
174
|
connector,
|
|
176
175
|
id: newSelectedCredentialWallet.id,
|
|
177
176
|
isAuthenticated: true,
|
|
178
|
-
isPrimary: true,
|
|
179
177
|
key: (_c = newSelectedCredentialWallet.walletName) !== null && _c !== void 0 ? _c : connector.key,
|
|
180
178
|
});
|
|
181
179
|
dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet, newSelectedCredentialWallet, updatedUser);
|
|
@@ -34,7 +34,6 @@ require('../../../../locale/locale.cjs');
|
|
|
34
34
|
var user = require('../../../../data/api/user/user.cjs');
|
|
35
35
|
var getUserWalletsFromVerifiedCredentials = require('../../../functions/getUserWalletsFromVerifiedCredentials/getUserWalletsFromVerifiedCredentials.cjs');
|
|
36
36
|
var addPasskeyIdentifierToWalletConnector = require('../../../functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.cjs');
|
|
37
|
-
var getEOAWallet = require('../../../functions/getEOAWallet/getEOAWallet.cjs');
|
|
38
37
|
var getUserVerifiedCredentialType = require('../../../functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.cjs');
|
|
39
38
|
var hasEmbeddedWallet = require('../../../functions/hasEmbeddedWallet/hasEmbeddedWallet.cjs');
|
|
40
39
|
var getEmbeddedWalletAuthHandler = require('../../../functions/getEmbeddedWalletAuthHandler/getEmbeddedWalletAuthHandler.cjs');
|
|
@@ -48,12 +47,13 @@ require('react-dom');
|
|
|
48
47
|
var useElementById = require('../../useElementById/useElementById.cjs');
|
|
49
48
|
var WalletContext = require('../../../../context/WalletContext/WalletContext.cjs');
|
|
50
49
|
var useIsTurnkeyWallet = require('../../useIsTurnkeyWallet/useIsTurnkeyWallet.cjs');
|
|
51
|
-
var validateTurnkeyProviderEnabled = require('../../../validations/validateTurnkeyProviderEnabled/validateTurnkeyProviderEnabled.cjs');
|
|
52
|
-
var passkeyRecovery = require('../../../../views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs');
|
|
53
50
|
var turnkeyExport = require('../../../../views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs');
|
|
51
|
+
var passkeyRecovery = require('../../../../views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs');
|
|
52
|
+
var validateTurnkeyProviderEnabled = require('../../../validations/validateTurnkeyProviderEnabled/validateTurnkeyProviderEnabled.cjs');
|
|
54
53
|
var usePasskeyRecovery = require('../../usePasskeyRecovery/usePasskeyRecovery.cjs');
|
|
55
|
-
var
|
|
54
|
+
var useSmartWallets = require('../../useSmartWallets/useSmartWallets.cjs');
|
|
56
55
|
var constants = require('./constants.cjs');
|
|
56
|
+
var useTurnkey = require('./useTurnkey/useTurnkey.cjs');
|
|
57
57
|
require('../../../../context/ThemeContext/ThemeContext.cjs');
|
|
58
58
|
require('../../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
|
|
59
59
|
require('@dynamic-labs/types');
|
|
@@ -109,6 +109,12 @@ require('../../../../context/ConnectWithOtpContext/constants.cjs');
|
|
|
109
109
|
require('../../../../context/ReinitializeContext/ReinitializeContextProvider.cjs');
|
|
110
110
|
var useInternalDynamicContext = require('../../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
111
111
|
|
|
112
|
+
const isConnectorSessionKeyActive = (connector) => {
|
|
113
|
+
var _a;
|
|
114
|
+
if (!connector || !walletConnectorCore.isSessionKeyCompatibleWalletConnector(connector))
|
|
115
|
+
return false;
|
|
116
|
+
return Boolean((_a = connector.sessionKeys) === null || _a === void 0 ? void 0 : _a.publicKey);
|
|
117
|
+
};
|
|
112
118
|
// Hook exposed to customers
|
|
113
119
|
/**
|
|
114
120
|
*
|
|
@@ -125,21 +131,21 @@ var useInternalDynamicContext = require('../../../../context/DynamicContext/useD
|
|
|
125
131
|
* }
|
|
126
132
|
*/
|
|
127
133
|
const useSecureEnclaveEmbeddedWallet = () => {
|
|
128
|
-
var _a, _b, _c, _d
|
|
134
|
+
var _a, _b, _c, _d;
|
|
129
135
|
const { projectSettings, primaryWallet, user: user$1, environmentId, walletConnectorOptions, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
130
136
|
const { createTurnkeyWallet } = useTurnkey.useTurnkey();
|
|
131
137
|
const { hasRecoveryEmail } = useIsTurnkeyWallet.useIsTurnkeyWallet();
|
|
132
138
|
const { createRootElement } = useElementById.useElementById();
|
|
133
139
|
const { isLoadingEmbeddedWallet, setIsLoadingEmbeddedWallet } = WalletContext.useWalletContext();
|
|
134
|
-
const
|
|
135
|
-
const
|
|
140
|
+
const { getEOAWallet } = useSmartWallets.useSmartWallets();
|
|
141
|
+
const wallet = (_a = (primaryWallet && getEOAWallet(primaryWallet))) !== null && _a !== void 0 ? _a : primaryWallet;
|
|
136
142
|
const userHasEmbeddedWallet = React.useCallback(() => hasEmbeddedWallet.hasEmbeddedWallet(user$1, 'turnkey'), [user$1]);
|
|
137
|
-
const getWalletVersion = () => {
|
|
143
|
+
const getWalletVersion = React.useCallback(() => {
|
|
138
144
|
if (walletConnectorCore.isSessionKeyCompatibleWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
|
|
139
145
|
return constants.EmbeddedWalletVersion.V2;
|
|
140
146
|
}
|
|
141
147
|
return constants.EmbeddedWalletVersion.V1;
|
|
142
|
-
};
|
|
148
|
+
}, [wallet === null || wallet === void 0 ? void 0 : wallet.connector]);
|
|
143
149
|
const { shouldInitRecovery, initPasskeyRecoveryProcess } = usePasskeyRecovery.usePasskeyRecovery();
|
|
144
150
|
/**
|
|
145
151
|
* Creates a new secure enclave embedded wallet according to the settings from the dashboard
|
|
@@ -148,13 +154,13 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
148
154
|
* @returns Promise<Wallet | undefined>
|
|
149
155
|
*/
|
|
150
156
|
const createEmbeddedWallet = React.useCallback((chains, options) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
151
|
-
var
|
|
157
|
+
var _e;
|
|
152
158
|
if (!user$1) {
|
|
153
159
|
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
154
160
|
}
|
|
155
161
|
const userWalletsCredentials = getUserWalletsFromVerifiedCredentials.getUserWalletsFromVerifiedCredentials(user$1);
|
|
156
162
|
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(user$1, chains);
|
|
157
|
-
const isManualMode = ((
|
|
163
|
+
const isManualMode = ((_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _e === void 0 ? void 0 : _e.automaticEmbeddedWalletCreation) === false;
|
|
158
164
|
// if user has a wallet and it's not embedded,
|
|
159
165
|
// throw error to follow another flow and set up the right wallet
|
|
160
166
|
// However, if the user is in manual mode continue.
|
|
@@ -173,14 +179,14 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
173
179
|
* @param chain - chain parameter to create the wallet for
|
|
174
180
|
* @returns Promise<UserProfile | undefined>
|
|
175
181
|
*/
|
|
176
|
-
const createEmbeddedWalletAccount = React.useCallback((
|
|
177
|
-
var
|
|
182
|
+
const createEmbeddedWalletAccount = React.useCallback((_f) => _tslib.__awaiter(void 0, [_f], void 0, function* ({ chain }) {
|
|
183
|
+
var _g, _h, _j;
|
|
178
184
|
if (!user$1) {
|
|
179
185
|
throw new Error(errors.USER_NOT_LOGGED_IN);
|
|
180
186
|
}
|
|
181
187
|
validateTurnkeyProviderEnabled.validateTurnkeyProviderEnabled(projectSettings);
|
|
182
188
|
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(user$1);
|
|
183
|
-
const turnkeyWalletId = (
|
|
189
|
+
const turnkeyWalletId = (_g = embeddedWalletVerifiedCredential === null || embeddedWalletVerifiedCredential === void 0 ? void 0 : embeddedWalletVerifiedCredential.walletProperties) === null || _g === void 0 ? void 0 : _g.turnkeyHDWalletId;
|
|
184
190
|
if (!turnkeyWalletId) {
|
|
185
191
|
throw new utils.DynamicError('No HD wallet was found for this user to derive a wallet account. Use createEmbeddedWallet first', 'NoHdWalletFound');
|
|
186
192
|
}
|
|
@@ -189,14 +195,14 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
189
195
|
environmentId,
|
|
190
196
|
});
|
|
191
197
|
if (walletConnectorCore.isSessionKeyCompatibleWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
|
|
192
|
-
yield ((
|
|
198
|
+
yield ((_h = wallet === null || wallet === void 0 ? void 0 : wallet.connector) === null || _h === void 0 ? void 0 : _h.createOrRestoreSession({
|
|
193
199
|
ignoreRestore: true,
|
|
194
200
|
}));
|
|
195
201
|
}
|
|
196
202
|
else if (yield shouldInitRecovery()) {
|
|
197
203
|
yield initPasskeyRecoveryProcess('email');
|
|
198
204
|
}
|
|
199
|
-
const signedRequest = yield ((
|
|
205
|
+
const signedRequest = yield ((_j = wallet === null || wallet === void 0 ? void 0 : wallet.connector) === null || _j === void 0 ? void 0 : _j.stampCreateWalletAccountRequest({
|
|
200
206
|
request: requestToStamp,
|
|
201
207
|
}));
|
|
202
208
|
yield embeddedWallets.createEmbeddedWalletAccount({
|
|
@@ -206,11 +212,11 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
206
212
|
return user.refreshUserJwt({ environmentId });
|
|
207
213
|
}), [
|
|
208
214
|
environmentId,
|
|
215
|
+
wallet === null || wallet === void 0 ? void 0 : wallet.connector,
|
|
209
216
|
initPasskeyRecoveryProcess,
|
|
210
217
|
projectSettings,
|
|
211
218
|
shouldInitRecovery,
|
|
212
219
|
user$1,
|
|
213
|
-
wallet === null || wallet === void 0 ? void 0 : wallet.connector,
|
|
214
220
|
]);
|
|
215
221
|
/**
|
|
216
222
|
* Creates or restores a secure enclave embedded wallet session
|
|
@@ -219,18 +225,18 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
219
225
|
* @returns Promise<'session_created' | 'session_restored'> - returns a string indicating the status of the session
|
|
220
226
|
*/
|
|
221
227
|
const createOrRestoreSession = React.useCallback((options) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
222
|
-
var
|
|
228
|
+
var _k, _l, _m, _o, _p, _q;
|
|
223
229
|
if (!user$1) {
|
|
224
230
|
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
225
231
|
}
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
return yield ((_s = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector) === null || _s === void 0 ? void 0 : _s.createOrRestoreSession());
|
|
232
|
+
const primaryConnector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
|
|
233
|
+
if (primaryConnector &&
|
|
234
|
+
walletConnectorCore.isSessionKeyCompatibleWalletConnector(primaryConnector)) {
|
|
235
|
+
return primaryConnector.createOrRestoreSession();
|
|
231
236
|
}
|
|
232
|
-
|
|
233
|
-
|
|
237
|
+
const eoaConnector = wallet === null || wallet === void 0 ? void 0 : wallet.connector;
|
|
238
|
+
if (eoaConnector && walletConnectorCore.isSessionKeyCompatibleWalletConnector(eoaConnector)) {
|
|
239
|
+
return eoaConnector.createOrRestoreSession();
|
|
234
240
|
}
|
|
235
241
|
const turnkeyRecoveryHandler = getEmbeddedWalletAuthHandler.getEmbeddedWalletAuthHandler(wallet === null || wallet === void 0 ? void 0 : wallet.connector);
|
|
236
242
|
if (turnkeyRecoveryHandler.isSessionActive()) {
|
|
@@ -238,12 +244,12 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
238
244
|
}
|
|
239
245
|
const turnkeyAuthIframeContainerRef = createRootElement(constants.iframeContainerId);
|
|
240
246
|
// try to restore session if possible
|
|
241
|
-
if (passkeyRecovery.canRestoreEmbeddedWalletSession((
|
|
247
|
+
if (passkeyRecovery.canRestoreEmbeddedWalletSession((_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _k === void 0 ? void 0 : _k.sessionKeyDuration)) {
|
|
242
248
|
try {
|
|
243
249
|
const sessionRestored = yield passkeyRecovery.restoreEmbeddedWalletSession({
|
|
244
250
|
iframeContainer: turnkeyAuthIframeContainerRef.current,
|
|
245
251
|
iframeElementId: constants.iframeElementId,
|
|
246
|
-
sessionExpiration: getEmbeddedWalletSessionExpiration.getEmbeddedWalletSessionExpiration((
|
|
252
|
+
sessionExpiration: getEmbeddedWalletSessionExpiration.getEmbeddedWalletSessionExpiration((_m = (_l = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _l === void 0 ? void 0 : _l.embeddedWallets) === null || _m === void 0 ? void 0 : _m.sessionKeyDuration),
|
|
247
253
|
user: user$1,
|
|
248
254
|
wallet: primaryWallet,
|
|
249
255
|
});
|
|
@@ -262,7 +268,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
262
268
|
if (!userHasEmbeddedWallet() || !hasRecoveryEmail) {
|
|
263
269
|
throw new utils.DynamicError('User does not have a secure enclave wallet or a verified email', errors.INVALID_WALLET_DATA);
|
|
264
270
|
}
|
|
265
|
-
const organizationId = (
|
|
271
|
+
const organizationId = (_q = (_p = (_o = user$1 === null || user$1 === void 0 ? void 0 : user$1.verifiedCredentials) === null || _o === void 0 ? void 0 : _o.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _p === void 0 ? void 0 : _p.walletProperties) === null || _q === void 0 ? void 0 : _q.turnkeySubOrganizationId;
|
|
266
272
|
yield turnkeyRecoveryHandler.verifyRecoveryCode(options.oneTimeCode, organizationId);
|
|
267
273
|
const sessionSettings = {
|
|
268
274
|
createdAt: new Date().getTime(),
|
|
@@ -276,7 +282,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
276
282
|
user$1,
|
|
277
283
|
hasRecoveryEmail,
|
|
278
284
|
primaryWallet,
|
|
279
|
-
(
|
|
285
|
+
(_c = (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.embeddedWallets) === null || _c === void 0 ? void 0 : _c.sessionKeyDuration,
|
|
280
286
|
userHasEmbeddedWallet,
|
|
281
287
|
wallet === null || wallet === void 0 ? void 0 : wallet.connector,
|
|
282
288
|
]);
|
|
@@ -286,12 +292,12 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
286
292
|
* @returns Promise<WebAuthnAttestation>
|
|
287
293
|
*/
|
|
288
294
|
const createPasskey = React.useCallback((options) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
289
|
-
var
|
|
295
|
+
var _r, _s;
|
|
290
296
|
if (!user$1) {
|
|
291
297
|
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
292
298
|
}
|
|
293
299
|
validateTurnkeyProviderEnabled.validateTurnkeyProviderEnabled(projectSettings);
|
|
294
|
-
const turnkeyWallet = findTurnkeyWallet.findTurnkeyWalletByPrimaryChain(walletConnectorOptions, (
|
|
300
|
+
const turnkeyWallet = findTurnkeyWallet.findTurnkeyWalletByPrimaryChain(walletConnectorOptions, (_r = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _r === void 0 ? void 0 : _r.chainConfigurations, user$1.verifiedCredentials);
|
|
295
301
|
if (!(turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector)) {
|
|
296
302
|
throw new utils.DynamicError('Wallet connector not found', errors.INVALID_WALLET_DATA);
|
|
297
303
|
}
|
|
@@ -306,7 +312,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
306
312
|
if (!('id' in turnkeyWallet) || !hasEmailVC) {
|
|
307
313
|
return walletConnector.getWebAuthnAttestation();
|
|
308
314
|
}
|
|
309
|
-
const turnkeySubOrganizationId = (
|
|
315
|
+
const turnkeySubOrganizationId = (_s = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletProperties) === null || _s === void 0 ? void 0 : _s.turnkeySubOrganizationId;
|
|
310
316
|
if (!turnkeySubOrganizationId) {
|
|
311
317
|
throw new utils.DynamicError('No sub organization id found for the wallet', errors.INVALID_WALLET_DATA);
|
|
312
318
|
}
|
|
@@ -349,18 +355,17 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
349
355
|
});
|
|
350
356
|
return data.passkeys;
|
|
351
357
|
}), [user$1, environmentId]);
|
|
352
|
-
const isEmailAuthSessionActive = (
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
358
|
+
const isEmailAuthSessionActive = React.useMemo(() => {
|
|
359
|
+
var _a;
|
|
360
|
+
const eoaConnector = wallet === null || wallet === void 0 ? void 0 : wallet.connector;
|
|
361
|
+
if (!eoaConnector || !('getAuthenticatorHandler' in eoaConnector))
|
|
362
|
+
return false;
|
|
363
|
+
return (_a = getEmbeddedWalletAuthHandler.getEmbeddedWalletAuthHandler(eoaConnector)) === null || _a === void 0 ? void 0 : _a.isSessionActive();
|
|
364
|
+
}, [wallet === null || wallet === void 0 ? void 0 : wallet.connector]);
|
|
365
|
+
const isSessionKeySessionAAActive = React.useMemo(() => isConnectorSessionKeyActive(wallet === null || wallet === void 0 ? void 0 : wallet.connector), [wallet === null || wallet === void 0 ? void 0 : wallet.connector]);
|
|
366
|
+
const isSessionKeySessionActive = React.useMemo(() => isConnectorSessionKeyActive(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector), [primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector]);
|
|
361
367
|
/**
|
|
362
368
|
* Checks if the embedded wallet session is active
|
|
363
|
-
* @returns boolean
|
|
364
369
|
*/
|
|
365
370
|
const isSessionActive = isEmailAuthSessionActive ||
|
|
366
371
|
isSessionKeySessionActive ||
|
|
@@ -371,16 +376,16 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
371
376
|
* and the html container id to render the iframe into
|
|
372
377
|
* @returns Promise<string> - returns the embedded wallet recovery phrase or private key
|
|
373
378
|
*/
|
|
374
|
-
const revealEmbeddedWalletKey = (
|
|
375
|
-
var
|
|
379
|
+
const revealEmbeddedWalletKey = React.useCallback((_t) => _tslib.__awaiter(void 0, [_t], void 0, function* ({ type, htmlContainerId, }) {
|
|
380
|
+
var _u, _v, _w, _x, _y, _z;
|
|
376
381
|
if (!user$1) {
|
|
377
382
|
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
378
383
|
}
|
|
379
384
|
yield turnkeyExport.cleanupExport({
|
|
380
|
-
wallet,
|
|
385
|
+
wallet: wallet,
|
|
381
386
|
});
|
|
382
|
-
const turnkeyWallet = findTurnkeyWallet.findTurnkeyWalletByPrimaryChain(walletConnectorOptions, (
|
|
383
|
-
const turnkeyHDWalletId = (
|
|
387
|
+
const turnkeyWallet = findTurnkeyWallet.findTurnkeyWalletByPrimaryChain(walletConnectorOptions, (_u = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _u === void 0 ? void 0 : _u.chainConfigurations, user$1 === null || user$1 === void 0 ? void 0 : user$1.verifiedCredentials);
|
|
388
|
+
const turnkeyHDWalletId = (_v = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletProperties) === null || _v === void 0 ? void 0 : _v.turnkeyHDWalletId;
|
|
384
389
|
if (type === 'recoveryPhrase' && !turnkeyHDWalletId) {
|
|
385
390
|
type = 'privateKey';
|
|
386
391
|
}
|
|
@@ -389,26 +394,26 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
389
394
|
// since it will show unrelated turnkey content
|
|
390
395
|
iframeContainerElement.current.style.display = 'none';
|
|
391
396
|
if (walletConnectorCore.isSessionKeyCompatibleWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
|
|
392
|
-
yield ((
|
|
397
|
+
yield ((_w = wallet === null || wallet === void 0 ? void 0 : wallet.connector) === null || _w === void 0 ? void 0 : _w.createOrRestoreSession());
|
|
393
398
|
}
|
|
394
399
|
yield turnkeyExport.initExport({
|
|
395
400
|
iframeContainer: iframeContainerElement.current,
|
|
396
401
|
iframeElementId: constants.revealIframeElementId,
|
|
397
|
-
wallet,
|
|
402
|
+
wallet: wallet,
|
|
398
403
|
});
|
|
399
404
|
try {
|
|
400
405
|
yield turnkeyExport.exportCredential({
|
|
401
406
|
address: type === 'privateKey' ? wallet === null || wallet === void 0 ? void 0 : wallet.address : undefined,
|
|
402
407
|
environmentId,
|
|
403
408
|
user: user$1,
|
|
404
|
-
wallet,
|
|
409
|
+
wallet: wallet,
|
|
405
410
|
});
|
|
406
411
|
}
|
|
407
|
-
catch (
|
|
412
|
+
catch (_0) {
|
|
408
413
|
if (walletConnectorCore.isSessionKeyCompatibleWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector) &&
|
|
409
|
-
((
|
|
410
|
-
yield ((
|
|
411
|
-
yield ((
|
|
414
|
+
((_x = wallet === null || wallet === void 0 ? void 0 : wallet.connector) === null || _x === void 0 ? void 0 : _x.removeSessionKeys)) {
|
|
415
|
+
yield ((_y = wallet === null || wallet === void 0 ? void 0 : wallet.connector) === null || _y === void 0 ? void 0 : _y.removeSessionKeys());
|
|
416
|
+
yield ((_z = wallet === null || wallet === void 0 ? void 0 : wallet.connector) === null || _z === void 0 ? void 0 : _z.createOrRestoreSession({
|
|
412
417
|
ignoreRestore: true,
|
|
413
418
|
}));
|
|
414
419
|
}
|
|
@@ -416,24 +421,31 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
416
421
|
address: type === 'privateKey' ? wallet === null || wallet === void 0 ? void 0 : wallet.address : undefined,
|
|
417
422
|
environmentId,
|
|
418
423
|
user: user$1,
|
|
419
|
-
wallet,
|
|
424
|
+
wallet: wallet,
|
|
420
425
|
});
|
|
421
426
|
}
|
|
422
427
|
// show the iframe container after the export is done
|
|
423
428
|
// to show the exported content only
|
|
424
429
|
iframeContainerElement.current.style.display = 'block';
|
|
425
430
|
return true;
|
|
426
|
-
})
|
|
431
|
+
}), [
|
|
432
|
+
createRootElement,
|
|
433
|
+
environmentId,
|
|
434
|
+
wallet,
|
|
435
|
+
(_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _d === void 0 ? void 0 : _d.chainConfigurations,
|
|
436
|
+
user$1,
|
|
437
|
+
walletConnectorOptions,
|
|
438
|
+
]);
|
|
427
439
|
/**
|
|
428
440
|
* Sends a one-time code to the user so they can create a session or add a new passkey
|
|
429
441
|
* @returns Promise<'code_sent'>
|
|
430
442
|
*/
|
|
431
443
|
const sendOneTimeCode = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
432
|
-
var
|
|
444
|
+
var _1, _2;
|
|
433
445
|
if (!user$1) {
|
|
434
446
|
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
435
447
|
}
|
|
436
|
-
const targetTurnkeyWallet = findTurnkeyWallet.findTurnkeyWalletByPrimaryChain(walletConnectorOptions, (
|
|
448
|
+
const targetTurnkeyWallet = findTurnkeyWallet.findTurnkeyWalletByPrimaryChain(walletConnectorOptions, (_1 = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _1 === void 0 ? void 0 : _1.chainConfigurations, user$1.verifiedCredentials);
|
|
437
449
|
if (!targetTurnkeyWallet || !('id' in targetTurnkeyWallet)) {
|
|
438
450
|
throw new utils.DynamicError('User does not have a valid secure enclave wallet', errors.INVALID_WALLET_DATA);
|
|
439
451
|
}
|
|
@@ -444,7 +456,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
444
456
|
throw new utils.DynamicError('Session is active. No need to create a new one', errors.ACTIVE_SESSION);
|
|
445
457
|
}
|
|
446
458
|
const turnkeyAuthIframeContainerRef = createRootElement(constants.iframeContainerId);
|
|
447
|
-
const publicKey = yield turnkeyAuthenticatorHandler.initRecovery('email', turnkeyAuthIframeContainerRef.current, constants.iframeElementId, getEmbeddedWalletSessionExpiration.getEmbeddedWalletSessionExpiration((
|
|
459
|
+
const publicKey = yield turnkeyAuthenticatorHandler.initRecovery('email', turnkeyAuthIframeContainerRef.current, constants.iframeElementId, getEmbeddedWalletSessionExpiration.getEmbeddedWalletSessionExpiration((_2 = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _2 === void 0 ? void 0 : _2.sessionKeyDuration));
|
|
448
460
|
if (!publicKey) {
|
|
449
461
|
throw new utils.DynamicError(errors.ERROR_SENDING_CODE);
|
|
450
462
|
}
|
|
@@ -463,7 +475,19 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
463
475
|
projectSettings,
|
|
464
476
|
walletConnectorOptions,
|
|
465
477
|
]);
|
|
466
|
-
return {
|
|
478
|
+
return React.useMemo(() => ({
|
|
479
|
+
createEmbeddedWallet,
|
|
480
|
+
createEmbeddedWalletAccount,
|
|
481
|
+
createOrRestoreSession,
|
|
482
|
+
createPasskey,
|
|
483
|
+
getPasskeys,
|
|
484
|
+
getWalletVersion,
|
|
485
|
+
isLoadingEmbeddedWallet,
|
|
486
|
+
isSessionActive,
|
|
487
|
+
revealEmbeddedWalletKey,
|
|
488
|
+
sendOneTimeCode,
|
|
489
|
+
userHasEmbeddedWallet,
|
|
490
|
+
}), [
|
|
467
491
|
createEmbeddedWallet,
|
|
468
492
|
createEmbeddedWalletAccount,
|
|
469
493
|
createOrRestoreSession,
|
|
@@ -475,7 +499,8 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
475
499
|
revealEmbeddedWalletKey,
|
|
476
500
|
sendOneTimeCode,
|
|
477
501
|
userHasEmbeddedWallet,
|
|
478
|
-
|
|
502
|
+
]);
|
|
479
503
|
};
|
|
480
504
|
|
|
505
|
+
exports.isConnectorSessionKeyActive = isConnectorSessionKeyActive;
|
|
481
506
|
exports.useSecureEnclaveEmbeddedWallet = useSecureEnclaveEmbeddedWallet;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EmbeddedWalletChainEnum } from '@dynamic-labs/sdk-api-core';
|
|
2
|
-
import { WebAuthnAttestation } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
-
import { Wallet } from '../../../../shared';
|
|
2
|
+
import { Wallet, WalletConnector, WebAuthnAttestation } from '@dynamic-labs/wallet-connector-core';
|
|
4
3
|
import { EmbeddedWalletVersion } from './constants';
|
|
4
|
+
export declare const isConnectorSessionKeyActive: (connector: WalletConnector | undefined) => boolean;
|
|
5
5
|
/**
|
|
6
6
|
*
|
|
7
7
|
* @returns {
|
|
@@ -32,7 +32,7 @@ export declare const useSecureEnclaveEmbeddedWallet: () => {
|
|
|
32
32
|
readonly getPasskeys: () => Promise<import("@dynamic-labs/sdk-api-core").UserPasskey[]>;
|
|
33
33
|
readonly getWalletVersion: () => EmbeddedWalletVersion;
|
|
34
34
|
readonly isLoadingEmbeddedWallet: boolean;
|
|
35
|
-
readonly isSessionActive:
|
|
35
|
+
readonly isSessionActive: boolean;
|
|
36
36
|
readonly revealEmbeddedWalletKey: ({ type, htmlContainerId, }: {
|
|
37
37
|
type: 'recoveryPhrase' | 'privateKey';
|
|
38
38
|
htmlContainerId?: string;
|