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

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 (42) hide show
  1. package/CHANGELOG.md +13 -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 +11 -9
  14. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +6 -2
  15. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +12 -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/useEmbeddedWallet/useEmbeddedWallet.cjs +7 -8
  23. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +10 -1
  24. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +7 -8
  25. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +1 -1
  26. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +1 -1
  27. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +137 -25
  28. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +17 -7
  29. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +140 -28
  30. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.cjs +6 -13
  31. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.d.ts +1 -3
  32. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.js +6 -12
  33. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +25 -2
  34. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +25 -2
  35. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
  36. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
  37. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs +1 -1
  38. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js +1 -1
  39. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +1 -1
  40. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +1 -1
  41. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +7 -7
  42. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +7 -7
package/CHANGELOG.md CHANGED
@@ -1,4 +1,17 @@
1
1
 
2
+ ## [2.1.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.3...v2.1.0-alpha.4) (2024-04-23)
3
+
4
+
5
+ ### Features
6
+
7
+ * add email and sms to client auth module ([#5436](https://github.com/dynamic-labs/DynamicAuth/issues/5436)) ([5420476](https://github.com/dynamic-labs/DynamicAuth/commit/5420476d1ba38fd4f987f28e9aefbfb3e61ea2bf))
8
+ * headless create passkeys for embedded wallets ([#5395](https://github.com/dynamic-labs/DynamicAuth/issues/5395)) ([0b64099](https://github.com/dynamic-labs/DynamicAuth/commit/0b6409968457f65886248f0a0879e39ec3803fd0))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * prevent wagmi from reconnect when DynamicContextProvider rerender ([#5446](https://github.com/dynamic-labs/DynamicAuth/issues/5446)) ([33337af](https://github.com/dynamic-labs/DynamicAuth/commit/33337af76786963cb3db7fa7c58c1292c529d0ac))
14
+
2
15
  ## [2.1.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.2...v2.1.0-alpha.3) (2024-04-23)
3
16
 
4
17
 
package/package.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "2.1.0-alpha.3";
6
+ var version = "2.1.0-alpha.4";
7
7
  var dependencies = {
8
8
  "@dynamic-labs/sdk-api-core": "0.0.425",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.js CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client'
2
- var version = "2.1.0-alpha.3";
2
+ var version = "2.1.0-alpha.4";
3
3
  var dependencies = {
4
4
  "@dynamic-labs/sdk-api-core": "0.0.425",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "2.1.0-alpha.3",
3
+ "version": "2.1.0-alpha.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -17,18 +17,17 @@
17
17
  "react-i18next": "13.5.0",
18
18
  "yup": "0.32.11",
19
19
  "react-international-phone": "4.2.5",
20
- "@dynamic-labs/ethereum": "2.1.0-alpha.3",
21
- "@dynamic-labs/iconic": "2.1.0-alpha.3",
22
- "@dynamic-labs/logger": "2.1.0-alpha.3",
23
- "@dynamic-labs/multi-wallet": "2.1.0-alpha.3",
24
- "@dynamic-labs/rpc-provider-ethereum": "2.1.0-alpha.3",
25
- "@dynamic-labs/rpc-provider-solana": "2.1.0-alpha.3",
26
- "@dynamic-labs/rpc-providers": "2.1.0-alpha.3",
27
- "@dynamic-labs/types": "2.1.0-alpha.3",
28
- "@dynamic-labs/utils": "2.1.0-alpha.3",
29
- "@dynamic-labs/viem-utils": "2.1.0-alpha.3",
30
- "@dynamic-labs/wallet-book": "2.1.0-alpha.3",
31
- "@dynamic-labs/wallet-connector-core": "2.1.0-alpha.3",
20
+ "@dynamic-labs/iconic": "2.1.0-alpha.4",
21
+ "@dynamic-labs/logger": "2.1.0-alpha.4",
22
+ "@dynamic-labs/multi-wallet": "2.1.0-alpha.4",
23
+ "@dynamic-labs/rpc-provider-ethereum": "2.1.0-alpha.4",
24
+ "@dynamic-labs/rpc-provider-solana": "2.1.0-alpha.4",
25
+ "@dynamic-labs/rpc-providers": "2.1.0-alpha.4",
26
+ "@dynamic-labs/types": "2.1.0-alpha.4",
27
+ "@dynamic-labs/utils": "2.1.0-alpha.4",
28
+ "@dynamic-labs/viem-utils": "2.1.0-alpha.4",
29
+ "@dynamic-labs/wallet-book": "2.1.0-alpha.4",
30
+ "@dynamic-labs/wallet-connector-core": "2.1.0-alpha.4",
32
31
  "eventemitter3": "5.0.1"
33
32
  },
34
33
  "devDependencies": {
package/src/index.cjs CHANGED
@@ -61,7 +61,6 @@ require('react-international-phone');
61
61
  var mergeNetworks = require('./lib/utils/functions/mergeNetworks/mergeNetworks.cjs');
62
62
  var createWalletClientFromWallet = require('./lib/utils/functions/createWalletClientFromWallet/createWalletClientFromWallet.cjs');
63
63
  var useEmbeddedWallet = require('./lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs');
64
- var useSecureEnclaveEmbeddedWallet = require('./lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs');
65
64
  require('./lib/context/WalletContext/WalletContext.cjs');
66
65
  require('./lib/context/ErrorContext/ErrorContext.cjs');
67
66
  require('./lib/context/ThemeContext/ThemeContext.cjs');
@@ -189,7 +188,6 @@ exports.ArrowIcon = stroke.ReactComponent;
189
188
  exports.mergeNetworks = mergeNetworks.mergeNetworks;
190
189
  exports.createWalletClientFromWallet = createWalletClientFromWallet.createWalletClientFromWallet;
191
190
  exports.useEmbeddedWallet = useEmbeddedWallet.useEmbeddedWallet;
192
- exports.useSecureEnclaveEmbeddedWallet = useSecureEnclaveEmbeddedWallet.useSecureEnclaveEmbeddedWallet;
193
191
  exports.useIsLoggedIn = useIsLoggedIn.useIsLoggedIn;
194
192
  exports.useOtpVerificationRequest = useOtpVerificationRequest.useOtpVerificationRequest;
195
193
  exports.usePasskeyRecovery = usePasskeyRecovery.usePasskeyRecovery;
package/src/index.d.ts CHANGED
@@ -105,7 +105,7 @@ export { FilterAndSortWallets, FilterBridgeChainsName, FilterChain, FilterWallet
105
105
  export {
106
106
  /** @deprecated */
107
107
  DynamicWidgetContextProvider, } from './lib/widgets/DynamicWidget/context';
108
- export { useWalletItemActions, useAuthenticateConnectedUser, useSocialAccounts, useEmbeddedWallet, useEmbeddedWalletAuthenticator, usePasskeyRecovery, useEmbeddedReveal, useIsLoggedIn, useDynamicModals, useMfa, useSecureEnclaveEmbeddedWallet, } from './lib/utils/hooks';
108
+ export { useWalletItemActions, useAuthenticateConnectedUser, useSocialAccounts, useEmbeddedWallet, useEmbeddedWalletAuthenticator, usePasskeyRecovery, useEmbeddedReveal, useIsLoggedIn, useDynamicModals, useMfa, } from './lib/utils/hooks';
109
109
  export { useUserUpdateRequest, useWalletConnectorEvent, } from './lib/utils/hooks';
110
110
  export { type VerifyOtp, useOtpVerificationRequest, } from './lib/utils/hooks/authenticationHooks/';
111
111
  export type { UpdateUserFieldsArg } from './lib/utils/hooks/';
package/src/index.js CHANGED
@@ -57,7 +57,6 @@ import 'react-international-phone';
57
57
  export { mergeNetworks } from './lib/utils/functions/mergeNetworks/mergeNetworks.js';
58
58
  export { createWalletClientFromWallet } from './lib/utils/functions/createWalletClientFromWallet/createWalletClientFromWallet.js';
59
59
  export { useEmbeddedWallet } from './lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js';
60
- export { useSecureEnclaveEmbeddedWallet } from './lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js';
61
60
  import './lib/context/WalletContext/WalletContext.js';
62
61
  import './lib/context/ErrorContext/ErrorContext.js';
63
62
  import './lib/context/ThemeContext/ThemeContext.js';
@@ -1151,7 +1151,7 @@ const translation = {
1151
1151
  'Don’t get locked out if you delete your passkey or lose your device.',
1152
1152
  input_label: 'Enter your email',
1153
1153
  title: 'Add a recovery email',
1154
- confirm_button: 'Done',
1154
+ confirm_button: 'Confirm with a passkey',
1155
1155
  skip_button: 'Skip for now',
1156
1156
  success_message: 'Recovery email added!',
1157
1157
  },
@@ -1182,7 +1182,7 @@ const translation = {
1182
1182
  description: 'Don’t get locked out if you delete your passkey or lose your device.',
1183
1183
  input_label: 'Enter your email',
1184
1184
  title: 'Add a recovery email',
1185
- confirm_button: 'Done',
1185
+ confirm_button: 'Confirm with a passkey',
1186
1186
  skip_button: 'Skip for now',
1187
1187
  success_message: 'Recovery email added!',
1188
1188
  },
@@ -1147,7 +1147,7 @@ export declare const translation: {
1147
1147
  'Don’t get locked out if you delete your passkey or lose your device.',
1148
1148
  input_label: 'Enter your email',
1149
1149
  title: 'Add a recovery email',
1150
- confirm_button: 'Done',
1150
+ confirm_button: 'Confirm with a passkey',
1151
1151
  skip_button: 'Skip for now',
1152
1152
  success_message: 'Recovery email added!',
1153
1153
  },
@@ -1147,7 +1147,7 @@ const translation = {
1147
1147
  'Don’t get locked out if you delete your passkey or lose your device.',
1148
1148
  input_label: 'Enter your email',
1149
1149
  title: 'Add a recovery email',
1150
- confirm_button: 'Done',
1150
+ confirm_button: 'Confirm with a passkey',
1151
1151
  skip_button: 'Skip for now',
1152
1152
  success_message: 'Recovery email added!',
1153
1153
  },
@@ -1178,7 +1178,7 @@ const translation = {
1178
1178
  description: 'Don’t get locked out if you delete your passkey or lose your device.',
1179
1179
  input_label: 'Enter your email',
1180
1180
  title: 'Add a recovery email',
1181
- confirm_button: 'Done',
1181
+ confirm_button: 'Confirm with a passkey',
1182
1182
  skip_button: 'Skip for now',
1183
1183
  success_message: 'Recovery email added!',
1184
1184
  },
@@ -10,7 +10,6 @@ const ERROR_SENDING_CODE = 'error_sending_code';
10
10
  const INVALID_REQUEST = 'invalid_request';
11
11
  const INVALID_WALLET_DATA = 'invalid_wallet';
12
12
  const SECURE_ENCLAVE_PROVIDER_NOT_ENABLED = 'secure_enclave_provider_not_enabled';
13
- const NO_SECURE_ENCLAVE_WALLET_FOUND = 'no_secure_enclave_wallet_found';
14
13
  const USER_NOT_LOGGED_IN = 'user_not_logged_in';
15
14
  const CODE_SENT = 'code_sent';
16
15
  const SESSION_CREATED = 'session_created';
@@ -22,7 +21,6 @@ exports.ERROR_SENDING_CODE = ERROR_SENDING_CODE;
22
21
  exports.INVALID_REQUEST = INVALID_REQUEST;
23
22
  exports.INVALID_WALLET_DATA = INVALID_WALLET_DATA;
24
23
  exports.MISSING_ADDRESS_ERROR = MISSING_ADDRESS_ERROR;
25
- exports.NO_SECURE_ENCLAVE_WALLET_FOUND = NO_SECURE_ENCLAVE_WALLET_FOUND;
26
24
  exports.SECURE_ENCLAVE_PROVIDER_NOT_ENABLED = SECURE_ENCLAVE_PROVIDER_NOT_ENABLED;
27
25
  exports.SESSION_CREATED = SESSION_CREATED;
28
26
  exports.SESSION_RESTORED = SESSION_RESTORED;
@@ -6,10 +6,9 @@ const ERROR_SENDING_CODE = 'error_sending_code';
6
6
  const INVALID_REQUEST = 'invalid_request';
7
7
  const INVALID_WALLET_DATA = 'invalid_wallet';
8
8
  const SECURE_ENCLAVE_PROVIDER_NOT_ENABLED = 'secure_enclave_provider_not_enabled';
9
- const NO_SECURE_ENCLAVE_WALLET_FOUND = 'no_secure_enclave_wallet_found';
10
9
  const USER_NOT_LOGGED_IN = 'user_not_logged_in';
11
10
  const CODE_SENT = 'code_sent';
12
11
  const SESSION_CREATED = 'session_created';
13
12
  const SESSION_RESTORED = 'SESSION_RESTORED';
14
13
 
15
- export { ACTIVE_SESSION, CODE_SENT, ERROR_SENDING_CODE, INVALID_REQUEST, INVALID_WALLET_DATA, MISSING_ADDRESS_ERROR, NO_SECURE_ENCLAVE_WALLET_FOUND, SECURE_ENCLAVE_PROVIDER_NOT_ENABLED, SESSION_CREATED, SESSION_RESTORED, USER_NOT_LOGGED_IN };
14
+ export { ACTIVE_SESSION, CODE_SENT, ERROR_SENDING_CODE, INVALID_REQUEST, INVALID_WALLET_DATA, MISSING_ADDRESS_ERROR, SECURE_ENCLAVE_PROVIDER_NOT_ENABLED, SESSION_CREATED, SESSION_RESTORED, USER_NOT_LOGGED_IN };
@@ -3,9 +3,9 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var utils = require('@dynamic-labs/utils');
6
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
7
+ require('@dynamic-labs/utils');
7
8
  var values = require('../../constants/values.cjs');
8
- var errors = require('../../constants/errors.cjs');
9
9
 
10
10
  const findTurnkeyWalletByChain = (walletOptions, chainName) => {
11
11
  const chain = chainName
@@ -13,14 +13,16 @@ const findTurnkeyWalletByChain = (walletOptions, chainName) => {
13
13
  : undefined;
14
14
  return walletOptions === null || walletOptions === void 0 ? void 0 : walletOptions.find(({ key, walletConnector }) => key.startsWith('turnkey') && (walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.connectedChain) === chain);
15
15
  };
16
- const findTurnkeyWalletByAddress = (verifiedCredentials, address) => {
17
- const turnkeyVCs = verifiedCredentials === null || verifiedCredentials === void 0 ? void 0 : verifiedCredentials.filter(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
18
- const targetTurnkeyWallet = turnkeyVCs === null || turnkeyVCs === void 0 ? void 0 : turnkeyVCs.find((vc) => { var _a; return ((_a = vc.address) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === address.toLowerCase(); });
19
- if (!targetTurnkeyWallet) {
20
- throw new utils.DynamicError('User does not have a secure enclave wallet', errors.NO_SECURE_ENCLAVE_WALLET_FOUND);
16
+ const findTurnkeyWalletByPrimaryChain = (walletOptions, chainConfigurations, verifiedCredentials) => {
17
+ var _a;
18
+ const primaryEmbeddedChain = ((_a = chainConfigurations === null || chainConfigurations === void 0 ? void 0 : chainConfigurations.find((chain) => chain.primary)) === null || _a === void 0 ? void 0 : _a.name) || sdkApiCore.ChainEnum.Evm;
19
+ const walletConnector = findTurnkeyWalletByChain(walletOptions, values.ChainEnumToVerifiedCredentialName[primaryEmbeddedChain]);
20
+ const turnkeyVC = verifiedCredentials === null || verifiedCredentials === void 0 ? void 0 : verifiedCredentials.find(({ walletName, chain }) => (walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey')) && chain === primaryEmbeddedChain);
21
+ if (!turnkeyVC || !walletConnector) {
22
+ return undefined;
21
23
  }
22
- return targetTurnkeyWallet;
24
+ return Object.assign(Object.assign({}, turnkeyVC), walletConnector);
23
25
  };
24
26
 
25
- exports.findTurnkeyWalletByAddress = findTurnkeyWalletByAddress;
26
27
  exports.findTurnkeyWalletByChain = findTurnkeyWalletByChain;
28
+ exports.findTurnkeyWalletByPrimaryChain = findTurnkeyWalletByPrimaryChain;
@@ -1,4 +1,8 @@
1
- import { JwtVerifiedCredential } from '@dynamic-labs/sdk-api-core';
1
+ import { ChainConfiguration, JwtVerifiedCredential } from '@dynamic-labs/sdk-api-core';
2
+ import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
3
  import { WalletOption } from '../../../shared';
3
4
  export declare const findTurnkeyWalletByChain: (walletOptions: WalletOption[] | undefined, chainName: string | undefined) => WalletOption | undefined;
4
- export declare const findTurnkeyWalletByAddress: (verifiedCredentials: JwtVerifiedCredential[], address: string) => JwtVerifiedCredential;
5
+ export declare const findTurnkeyWalletByPrimaryChain: (walletOptions: WalletOption[] | undefined, chainConfigurations: ChainConfiguration[] | undefined, verifiedCredentials: JwtVerifiedCredential[]) => (JwtVerifiedCredential & WalletOption) | undefined;
6
+ export declare const findTurnkeyWalletByAddress: (walletOptions: WalletOption[] | undefined, verifiedCredentials: JwtVerifiedCredential[], address: string | undefined) => (JwtVerifiedCredential & {
7
+ walletConnector?: WalletConnector;
8
+ }) | undefined;
@@ -1,7 +1,7 @@
1
1
  'use client'
2
- import { DynamicError } from '@dynamic-labs/utils';
3
- import { VerifiedCredentialNameToChainEnum } from '../../constants/values.js';
4
- import { NO_SECURE_ENCLAVE_WALLET_FOUND } from '../../constants/errors.js';
2
+ import { ChainEnum } from '@dynamic-labs/sdk-api-core';
3
+ import '@dynamic-labs/utils';
4
+ import { VerifiedCredentialNameToChainEnum, ChainEnumToVerifiedCredentialName } from '../../constants/values.js';
5
5
 
6
6
  const findTurnkeyWalletByChain = (walletOptions, chainName) => {
7
7
  const chain = chainName
@@ -9,13 +9,15 @@ const findTurnkeyWalletByChain = (walletOptions, chainName) => {
9
9
  : undefined;
10
10
  return walletOptions === null || walletOptions === void 0 ? void 0 : walletOptions.find(({ key, walletConnector }) => key.startsWith('turnkey') && (walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.connectedChain) === chain);
11
11
  };
12
- const findTurnkeyWalletByAddress = (verifiedCredentials, address) => {
13
- const turnkeyVCs = verifiedCredentials === null || verifiedCredentials === void 0 ? void 0 : verifiedCredentials.filter(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
14
- const targetTurnkeyWallet = turnkeyVCs === null || turnkeyVCs === void 0 ? void 0 : turnkeyVCs.find((vc) => { var _a; return ((_a = vc.address) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === address.toLowerCase(); });
15
- if (!targetTurnkeyWallet) {
16
- throw new DynamicError('User does not have a secure enclave wallet', NO_SECURE_ENCLAVE_WALLET_FOUND);
12
+ const findTurnkeyWalletByPrimaryChain = (walletOptions, chainConfigurations, verifiedCredentials) => {
13
+ var _a;
14
+ const primaryEmbeddedChain = ((_a = chainConfigurations === null || chainConfigurations === void 0 ? void 0 : chainConfigurations.find((chain) => chain.primary)) === null || _a === void 0 ? void 0 : _a.name) || ChainEnum.Evm;
15
+ const walletConnector = findTurnkeyWalletByChain(walletOptions, ChainEnumToVerifiedCredentialName[primaryEmbeddedChain]);
16
+ const turnkeyVC = verifiedCredentials === null || verifiedCredentials === void 0 ? void 0 : verifiedCredentials.find(({ walletName, chain }) => (walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey')) && chain === primaryEmbeddedChain);
17
+ if (!turnkeyVC || !walletConnector) {
18
+ return undefined;
17
19
  }
18
- return targetTurnkeyWallet;
20
+ return Object.assign(Object.assign({}, turnkeyVC), walletConnector);
19
21
  };
20
22
 
21
- export { findTurnkeyWalletByAddress, findTurnkeyWalletByChain };
23
+ export { findTurnkeyWalletByChain, findTurnkeyWalletByPrimaryChain };
@@ -1 +1 @@
1
- export { findTurnkeyWalletByChain, findTurnkeyWalletByAddress, } from './findTurnkeyWallet';
1
+ export { findTurnkeyWalletByChain, findTurnkeyWalletByPrimaryChain, findTurnkeyWalletByAddress, } from './findTurnkeyWallet';
@@ -72,3 +72,4 @@ export * from './getUserVerifiedCredentialType';
72
72
  export * from './hasEmbeddedWallet';
73
73
  export * from './getEmbeddedWalletAuthHandler';
74
74
  export * from './getEmbeddedWalletSessionExpiration';
75
+ export * from './serializeWalletConnectors';
@@ -0,0 +1 @@
1
+ export { serializeWalletConnectors } from './serializeWalletConnectors';
@@ -0,0 +1,32 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ require('@dynamic-labs/sdk-api-core');
7
+ var logger = require('../../../shared/logger.cjs');
8
+ require('@dynamic-labs/iconic');
9
+ require('@dynamic-labs/wallet-connector-core');
10
+ require('react/jsx-runtime');
11
+ require('../../../context/ViewContext/ViewContext.cjs');
12
+ require('react');
13
+ require('@dynamic-labs/wallet-book');
14
+ require('../../constants/colors.cjs');
15
+ require('../../constants/values.cjs');
16
+ require('../../../shared/utils/classes/storage/localStorage.cjs');
17
+ require('@dynamic-labs/utils');
18
+ require('../../../shared/consts/index.cjs');
19
+
20
+ const serializeWalletConnectors = (walletConnectors) => {
21
+ try {
22
+ if (!walletConnectors)
23
+ return undefined;
24
+ return walletConnectors.map((connector) => connector.name);
25
+ }
26
+ catch (error) {
27
+ logger.logger.error('error serializing walletConnectors', error);
28
+ return undefined;
29
+ }
30
+ };
31
+
32
+ exports.serializeWalletConnectors = serializeWalletConnectors;
@@ -0,0 +1,2 @@
1
+ import { WalletConnectorsMethod } from '@dynamic-labs/wallet-connector-core';
2
+ export declare const serializeWalletConnectors: (walletConnectors?: WalletConnectorsMethod[]) => string[] | undefined;
@@ -0,0 +1,28 @@
1
+ 'use client'
2
+ import '@dynamic-labs/sdk-api-core';
3
+ import { logger } from '../../../shared/logger.js';
4
+ import '@dynamic-labs/iconic';
5
+ import '@dynamic-labs/wallet-connector-core';
6
+ import 'react/jsx-runtime';
7
+ import '../../../context/ViewContext/ViewContext.js';
8
+ import 'react';
9
+ import '@dynamic-labs/wallet-book';
10
+ import '../../constants/colors.js';
11
+ import '../../constants/values.js';
12
+ import '../../../shared/utils/classes/storage/localStorage.js';
13
+ import '@dynamic-labs/utils';
14
+ import '../../../shared/consts/index.js';
15
+
16
+ const serializeWalletConnectors = (walletConnectors) => {
17
+ try {
18
+ if (!walletConnectors)
19
+ return undefined;
20
+ return walletConnectors.map((connector) => connector.name);
21
+ }
22
+ catch (error) {
23
+ logger.error('error serializing walletConnectors', error);
24
+ return undefined;
25
+ }
26
+ };
27
+
28
+ export { serializeWalletConnectors };
@@ -35,7 +35,6 @@ require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
35
35
  require('../../../context/VerificationContext/VerificationContext.cjs');
36
36
  require('react-dom');
37
37
  var WalletContext = require('../../../context/WalletContext/WalletContext.cjs');
38
- var useEmbeddedWalletPassword = require('../useEmbeddedWalletPassword/useEmbeddedWalletPassword.cjs');
39
38
  var useSecureEnclaveEmbeddedWallet = require('./useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs');
40
39
  var useMPCEmbeddedWallet = require('./useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs');
41
40
  require('../../../context/ThemeContext/ThemeContext.cjs');
@@ -90,15 +89,10 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useDyna
90
89
  */
91
90
  const useEmbeddedWallet = () => {
92
91
  const { onboardingOnlyJwt } = useInternalDynamicContext.useInternalDynamicContext();
93
- const { createPassword: internalCreatePassword } = useEmbeddedWalletPassword.useEmbeddedWalletPassword();
94
- const { createEmbeddedWallet: createCoinbaseMPCWallet, canCreateMPCWallet } = useMPCEmbeddedWallet.useMPCEmbeddedWallet();
95
- const { createEmbeddedWallet: createTurnkeyEmbeddedWallet } = useSecureEnclaveEmbeddedWallet.useSecureEnclaveEmbeddedWallet();
92
+ const { createEmbeddedWallet: createCoinbaseMPCWallet, canCreateMPCWallet, createPassword, } = useMPCEmbeddedWallet.useMPCEmbeddedWallet();
93
+ const { createEmbeddedWallet: createTurnkeyEmbeddedWallet, createOrRestoreSession, createPasskey, getPasskeys, isSessionActive, sendOneTimeCode, } = useSecureEnclaveEmbeddedWallet.useSecureEnclaveEmbeddedWallet();
96
94
  const { isLoadingEmbeddedWallet } = WalletContext.useWalletContext();
97
95
  const userHasEmbeddedWallet = () => hasEmbeddedWallet.hasEmbeddedWallet(getAuthToken.getAuthToken() || onboardingOnlyJwt);
98
- /**
99
- * @deprecated - Use this from the useMPCEmbeddedWallet hook instead.
100
- */
101
- const createPassword = React.useCallback((showIntro) => _tslib.__awaiter(void 0, void 0, void 0, function* () { return internalCreatePassword(showIntro); }), [internalCreatePassword]);
102
96
  const createEmbeddedWallet = React.useCallback((chain) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
103
97
  if (yield canCreateMPCWallet(chain)) {
104
98
  const wallet = yield createCoinbaseMPCWallet(chain);
@@ -109,8 +103,13 @@ const useEmbeddedWallet = () => {
109
103
  }), [canCreateMPCWallet, createCoinbaseMPCWallet, createTurnkeyEmbeddedWallet]);
110
104
  return {
111
105
  createEmbeddedWallet,
106
+ createOrRestoreSession,
107
+ createPasskey,
112
108
  createPassword,
109
+ getPasskeys,
113
110
  isLoadingEmbeddedWallet,
111
+ isSessionActive,
112
+ sendOneTimeCode,
114
113
  userHasEmbeddedWallet,
115
114
  };
116
115
  };
@@ -10,7 +10,16 @@ import { Wallet } from '../../../shared';
10
10
  */
11
11
  export declare const useEmbeddedWallet: () => {
12
12
  readonly createEmbeddedWallet: (chain?: ChainEnum) => Promise<Wallet | undefined>;
13
- readonly createPassword: (showIntro?: boolean) => Promise<string>;
13
+ readonly createOrRestoreSession: ({ oneTimeCode }: {
14
+ oneTimeCode?: string | undefined;
15
+ }) => Promise<string>;
16
+ readonly createPasskey: ({ oneTimeCode }: {
17
+ oneTimeCode?: string | undefined;
18
+ }) => Promise<import("dist/packages/wallet-connector-core/src").WebAuthnAttestation>;
19
+ readonly createPassword: (showIntro?: boolean | undefined) => Promise<string>;
20
+ readonly getPasskeys: () => Promise<import("@dynamic-labs/sdk-api-core").UserPasskey[]>;
14
21
  readonly isLoadingEmbeddedWallet: boolean;
22
+ readonly isSessionActive: boolean;
23
+ readonly sendOneTimeCode: () => Promise<string>;
15
24
  readonly userHasEmbeddedWallet: () => boolean;
16
25
  };
@@ -31,7 +31,6 @@ import '../../../context/UserWalletsContext/UserWalletsContext.js';
31
31
  import '../../../context/VerificationContext/VerificationContext.js';
32
32
  import 'react-dom';
33
33
  import { useWalletContext } from '../../../context/WalletContext/WalletContext.js';
34
- import { useEmbeddedWalletPassword } from '../useEmbeddedWalletPassword/useEmbeddedWalletPassword.js';
35
34
  import { useSecureEnclaveEmbeddedWallet } from './useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js';
36
35
  import { useMPCEmbeddedWallet } from './useMPCEmbeddedWallet/useMPCEmbeddedWallet.js';
37
36
  import '../../../context/ThemeContext/ThemeContext.js';
@@ -86,15 +85,10 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDy
86
85
  */
87
86
  const useEmbeddedWallet = () => {
88
87
  const { onboardingOnlyJwt } = useInternalDynamicContext();
89
- const { createPassword: internalCreatePassword } = useEmbeddedWalletPassword();
90
- const { createEmbeddedWallet: createCoinbaseMPCWallet, canCreateMPCWallet } = useMPCEmbeddedWallet();
91
- const { createEmbeddedWallet: createTurnkeyEmbeddedWallet } = useSecureEnclaveEmbeddedWallet();
88
+ const { createEmbeddedWallet: createCoinbaseMPCWallet, canCreateMPCWallet, createPassword, } = useMPCEmbeddedWallet();
89
+ const { createEmbeddedWallet: createTurnkeyEmbeddedWallet, createOrRestoreSession, createPasskey, getPasskeys, isSessionActive, sendOneTimeCode, } = useSecureEnclaveEmbeddedWallet();
92
90
  const { isLoadingEmbeddedWallet } = useWalletContext();
93
91
  const userHasEmbeddedWallet = () => hasEmbeddedWallet(getAuthToken() || onboardingOnlyJwt);
94
- /**
95
- * @deprecated - Use this from the useMPCEmbeddedWallet hook instead.
96
- */
97
- const createPassword = useCallback((showIntro) => __awaiter(void 0, void 0, void 0, function* () { return internalCreatePassword(showIntro); }), [internalCreatePassword]);
98
92
  const createEmbeddedWallet = useCallback((chain) => __awaiter(void 0, void 0, void 0, function* () {
99
93
  if (yield canCreateMPCWallet(chain)) {
100
94
  const wallet = yield createCoinbaseMPCWallet(chain);
@@ -105,8 +99,13 @@ const useEmbeddedWallet = () => {
105
99
  }), [canCreateMPCWallet, createCoinbaseMPCWallet, createTurnkeyEmbeddedWallet]);
106
100
  return {
107
101
  createEmbeddedWallet,
102
+ createOrRestoreSession,
103
+ createPasskey,
108
104
  createPassword,
105
+ getPasskeys,
109
106
  isLoadingEmbeddedWallet,
107
+ isSessionActive,
108
+ sendOneTimeCode,
110
109
  userHasEmbeddedWallet,
111
110
  };
112
111
  };
@@ -40,9 +40,9 @@ require('../../../../context/UserWalletsContext/UserWalletsContext.cjs');
40
40
  require('../../../../context/VerificationContext/VerificationContext.cjs');
41
41
  require('react-dom');
42
42
  var WalletContext = require('../../../../context/WalletContext/WalletContext.cjs');
43
- var useEmbeddedWalletPassword = require('../../useEmbeddedWalletPassword/useEmbeddedWalletPassword.cjs');
44
43
  var validateUserIsLoggedIn = require('../../../validations/validateUserIsLoggedIn/validateUserIsLoggedIn.cjs');
45
44
  var validateMPCProviderEnabled = require('../../../validations/validateMPCProviderEnabled/validateMPCProviderEnabled.cjs');
45
+ var useEmbeddedWalletPassword = require('../../useEmbeddedWalletPassword/useEmbeddedWalletPassword.cjs');
46
46
  var useCoinbaseMPC = require('./useCoinbaseMPC/useCoinbaseMPC.cjs');
47
47
  require('../../../../context/ThemeContext/ThemeContext.cjs');
48
48
  require('@dynamic-labs/types');
@@ -36,9 +36,9 @@ import '../../../../context/UserWalletsContext/UserWalletsContext.js';
36
36
  import '../../../../context/VerificationContext/VerificationContext.js';
37
37
  import 'react-dom';
38
38
  import { useWalletContext } from '../../../../context/WalletContext/WalletContext.js';
39
- import { useEmbeddedWalletPassword } from '../../useEmbeddedWalletPassword/useEmbeddedWalletPassword.js';
40
39
  import { validateUserIsLoggedIn } from '../../../validations/validateUserIsLoggedIn/validateUserIsLoggedIn.js';
41
40
  import { validateMPCProviderEnabled } from '../../../validations/validateMPCProviderEnabled/validateMPCProviderEnabled.js';
41
+ import { useEmbeddedWalletPassword } from '../../useEmbeddedWalletPassword/useEmbeddedWalletPassword.js';
42
42
  import { useCoinbaseMPC } from './useCoinbaseMPC/useCoinbaseMPC.js';
43
43
  import '../../../../context/ThemeContext/ThemeContext.js';
44
44
  import '@dynamic-labs/types';