@dynamic-labs/sdk-react-core 2.1.0-alpha.3 → 2.1.0-alpha.5

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.
Files changed (54) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +12 -13
  5. package/src/index.cjs +0 -2
  6. package/src/index.d.ts +1 -1
  7. package/src/index.js +0 -1
  8. package/src/lib/locale/en/translation.cjs +2 -2
  9. package/src/lib/locale/en/translation.d.ts +1 -1
  10. package/src/lib/locale/en/translation.js +2 -2
  11. package/src/lib/utils/constants/errors.cjs +0 -2
  12. package/src/lib/utils/constants/errors.js +1 -2
  13. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +12 -9
  14. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +6 -2
  15. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +13 -10
  16. package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
  17. package/src/lib/utils/functions/index.d.ts +1 -0
  18. package/src/lib/utils/functions/serializeWalletConnectors/index.d.ts +1 -0
  19. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.cjs +32 -0
  20. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.d.ts +2 -0
  21. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.js +28 -0
  22. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +7 -8
  23. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +7 -8
  24. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +7 -8
  25. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +10 -1
  26. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +7 -8
  27. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +1 -1
  28. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +1 -1
  29. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +137 -25
  30. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +17 -7
  31. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +140 -28
  32. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +31 -9
  33. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +31 -9
  34. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.cjs +6 -13
  35. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.d.ts +1 -3
  36. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.js +6 -12
  37. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +25 -2
  38. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +25 -2
  39. package/src/lib/views/EmailVerification/EmailVerification.cjs +38 -11
  40. package/src/lib/views/EmailVerification/EmailVerification.js +38 -11
  41. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
  42. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
  43. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +6 -7
  44. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +6 -7
  45. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs +1 -1
  46. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js +1 -1
  47. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +1 -1
  48. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +1 -1
  49. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs +16 -0
  50. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.d.ts +2 -0
  51. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js +12 -0
  52. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/index.d.ts +1 -0
  53. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +7 -7
  54. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +7 -7
@@ -89,10 +89,9 @@ require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCa
89
89
  var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
90
90
 
91
91
  const PasskeyIntroView = () => {
92
- var _a, _b, _c;
93
- const { walletConnectorOptions, environmentId, handleLogOut, onboardingOnlyJwt, projectSettings, decodedAuthToken, } = useInternalDynamicContext.useInternalDynamicContext();
94
- const allowSkippingAuthenticatorAtSignup = (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.allowSkippingAuthenticatorAtSignup;
95
- const isEmailRecoveryFlow = ((_c = decodedAuthToken === null || decodedAuthToken === void 0 ? void 0 : decodedAuthToken.verifiedCredentials) === null || _c === void 0 ? void 0 : _c.length) === 1 &&
92
+ var _a;
93
+ const { walletConnectorOptions, environmentId, handleLogOut, onboardingOnlyJwt, decodedAuthToken, } = useInternalDynamicContext.useInternalDynamicContext();
94
+ const isEmailRecoveryFlow = ((_a = decodedAuthToken === null || decodedAuthToken === void 0 ? void 0 : decodedAuthToken.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
96
95
  !getUserVerifiedCredentialType.getUserVerifiedCredentialType(decodedAuthToken, sdkApiCore.JwtVerifiedCredentialFormatEnum.Email);
97
96
  const { t } = reactI18next.useTranslation();
98
97
  // TODO(GVTY-1137): send a metric when we detect passkeys are not enabled by the browser/device
@@ -104,8 +103,8 @@ const PasskeyIntroView = () => {
104
103
  React.useEffect(() => localStorage.LocalStorage.removeFromLS(localStorage$1.LAST_USED_WALLET), []);
105
104
  const { createDynamicEmbeddedWalletMutation, isLoading, error } = useCreateDynamicEmbeddedWalletMutation.useCreateDynamicEmbeddedWalletMutation();
106
105
  const handleCreateEmbeddedWallet = (withAuthenticator) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
107
- var _d;
108
- const jwt = (_d = getAuthToken.getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
106
+ var _b;
107
+ const jwt = (_b = getAuthToken.getAuthToken()) !== null && _b !== void 0 ? _b : onboardingOnlyJwt;
109
108
  const decodedJwt = decodeJwt.decodeJwt(jwt);
110
109
  if (!jwt || !decodedJwt) {
111
110
  throw new Error('User is not logged in');
@@ -130,7 +129,7 @@ const PasskeyIntroView = () => {
130
129
  }, [error]);
131
130
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { children: jsxRuntime.jsx(Typography.Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', copykey: 'dyn_passkey_intro.title', children: t('dyn_passkey_intro.title') }) }), jsxRuntime.jsxs("div", { className: 'passkey-intro-view', children: [jsxRuntime.jsx("div", { className: 'passkey-intro-view__header', children: jsxRuntime.jsx(passkeyIntro2.ReactComponent, {}) }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'passkey-intro-view__subtitle', copykey: 'dyn_passkey_intro.subtitle', children: t('dyn_passkey_intro.subtitle') }), errorText && jsxRuntime.jsx(ErrorContainer.ErrorContainer, { children: errorText }), jsxRuntime.jsx(AuthChoiceInfo.AuthChoiceInfo, { choice: 'passkey', variant: isEmailRecoveryFlow ? 'noEmailSignup' : 'default' }), jsxRuntime.jsxs("div", { className: 'passkey-intro-view__actions', children: [jsxRuntime.jsx(TypographyButton.TypographyButton, { buttonVariant: 'brand-primary', buttonPadding: 'large', onClick: () => handleCreateEmbeddedWallet(true), dataTestId: 'setup-passkey-button', loading: isLoading && createWalletWithAuthenticator, disabled: isLoading, typographyProps: {
132
131
  color: 'inherit',
133
- }, children: jsxRuntime.jsxs("div", { className: 'passkey-intro-view__inline-button', children: [jsxRuntime.jsx(PasskeyDeviceIcon.PasskeyDeviceIcon, { size: 'small' }), jsxRuntime.jsx(Typography.Typography, { copykey: 'dyn_passkey_intro.button', children: t('dyn_passkey_intro.button') })] }) }), allowSkippingAuthenticatorAtSignup && !isEmailRecoveryFlow ? (jsxRuntime.jsx(TextButton.TextButton, { "data-testid": 'setup-passkey-skip-button', className: 'passkey-intro-view__skip', onClick: () => handleCreateEmbeddedWallet(false), copykey: 'dyn_passkey_intro.button_skip', children: t('dyn_passkey_intro.button_skip') })) : (jsxRuntime.jsx(TextButton.TextButton, { "data-testid": 'setup-passkey-logout-button', className: 'passkey-intro-view__log-out', onClick: handleLogOut, copykey: 'dyn_passkey_intro.button_logout', children: t('dyn_passkey_intro.button_logout') }))] })] })] }));
132
+ }, children: jsxRuntime.jsxs("div", { className: 'passkey-intro-view__inline-button', children: [jsxRuntime.jsx(PasskeyDeviceIcon.PasskeyDeviceIcon, { size: 'small' }), jsxRuntime.jsx(Typography.Typography, { copykey: 'dyn_passkey_intro.button', children: t('dyn_passkey_intro.button') })] }) }), jsxRuntime.jsx(TextButton.TextButton, { "data-testid": 'setup-passkey-logout-button', className: 'passkey-intro-view__log-out', onClick: handleLogOut, copykey: 'dyn_passkey_intro.button_logout', children: t('dyn_passkey_intro.button_logout') })] })] })] }));
134
133
  };
135
134
 
136
135
  exports.PasskeyIntroView = PasskeyIntroView;
@@ -85,10 +85,9 @@ import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCar
85
85
  import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
86
86
 
87
87
  const PasskeyIntroView = () => {
88
- var _a, _b, _c;
89
- const { walletConnectorOptions, environmentId, handleLogOut, onboardingOnlyJwt, projectSettings, decodedAuthToken, } = useInternalDynamicContext();
90
- const allowSkippingAuthenticatorAtSignup = (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.allowSkippingAuthenticatorAtSignup;
91
- const isEmailRecoveryFlow = ((_c = decodedAuthToken === null || decodedAuthToken === void 0 ? void 0 : decodedAuthToken.verifiedCredentials) === null || _c === void 0 ? void 0 : _c.length) === 1 &&
88
+ var _a;
89
+ const { walletConnectorOptions, environmentId, handleLogOut, onboardingOnlyJwt, decodedAuthToken, } = useInternalDynamicContext();
90
+ const isEmailRecoveryFlow = ((_a = decodedAuthToken === null || decodedAuthToken === void 0 ? void 0 : decodedAuthToken.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
92
91
  !getUserVerifiedCredentialType(decodedAuthToken, JwtVerifiedCredentialFormatEnum.Email);
93
92
  const { t } = useTranslation();
94
93
  // TODO(GVTY-1137): send a metric when we detect passkeys are not enabled by the browser/device
@@ -100,8 +99,8 @@ const PasskeyIntroView = () => {
100
99
  useEffect(() => LocalStorage.removeFromLS(LAST_USED_WALLET), []);
101
100
  const { createDynamicEmbeddedWalletMutation, isLoading, error } = useCreateDynamicEmbeddedWalletMutation();
102
101
  const handleCreateEmbeddedWallet = (withAuthenticator) => __awaiter(void 0, void 0, void 0, function* () {
103
- var _d;
104
- const jwt = (_d = getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
102
+ var _b;
103
+ const jwt = (_b = getAuthToken()) !== null && _b !== void 0 ? _b : onboardingOnlyJwt;
105
104
  const decodedJwt = decodeJwt(jwt);
106
105
  if (!jwt || !decodedJwt) {
107
106
  throw new Error('User is not logged in');
@@ -126,7 +125,7 @@ const PasskeyIntroView = () => {
126
125
  }, [error]);
127
126
  return (jsxs(Fragment, { children: [jsx(ModalHeader, { children: jsx(Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', copykey: 'dyn_passkey_intro.title', children: t('dyn_passkey_intro.title') }) }), jsxs("div", { className: 'passkey-intro-view', children: [jsx("div", { className: 'passkey-intro-view__header', children: jsx(SvgPasskeyIntro2, {}) }), jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'passkey-intro-view__subtitle', copykey: 'dyn_passkey_intro.subtitle', children: t('dyn_passkey_intro.subtitle') }), errorText && jsx(ErrorContainer, { children: errorText }), jsx(AuthChoiceInfo, { choice: 'passkey', variant: isEmailRecoveryFlow ? 'noEmailSignup' : 'default' }), jsxs("div", { className: 'passkey-intro-view__actions', children: [jsx(TypographyButton, { buttonVariant: 'brand-primary', buttonPadding: 'large', onClick: () => handleCreateEmbeddedWallet(true), dataTestId: 'setup-passkey-button', loading: isLoading && createWalletWithAuthenticator, disabled: isLoading, typographyProps: {
128
127
  color: 'inherit',
129
- }, children: jsxs("div", { className: 'passkey-intro-view__inline-button', children: [jsx(PasskeyDeviceIcon, { size: 'small' }), jsx(Typography, { copykey: 'dyn_passkey_intro.button', children: t('dyn_passkey_intro.button') })] }) }), allowSkippingAuthenticatorAtSignup && !isEmailRecoveryFlow ? (jsx(TextButton, { "data-testid": 'setup-passkey-skip-button', className: 'passkey-intro-view__skip', onClick: () => handleCreateEmbeddedWallet(false), copykey: 'dyn_passkey_intro.button_skip', children: t('dyn_passkey_intro.button_skip') })) : (jsx(TextButton, { "data-testid": 'setup-passkey-logout-button', className: 'passkey-intro-view__log-out', onClick: handleLogOut, copykey: 'dyn_passkey_intro.button_logout', children: t('dyn_passkey_intro.button_logout') }))] })] })] }));
128
+ }, children: jsxs("div", { className: 'passkey-intro-view__inline-button', children: [jsx(PasskeyDeviceIcon, { size: 'small' }), jsx(Typography, { copykey: 'dyn_passkey_intro.button', children: t('dyn_passkey_intro.button') })] }) }), jsx(TextButton, { "data-testid": 'setup-passkey-logout-button', className: 'passkey-intro-view__log-out', onClick: handleLogOut, copykey: 'dyn_passkey_intro.button_logout', children: t('dyn_passkey_intro.button_logout') })] })] })] }));
130
129
  };
131
130
 
132
131
  export { PasskeyIntroView };
@@ -33,7 +33,7 @@ const createEmbeddedWalletWithPasskey = (_a) => _tslib.__awaiter(void 0, [_a], v
33
33
  throw new utils.DynamicError('Auth token is not defined');
34
34
  }
35
35
  if (!walletConnector) {
36
- throw new utils.DynamicError('PasskeyWalletConnector not found');
36
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
37
37
  }
38
38
  if (!user) {
39
39
  throw new utils.DynamicError('User is not defined');
@@ -29,7 +29,7 @@ const createEmbeddedWalletWithPasskey = (_a) => __awaiter(void 0, [_a], void 0,
29
29
  throw new DynamicError('Auth token is not defined');
30
30
  }
31
31
  if (!walletConnector) {
32
- throw new DynamicError('PasskeyWalletConnector not found');
32
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
33
33
  }
34
34
  if (!user) {
35
35
  throw new DynamicError('User is not defined');
@@ -32,7 +32,7 @@ const createPregeneratedWallet = (_a) => _tslib.__awaiter(void 0, [_a], void 0,
32
32
  throw new utils.DynamicError('Auth token is not defined');
33
33
  }
34
34
  if (!walletConnector) {
35
- throw new utils.DynamicError('PasskeyWalletConnector not found');
35
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
36
36
  }
37
37
  if (!user) {
38
38
  throw new utils.DynamicError('User is not defined');
@@ -28,7 +28,7 @@ const createPregeneratedWallet = (_a) => __awaiter(void 0, [_a], void 0, functio
28
28
  throw new DynamicError('Auth token is not defined');
29
29
  }
30
30
  if (!walletConnector) {
31
- throw new DynamicError('PasskeyWalletConnector not found');
31
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
32
32
  }
33
33
  if (!user) {
34
34
  throw new DynamicError('User is not defined');
@@ -0,0 +1,16 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
7
+
8
+ const findPrimaryEmbeddedChain = (projectSettings) => {
9
+ var _a, _b, _c;
10
+ const embeddedChainConfig = ((_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.chainConfigurations) || [];
11
+ return ((_c = embeddedChainConfig.find((chain) => chain.primary)) === null || _c === void 0 ? void 0 : _c.name) === 'SOL'
12
+ ? sdkApiCore.ChainEnum.Sol
13
+ : sdkApiCore.ChainEnum.Evm;
14
+ };
15
+
16
+ exports.findPrimaryEmbeddedChain = findPrimaryEmbeddedChain;
@@ -0,0 +1,2 @@
1
+ import { ChainEnum, ProjectSettings } from '@dynamic-labs/sdk-api-core';
2
+ export declare const findPrimaryEmbeddedChain: (projectSettings?: ProjectSettings) => ChainEnum;
@@ -0,0 +1,12 @@
1
+ 'use client'
2
+ import { ChainEnum } from '@dynamic-labs/sdk-api-core';
3
+
4
+ const findPrimaryEmbeddedChain = (projectSettings) => {
5
+ var _a, _b, _c;
6
+ const embeddedChainConfig = ((_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.chainConfigurations) || [];
7
+ return ((_c = embeddedChainConfig.find((chain) => chain.primary)) === null || _c === void 0 ? void 0 : _c.name) === 'SOL'
8
+ ? ChainEnum.Sol
9
+ : ChainEnum.Evm;
10
+ };
11
+
12
+ export { findPrimaryEmbeddedChain };
@@ -0,0 +1 @@
1
+ export { findPrimaryEmbeddedChain } from './findPrimaryEmbeddedChain';
@@ -39,7 +39,7 @@ const initEmbeddedWalletSession = (_a) => _tslib.__awaiter(void 0, [_a], void 0,
39
39
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
40
40
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
41
41
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
42
- throw new utils.DynamicError('PasskeyWalletConnector not found');
42
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
43
43
  }
44
44
  const turnkeyRecoveryHandler = (_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.getAuthenticatorHandler();
45
45
  if (authenticatorType === 'passkey' &&
@@ -76,7 +76,7 @@ const passkeyRecoveryBundleValidation = (_c) => _tslib.__awaiter(void 0, [_c], v
76
76
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
77
77
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
78
78
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
79
- throw new utils.DynamicError('PasskeyWalletConnector not found');
79
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
80
80
  }
81
81
  const decodedJwt = decodeJwt.decodeJwt(authToken);
82
82
  if (!decodedJwt) {
@@ -100,7 +100,7 @@ const resentRecoveryEmail = (_h) => _tslib.__awaiter(void 0, [_h], void 0, funct
100
100
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
101
101
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
102
102
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
103
- throw new utils.DynamicError('PasskeyWalletConnector not found');
103
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
104
104
  }
105
105
  const publicKey = (_j = wallet.connector) === null || _j === void 0 ? void 0 : _j.getAuthenticatorHandler().publicKey;
106
106
  if (!publicKey) {
@@ -126,7 +126,7 @@ const completePasskeyRecovery = (_k) => _tslib.__awaiter(void 0, [_k], void 0, f
126
126
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
127
127
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
128
128
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
129
- throw new utils.DynamicError('PasskeyWalletConnector not found');
129
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
130
130
  }
131
131
  const connector = wallet.connector;
132
132
  connector.setEmail(userEmail);
@@ -182,7 +182,7 @@ const addNewPasskeyAuthenticator = (_p) => _tslib.__awaiter(void 0, [_p], void 0
182
182
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
183
183
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
184
184
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
185
- throw new utils.DynamicError('PasskeyWalletConnector not found');
185
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
186
186
  }
187
187
  const connector = wallet.connector;
188
188
  connector.setEmail(userEmail);
@@ -252,7 +252,7 @@ const restoreEmbeddedWalletSession = (_t) => _tslib.__awaiter(void 0, [_t], void
252
252
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
253
253
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
254
254
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
255
- throw new utils.DynamicError('PasskeyWalletConnector not found');
255
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
256
256
  }
257
257
  const sessionSettings = localStorage.LocalStorage.getFromLS(localStorage$1.EMBEDDED_WALLET_SESSION_SETTINGS);
258
258
  const turnkeyRecoveryHandler = (_u = wallet.connector) === null || _u === void 0 ? void 0 : _u.getAuthenticatorHandler();
@@ -281,7 +281,7 @@ const addEmailRecovery = (_y) => _tslib.__awaiter(void 0, [_y], void 0, function
281
281
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
282
282
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
283
283
  !walletConnectorCore.isEmailWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
284
- throw new utils.DynamicError('PasskeyWalletConnector not found');
284
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
285
285
  }
286
286
  const { turnkeySubOrganizationId, turnkeyUserId } = (_0 = (_z = decodedJwt.verifiedCredentials) === null || _z === void 0 ? void 0 : _z.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _0 === void 0 ? void 0 : _0.walletProperties;
287
287
  if (!turnkeySubOrganizationId || !turnkeyUserId) {
@@ -35,7 +35,7 @@ const initEmbeddedWalletSession = (_a) => __awaiter(void 0, [_a], void 0, functi
35
35
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
36
36
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
37
37
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
38
- throw new DynamicError('PasskeyWalletConnector not found');
38
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
39
39
  }
40
40
  const turnkeyRecoveryHandler = (_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.getAuthenticatorHandler();
41
41
  if (authenticatorType === 'passkey' &&
@@ -72,7 +72,7 @@ const passkeyRecoveryBundleValidation = (_c) => __awaiter(void 0, [_c], void 0,
72
72
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
73
73
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
74
74
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
75
- throw new DynamicError('PasskeyWalletConnector not found');
75
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
76
76
  }
77
77
  const decodedJwt = decodeJwt(authToken);
78
78
  if (!decodedJwt) {
@@ -96,7 +96,7 @@ const resentRecoveryEmail = (_h) => __awaiter(void 0, [_h], void 0, function* ({
96
96
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
97
97
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
98
98
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
99
- throw new DynamicError('PasskeyWalletConnector not found');
99
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
100
100
  }
101
101
  const publicKey = (_j = wallet.connector) === null || _j === void 0 ? void 0 : _j.getAuthenticatorHandler().publicKey;
102
102
  if (!publicKey) {
@@ -122,7 +122,7 @@ const completePasskeyRecovery = (_k) => __awaiter(void 0, [_k], void 0, function
122
122
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
123
123
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
124
124
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
125
- throw new DynamicError('PasskeyWalletConnector not found');
125
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
126
126
  }
127
127
  const connector = wallet.connector;
128
128
  connector.setEmail(userEmail);
@@ -178,7 +178,7 @@ const addNewPasskeyAuthenticator = (_p) => __awaiter(void 0, [_p], void 0, funct
178
178
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
179
179
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
180
180
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
181
- throw new DynamicError('PasskeyWalletConnector not found');
181
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
182
182
  }
183
183
  const connector = wallet.connector;
184
184
  connector.setEmail(userEmail);
@@ -248,7 +248,7 @@ const restoreEmbeddedWalletSession = (_t) => __awaiter(void 0, [_t], void 0, fun
248
248
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
249
249
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
250
250
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
251
- throw new DynamicError('PasskeyWalletConnector not found');
251
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
252
252
  }
253
253
  const sessionSettings = LocalStorage.getFromLS(EMBEDDED_WALLET_SESSION_SETTINGS);
254
254
  const turnkeyRecoveryHandler = (_u = wallet.connector) === null || _u === void 0 ? void 0 : _u.getAuthenticatorHandler();
@@ -277,7 +277,7 @@ const addEmailRecovery = (_y) => __awaiter(void 0, [_y], void 0, function* ({ au
277
277
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
278
278
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
279
279
  !isEmailWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
280
- throw new DynamicError('PasskeyWalletConnector not found');
280
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
281
281
  }
282
282
  const { turnkeySubOrganizationId, turnkeyUserId } = (_0 = (_z = decodedJwt.verifiedCredentials) === null || _z === void 0 ? void 0 : _z.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _0 === void 0 ? void 0 : _0.walletProperties;
283
283
  if (!turnkeySubOrganizationId || !turnkeyUserId) {