@dynamic-labs/sdk-react-core 2.1.0-alpha.1 → 2.1.0-alpha.10

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 (210) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -14
  5. package/src/index.cjs +6 -2
  6. package/src/index.d.ts +2 -1
  7. package/src/index.js +3 -1
  8. package/src/lib/Main.cjs +7 -0
  9. package/src/lib/Main.js +7 -0
  10. package/src/lib/components/Alert/Alert.cjs +2 -2
  11. package/src/lib/components/Alert/Alert.js +2 -2
  12. package/src/lib/components/Alert/Alert.types.d.ts +1 -0
  13. package/src/lib/components/EmailForm/EmailForm.cjs +1 -1
  14. package/src/lib/components/EmailForm/EmailForm.js +1 -1
  15. package/src/lib/components/PhoneNumberField/PhoneNumberField.cjs +1 -1
  16. package/src/lib/components/PhoneNumberField/PhoneNumberField.js +1 -1
  17. package/src/lib/components/Portal/Portal.cjs +2 -1
  18. package/src/lib/components/Portal/Portal.js +2 -1
  19. package/src/lib/components/RadioButton/RadioButton.cjs +14 -0
  20. package/src/lib/components/RadioButton/RadioButton.d.ts +5 -0
  21. package/src/lib/components/RadioButton/RadioButton.js +10 -0
  22. package/src/lib/components/RadioButton/index.d.ts +1 -0
  23. package/src/lib/components/Tooltip/Tooltip.cjs +2 -1
  24. package/src/lib/components/Tooltip/Tooltip.js +2 -1
  25. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -1
  26. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.d.ts +2 -1
  27. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -1
  28. package/src/lib/components/index.d.ts +1 -0
  29. package/src/lib/context/DynamicContext/DynamicContext.cjs +23 -7
  30. package/src/lib/context/DynamicContext/DynamicContext.d.ts +5 -0
  31. package/src/lib/context/DynamicContext/DynamicContext.js +20 -4
  32. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +2 -2
  33. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +2 -2
  34. package/src/lib/context/DynamicContext/types/index.d.ts +0 -1
  35. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +5 -2
  36. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +5 -2
  37. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.cjs +2 -1
  38. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.d.ts +1 -1
  39. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.js +2 -1
  40. package/src/lib/context/ErrorBoundary/ErrorBoundary.cjs +64 -0
  41. package/src/lib/context/ErrorBoundary/ErrorBoundary.d.ts +3 -0
  42. package/src/lib/context/ErrorBoundary/ErrorBoundary.js +60 -0
  43. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.cjs +40 -0
  44. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.d.ts +14 -0
  45. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.js +36 -0
  46. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.cjs +24 -0
  47. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.d.ts +5 -0
  48. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.js +18 -0
  49. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.cjs +17 -0
  50. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.d.ts +4 -0
  51. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.js +13 -0
  52. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.cjs +17 -0
  53. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.d.ts +4 -0
  54. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.js +13 -0
  55. package/src/lib/context/ErrorBoundary/index.d.ts +3 -0
  56. package/src/lib/context/ErrorBoundary/types.d.ts +13 -0
  57. package/src/lib/context/ViewContext/ViewContext.cjs +2 -2
  58. package/src/lib/context/ViewContext/ViewContext.js +2 -2
  59. package/src/lib/context/ViewContext/types/index.d.ts +7 -2
  60. package/src/lib/data/api/user/user.cjs +16 -0
  61. package/src/lib/data/api/user/user.js +16 -1
  62. package/src/lib/data/api/wallets/wallets.cjs +26 -6
  63. package/src/lib/data/api/wallets/wallets.d.ts +4 -0
  64. package/src/lib/data/api/wallets/wallets.js +26 -7
  65. package/src/lib/events/dynamicEvents.d.ts +1 -1
  66. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +6 -0
  67. package/src/lib/layout/DynamicAuthLayout/Header/header.js +6 -0
  68. package/src/lib/locale/en/translation.cjs +45 -4
  69. package/src/lib/locale/en/translation.d.ts +44 -3
  70. package/src/lib/locale/en/translation.js +45 -4
  71. package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +2 -1
  72. package/src/lib/shared/utils/classes/storage/localStorage.cjs +2 -2
  73. package/src/lib/shared/utils/classes/storage/localStorage.js +2 -2
  74. package/src/lib/styles/index.shadow.cjs +1 -1
  75. package/src/lib/styles/index.shadow.js +1 -1
  76. package/src/lib/utils/constants/errors.cjs +0 -2
  77. package/src/lib/utils/constants/errors.js +1 -2
  78. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.cjs +14 -0
  79. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.d.ts +3 -0
  80. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.js +10 -0
  81. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/index.d.ts +1 -0
  82. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -2
  83. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -2
  84. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs +3 -4
  85. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.d.ts +1 -1
  86. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js +4 -5
  87. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +12 -9
  88. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +8 -2
  89. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +13 -10
  90. package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
  91. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.cjs +5 -5
  92. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.d.ts +3 -2
  93. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.js +5 -5
  94. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.cjs +7 -2
  95. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.js +7 -2
  96. package/src/lib/utils/functions/index.d.ts +2 -1
  97. package/src/lib/utils/functions/serializeWalletConnectors/index.d.ts +1 -0
  98. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.cjs +32 -0
  99. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.d.ts +2 -0
  100. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.js +28 -0
  101. package/src/lib/utils/hooks/index.d.ts +1 -0
  102. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +22 -17
  103. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +22 -17
  104. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.cjs +2 -1
  105. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.js +2 -1
  106. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +22 -18
  107. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +7 -2
  108. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +22 -18
  109. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +8 -0
  110. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +8 -0
  111. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.cjs +3 -3
  112. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.js +3 -3
  113. package/src/lib/utils/hooks/useElementById/useElementById.cjs +33 -18
  114. package/src/lib/utils/hooks/useElementById/useElementById.d.ts +3 -1
  115. package/src/lib/utils/hooks/useElementById/useElementById.js +33 -18
  116. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +14 -10
  117. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +14 -2
  118. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +14 -10
  119. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +6 -6
  120. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.d.ts +1 -1
  121. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +6 -6
  122. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +8 -8
  123. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.d.ts +2 -2
  124. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +8 -8
  125. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +148 -46
  126. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +21 -8
  127. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +152 -50
  128. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +45 -18
  129. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.d.ts +4 -1
  130. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +45 -18
  131. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +2 -2
  132. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +2 -2
  133. package/src/lib/utils/hooks/useMergeUserAccounts/index.d.ts +1 -0
  134. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +99 -0
  135. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.d.ts +4 -0
  136. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +95 -0
  137. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +2 -1
  138. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +2 -1
  139. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +13 -4
  140. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +10 -2
  141. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +13 -4
  142. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.cjs +6 -13
  143. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.d.ts +1 -3
  144. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.js +6 -12
  145. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +5 -0
  146. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +6 -1
  147. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +25 -2
  148. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +25 -2
  149. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +2 -4
  150. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +2 -1
  151. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +2 -4
  152. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.cjs +3 -3
  153. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.js +3 -3
  154. package/src/lib/views/CollectUserDataView/useFields.cjs +1 -0
  155. package/src/lib/views/CollectUserDataView/useFields.d.ts +2 -0
  156. package/src/lib/views/CollectUserDataView/useFields.js +1 -0
  157. package/src/lib/views/EmailVerification/EmailVerification.cjs +38 -11
  158. package/src/lib/views/EmailVerification/EmailVerification.js +38 -11
  159. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
  160. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
  161. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.cjs +126 -0
  162. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.d.ts +6 -0
  163. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.js +122 -0
  164. package/src/lib/views/MergeUserAccountsConflictsView/index.d.ts +1 -0
  165. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +123 -0
  166. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +4 -0
  167. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +119 -0
  168. package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
  169. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +3 -3
  170. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +3 -3
  171. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -3
  172. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -3
  173. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.cjs +2 -1
  174. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.js +2 -1
  175. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +9 -9
  176. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.d.ts +6 -1
  177. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +9 -9
  178. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +2 -1
  179. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +2 -1
  180. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs → createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs} +18 -19
  181. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.d.ts → createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts} +7 -3
  182. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js → createEmbeddedWalletRequest/createEmbeddedWalletRequest.js} +18 -19
  183. package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/index.d.ts +1 -0
  184. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs +16 -0
  185. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.d.ts +2 -0
  186. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js +12 -0
  187. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/index.d.ts +1 -0
  188. package/src/lib/views/Passkey/utils/index.d.ts +1 -2
  189. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +9 -9
  190. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +9 -9
  191. package/src/lib/views/WalletList/WalletList.cjs +3 -6
  192. package/src/lib/views/WalletList/WalletList.js +3 -6
  193. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -8
  194. package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -8
  195. package/src/lib/views/viewToComponentMap.cjs +4 -0
  196. package/src/lib/views/viewToComponentMap.d.ts +6 -2
  197. package/src/lib/views/viewToComponentMap.js +4 -0
  198. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.cjs +2 -1
  199. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.js +2 -1
  200. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs +1 -1
  201. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js +1 -1
  202. package/src/lib/utils/functions/isEmbeddedWalletPresent/index.d.ts +0 -1
  203. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.cjs +0 -19
  204. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.d.ts +0 -1
  205. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.js +0 -15
  206. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/index.d.ts +0 -1
  207. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +0 -65
  208. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.d.ts +0 -16
  209. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +0 -61
  210. package/src/lib/views/Passkey/utils/createPregeneratedWallet/index.d.ts +0 -1
@@ -34,10 +34,10 @@ require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
34
34
  require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
35
35
  require('../../../context/VerificationContext/VerificationContext.cjs');
36
36
  require('react-dom');
37
- var createEmbeddedWalletWithPasskey = require('../../../views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs');
37
+ var createEmbeddedWalletRequest = require('../../../views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs');
38
38
  var findPasskeyEmailWalletConnector = require('../../../views/Passkey/utils/findPasskeyEmailWalletConnector/findPasskeyEmailWalletConnector.cjs');
39
- var createPregeneratedWallet = require('../../../views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs');
40
39
  var smartWallet = require('../useWalletConnectors/utils/smartWallet/smartWallet.cjs');
40
+ var findPrimaryEmbeddedChain = require('../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs');
41
41
  require('../../../context/WalletContext/WalletContext.cjs');
42
42
  require('../../../context/ThemeContext/ThemeContext.cjs');
43
43
  require('@dynamic-labs/types');
@@ -82,34 +82,31 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useDyna
82
82
 
83
83
  // This hook needs to be async that's why it's not using useMutation
84
84
  const useCreateDynamicEmbeddedWalletMutation = () => {
85
- var _a, _b, _c;
86
- const { setPrimaryWalletId, setCallback, setUser, user, setShowAuthFlow, projectSettings, } = useInternalDynamicContext.useInternalDynamicContext();
85
+ var _a, _b;
86
+ const { setPrimaryWalletId, setUser, user, setShowAuthFlow, projectSettings, } = useInternalDynamicContext.useInternalDynamicContext();
87
87
  const [isLoading, setIsLoading] = React.useState(false);
88
88
  const [error, setError] = React.useState();
89
89
  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) || [];
90
- const primaryEmbeddedChain = ((_c = embeddedChainConfig.find((chain) => chain.primary)) === null || _c === void 0 ? void 0 : _c.name) === 'SOL'
91
- ? sdkApiCore.ChainEnum.Sol
92
- : sdkApiCore.ChainEnum.Evm;
90
+ const primaryEmbeddedChain = findPrimaryEmbeddedChain.findPrimaryEmbeddedChain(projectSettings);
93
91
  const embeddedChains = embeddedChainConfig
94
92
  .filter((chain) => chain.enabled)
95
93
  .map((c) => (c.name === 'SOL' ? sdkApiCore.ChainEnum.Sol : sdkApiCore.ChainEnum.Evm));
96
- const createDynamicEmbeddedWalletMutation = React.useCallback((_d) => _tslib.__awaiter(void 0, [_d], void 0, function* ({ authToken, decodedJwt, environmentId, walletConnectorOptions, withAuthenticator, }) {
97
- var _e, _f;
94
+ const createDynamicEmbeddedWalletMutation = React.useCallback((_c) => _tslib.__awaiter(void 0, [_c], void 0, function* ({ authToken, decodedJwt, environmentId, walletConnectorOptions, withAuthenticator, options, chains, }) {
95
+ var _d, _e;
98
96
  setIsLoading(true);
99
- const createEmbeddedWalletMethodToUse = withAuthenticator
100
- ? createEmbeddedWalletWithPasskey.createEmbeddedWalletWithPasskey
101
- : createPregeneratedWallet.createPregeneratedWallet;
102
97
  try {
103
- const { embeddedWalletVerifiedCredential, decodedJwt: updatedDecodedJwt, signersResponse, walletConnector, } = yield createEmbeddedWalletMethodToUse({
98
+ const { embeddedWalletVerifiedCredential, decodedJwt: updatedDecodedJwt, signersResponse, walletConnector, } = yield createEmbeddedWalletRequest.createEmbeddedWalletRequest({
104
99
  authToken,
105
- chains: embeddedChains,
100
+ chains: chains !== null && chains !== void 0 ? chains : embeddedChains,
106
101
  environmentId,
107
102
  user: user !== null && user !== void 0 ? user : createUserProfile.createUserProfile(decodedJwt),
108
103
  walletConnector: findPasskeyEmailWalletConnector.findPasskeyEmailWalletConnector(walletConnectorOptions, primaryEmbeddedChain),
104
+ webAuthnAttestation: options === null || options === void 0 ? void 0 : options.webAuthnAttestation,
105
+ withAuthenticator,
109
106
  });
110
- const turnkeyVerifiedCredentials = (_e = updatedDecodedJwt === null || updatedDecodedJwt === void 0 ? void 0 : updatedDecodedJwt.verifiedCredentials) === null || _e === void 0 ? void 0 : _e.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
107
+ const turnkeyVerifiedCredentials = (_d = updatedDecodedJwt === null || updatedDecodedJwt === void 0 ? void 0 : updatedDecodedJwt.verifiedCredentials) === null || _d === void 0 ? void 0 : _d.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
111
108
  /** It's not authenticated if it's a turnkey wallet that still hasn't created a passkey */
112
- const authenticated = Boolean((_f = turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.walletProperties) === null || _f === void 0 ? void 0 : _f.isAuthenticatorAttached);
109
+ const authenticated = Boolean((_e = turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.walletProperties) === null || _e === void 0 ? void 0 : _e.isAuthenticatorAttached);
113
110
  const passkeyWallet = {
114
111
  address: (yield walletConnector.getAddress()) || '',
115
112
  authenticated,
@@ -132,7 +129,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
132
129
  }
133
130
  setUser(updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(signersResponse.jwt, signersResponse.minifiedJwt));
134
131
  setShowAuthFlow(false, { performMultiWalletChecks: false });
135
- dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials);
132
+ dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials, signersResponse.jwt);
136
133
  }
137
134
  catch (err) {
138
135
  setError(err);
@@ -142,7 +139,14 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
142
139
  finally {
143
140
  setIsLoading(false);
144
141
  }
145
- }), [setCallback, setPrimaryWalletId, setShowAuthFlow, setUser, user]);
142
+ }), [
143
+ embeddedChains,
144
+ primaryEmbeddedChain,
145
+ setPrimaryWalletId,
146
+ setShowAuthFlow,
147
+ setUser,
148
+ user,
149
+ ]);
146
150
  return {
147
151
  createDynamicEmbeddedWalletMutation,
148
152
  error,
@@ -1,4 +1,5 @@
1
- import { DynamicJwt } from '@dynamic-labs/sdk-api-core';
1
+ import { DynamicJwt, ChainEnum } from '@dynamic-labs/sdk-api-core';
2
+ import { WebAuthnAttestation } from '@dynamic-labs/wallet-connector-core';
2
3
  import { WalletOption } from '../../../shared';
3
4
  type MutationProps = {
4
5
  authToken: string | undefined;
@@ -6,9 +7,13 @@ type MutationProps = {
6
7
  walletConnectorOptions: WalletOption[];
7
8
  decodedJwt: DynamicJwt;
8
9
  withAuthenticator: boolean;
10
+ options?: {
11
+ webAuthnAttestation: WebAuthnAttestation;
12
+ };
13
+ chains?: ChainEnum[];
9
14
  };
10
15
  export declare const useCreateDynamicEmbeddedWalletMutation: () => {
11
- createDynamicEmbeddedWalletMutation: ({ authToken, decodedJwt, environmentId, walletConnectorOptions, withAuthenticator, }: MutationProps) => Promise<void>;
16
+ createDynamicEmbeddedWalletMutation: ({ authToken, decodedJwt, environmentId, walletConnectorOptions, withAuthenticator, options, chains, }: MutationProps) => Promise<void>;
12
17
  error: unknown;
13
18
  isLoading: boolean;
14
19
  };
@@ -30,10 +30,10 @@ import '../../../context/AccountExistsContext/AccountExistsContext.js';
30
30
  import '../../../context/UserWalletsContext/UserWalletsContext.js';
31
31
  import '../../../context/VerificationContext/VerificationContext.js';
32
32
  import 'react-dom';
33
- import { createEmbeddedWalletWithPasskey } from '../../../views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js';
33
+ import { createEmbeddedWalletRequest } from '../../../views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.js';
34
34
  import { findPasskeyEmailWalletConnector } from '../../../views/Passkey/utils/findPasskeyEmailWalletConnector/findPasskeyEmailWalletConnector.js';
35
- import { createPregeneratedWallet } from '../../../views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js';
36
35
  import { findSmartWallet, initializeSmartWallet } from '../useWalletConnectors/utils/smartWallet/smartWallet.js';
36
+ import { findPrimaryEmbeddedChain } from '../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js';
37
37
  import '../../../context/WalletContext/WalletContext.js';
38
38
  import '../../../context/ThemeContext/ThemeContext.js';
39
39
  import '@dynamic-labs/types';
@@ -78,34 +78,31 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDy
78
78
 
79
79
  // This hook needs to be async that's why it's not using useMutation
80
80
  const useCreateDynamicEmbeddedWalletMutation = () => {
81
- var _a, _b, _c;
82
- const { setPrimaryWalletId, setCallback, setUser, user, setShowAuthFlow, projectSettings, } = useInternalDynamicContext();
81
+ var _a, _b;
82
+ const { setPrimaryWalletId, setUser, user, setShowAuthFlow, projectSettings, } = useInternalDynamicContext();
83
83
  const [isLoading, setIsLoading] = useState(false);
84
84
  const [error, setError] = useState();
85
85
  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) || [];
86
- const primaryEmbeddedChain = ((_c = embeddedChainConfig.find((chain) => chain.primary)) === null || _c === void 0 ? void 0 : _c.name) === 'SOL'
87
- ? ChainEnum.Sol
88
- : ChainEnum.Evm;
86
+ const primaryEmbeddedChain = findPrimaryEmbeddedChain(projectSettings);
89
87
  const embeddedChains = embeddedChainConfig
90
88
  .filter((chain) => chain.enabled)
91
89
  .map((c) => (c.name === 'SOL' ? ChainEnum.Sol : ChainEnum.Evm));
92
- const createDynamicEmbeddedWalletMutation = useCallback((_d) => __awaiter(void 0, [_d], void 0, function* ({ authToken, decodedJwt, environmentId, walletConnectorOptions, withAuthenticator, }) {
93
- var _e, _f;
90
+ const createDynamicEmbeddedWalletMutation = useCallback((_c) => __awaiter(void 0, [_c], void 0, function* ({ authToken, decodedJwt, environmentId, walletConnectorOptions, withAuthenticator, options, chains, }) {
91
+ var _d, _e;
94
92
  setIsLoading(true);
95
- const createEmbeddedWalletMethodToUse = withAuthenticator
96
- ? createEmbeddedWalletWithPasskey
97
- : createPregeneratedWallet;
98
93
  try {
99
- const { embeddedWalletVerifiedCredential, decodedJwt: updatedDecodedJwt, signersResponse, walletConnector, } = yield createEmbeddedWalletMethodToUse({
94
+ const { embeddedWalletVerifiedCredential, decodedJwt: updatedDecodedJwt, signersResponse, walletConnector, } = yield createEmbeddedWalletRequest({
100
95
  authToken,
101
- chains: embeddedChains,
96
+ chains: chains !== null && chains !== void 0 ? chains : embeddedChains,
102
97
  environmentId,
103
98
  user: user !== null && user !== void 0 ? user : createUserProfile(decodedJwt),
104
99
  walletConnector: findPasskeyEmailWalletConnector(walletConnectorOptions, primaryEmbeddedChain),
100
+ webAuthnAttestation: options === null || options === void 0 ? void 0 : options.webAuthnAttestation,
101
+ withAuthenticator,
105
102
  });
106
- const turnkeyVerifiedCredentials = (_e = updatedDecodedJwt === null || updatedDecodedJwt === void 0 ? void 0 : updatedDecodedJwt.verifiedCredentials) === null || _e === void 0 ? void 0 : _e.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
103
+ const turnkeyVerifiedCredentials = (_d = updatedDecodedJwt === null || updatedDecodedJwt === void 0 ? void 0 : updatedDecodedJwt.verifiedCredentials) === null || _d === void 0 ? void 0 : _d.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
107
104
  /** It's not authenticated if it's a turnkey wallet that still hasn't created a passkey */
108
- const authenticated = Boolean((_f = turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.walletProperties) === null || _f === void 0 ? void 0 : _f.isAuthenticatorAttached);
105
+ const authenticated = Boolean((_e = turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.walletProperties) === null || _e === void 0 ? void 0 : _e.isAuthenticatorAttached);
109
106
  const passkeyWallet = {
110
107
  address: (yield walletConnector.getAddress()) || '',
111
108
  authenticated,
@@ -128,7 +125,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
128
125
  }
129
126
  setUser(updateJWTAndCreateUserProfile(signersResponse.jwt, signersResponse.minifiedJwt));
130
127
  setShowAuthFlow(false, { performMultiWalletChecks: false });
131
- dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials);
128
+ dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials, signersResponse.jwt);
132
129
  }
133
130
  catch (err) {
134
131
  setError(err);
@@ -138,7 +135,14 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
138
135
  finally {
139
136
  setIsLoading(false);
140
137
  }
141
- }), [setCallback, setPrimaryWalletId, setShowAuthFlow, setUser, user]);
138
+ }), [
139
+ embeddedChains,
140
+ primaryEmbeddedChain,
141
+ setPrimaryWalletId,
142
+ setShowAuthFlow,
143
+ setUser,
144
+ user,
145
+ ]);
142
146
  return {
143
147
  createDynamicEmbeddedWalletMutation,
144
148
  error,
@@ -97,6 +97,14 @@ const useDynamicLayoutData = ({ view, authMode, }) => {
97
97
  copykey: 'dyn_login.title.wallet_only',
98
98
  heading: t('dyn_login.title.wallet_only'),
99
99
  },
100
+ 'merge-user-accounts': {
101
+ copykey: 'dyn_merge_user_accounts.same_wallet.title',
102
+ heading: t('dyn_merge_user_accounts.same_wallet.title'),
103
+ },
104
+ 'merge-user-accounts-conflicts': {
105
+ copykey: 'dyn_merge_user_accounts_conflicts.title',
106
+ heading: t('dyn_merge_user_accounts_conflicts.title'),
107
+ },
100
108
  'mfa-choose-device': {
101
109
  copykey: 'dyn_mfa.choose_device_view.title',
102
110
  heading: t('dyn_mfa.choose_device_view.title'),
@@ -93,6 +93,14 @@ const useDynamicLayoutData = ({ view, authMode, }) => {
93
93
  copykey: 'dyn_login.title.wallet_only',
94
94
  heading: t('dyn_login.title.wallet_only'),
95
95
  },
96
+ 'merge-user-accounts': {
97
+ copykey: 'dyn_merge_user_accounts.same_wallet.title',
98
+ heading: t('dyn_merge_user_accounts.same_wallet.title'),
99
+ },
100
+ 'merge-user-accounts-conflicts': {
101
+ copykey: 'dyn_merge_user_accounts_conflicts.title',
102
+ heading: t('dyn_merge_user_accounts_conflicts.title'),
103
+ },
96
104
  'mfa-choose-device': {
97
105
  copykey: 'dyn_mfa.choose_device_view.title',
98
106
  heading: t('dyn_mfa.choose_device_view.title'),
@@ -77,16 +77,16 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useDyna
77
77
  // This hook can be used to get all of the user's scopes (nft/token gates)
78
78
  // and check if the user has a specific scopes with some logic AND/OR (nft/token gate)
79
79
  const useDynamicScopes = () => {
80
- const { decodedAuthToken } = useInternalDynamicContext.useInternalDynamicContext();
80
+ const { user } = useInternalDynamicContext.useInternalDynamicContext();
81
81
  const userScopes = React.useMemo(() => {
82
- const { scope } = decodedAuthToken || {};
82
+ const { scope } = user || {};
83
83
  if (!scope)
84
84
  return [];
85
85
  // We need to split the scopes string into an array of scopes
86
86
  // because the scopes string is a space separated string of scopes
87
87
  // e.g. '"scope": "customerservice marketing tech"'
88
88
  return scope.split(' ');
89
- }, [decodedAuthToken]);
89
+ }, [user]);
90
90
  // If customer will set scopes to an empty string it will return false
91
91
  const userHasScopes = (scopes, logicOperator = 'OR') => {
92
92
  if (!scopes.length)
@@ -73,16 +73,16 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDy
73
73
  // This hook can be used to get all of the user's scopes (nft/token gates)
74
74
  // and check if the user has a specific scopes with some logic AND/OR (nft/token gate)
75
75
  const useDynamicScopes = () => {
76
- const { decodedAuthToken } = useInternalDynamicContext();
76
+ const { user } = useInternalDynamicContext();
77
77
  const userScopes = useMemo(() => {
78
- const { scope } = decodedAuthToken || {};
78
+ const { scope } = user || {};
79
79
  if (!scope)
80
80
  return [];
81
81
  // We need to split the scopes string into an array of scopes
82
82
  // because the scopes string is a space separated string of scopes
83
83
  // e.g. '"scope": "customerservice marketing tech"'
84
84
  return scope.split(' ');
85
- }, [decodedAuthToken]);
85
+ }, [user]);
86
86
  // If customer will set scopes to an empty string it will return false
87
87
  const userHasScopes = (scopes, logicOperator = 'OR') => {
88
88
  if (!scopes.length)
@@ -5,26 +5,41 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var React = require('react');
7
7
 
8
- const useElementById = (elementId = 'dynamic-modal') => {
9
- const modalRootElement = React.useRef(null);
10
- if (typeof window !== 'undefined') {
11
- modalRootElement.current = window.document.getElementById(elementId);
8
+ const useElementById = () => {
9
+ const targetElement = React.useRef(null);
10
+ const createRootElement = (elementId = 'dynamic-modal', parentElementId) => {
11
+ if (typeof window === 'undefined')
12
+ return targetElement;
13
+ const isElementCreated = window.document.getElementById(elementId);
14
+ if (isElementCreated) {
15
+ targetElement.current = isElementCreated;
16
+ return targetElement;
17
+ }
18
+ const parentElement = parentElementId
19
+ ? window.document.getElementById(parentElementId)
20
+ : undefined;
12
21
  // creates div and attaches it to the body
13
- if (!modalRootElement.current) {
14
- modalRootElement.current = window.document.createElement('div');
15
- modalRootElement.current.setAttribute('id', elementId);
16
- modalRootElement.current.setAttribute('class', elementId);
17
- modalRootElement.current.setAttribute('data-testid', elementId);
18
- /**
19
- * Setting the pointer-events to auto is necessary to allow the user to interact with the modal
20
- * when other packages that use a modal set the pointer-events to none on the body element.
21
- * For example: https://reservoir.tools/ use chakra-ui and sets the pointer-events to none on the body element.
22
- */
23
- modalRootElement.current.style.pointerEvents = 'auto';
24
- window.document.body.appendChild(modalRootElement.current);
22
+ targetElement.current = window.document.createElement('div');
23
+ targetElement.current.setAttribute('id', elementId);
24
+ targetElement.current.setAttribute('class', elementId);
25
+ targetElement.current.setAttribute('data-testid', elementId);
26
+ /**
27
+ * Setting the pointer-events to auto is necessary to allow the user to interact with the modal
28
+ * when other packages that use a modal set the pointer-events to none on the body element.
29
+ * For example: https://reservoir.tools/ use chakra-ui and sets the pointer-events to none on the body element.
30
+ */
31
+ targetElement.current.style.pointerEvents = 'auto';
32
+ if (parentElement) {
33
+ parentElement.appendChild(targetElement.current);
34
+ }
35
+ else {
36
+ window.document.body.appendChild(targetElement.current);
25
37
  }
26
- }
27
- return modalRootElement;
38
+ return targetElement;
39
+ };
40
+ return {
41
+ createRootElement,
42
+ };
28
43
  };
29
44
 
30
45
  exports.useElementById = useElementById;
@@ -1,2 +1,4 @@
1
1
  import React from 'react';
2
- export declare const useElementById: (elementId?: string) => React.MutableRefObject<HTMLElement>;
2
+ export declare const useElementById: () => {
3
+ createRootElement: (elementId?: string, parentElementId?: string) => React.MutableRefObject<HTMLElement>;
4
+ };
@@ -1,26 +1,41 @@
1
1
  'use client'
2
2
  import { useRef } from 'react';
3
3
 
4
- const useElementById = (elementId = 'dynamic-modal') => {
5
- const modalRootElement = useRef(null);
6
- if (typeof window !== 'undefined') {
7
- modalRootElement.current = window.document.getElementById(elementId);
4
+ const useElementById = () => {
5
+ const targetElement = useRef(null);
6
+ const createRootElement = (elementId = 'dynamic-modal', parentElementId) => {
7
+ if (typeof window === 'undefined')
8
+ return targetElement;
9
+ const isElementCreated = window.document.getElementById(elementId);
10
+ if (isElementCreated) {
11
+ targetElement.current = isElementCreated;
12
+ return targetElement;
13
+ }
14
+ const parentElement = parentElementId
15
+ ? window.document.getElementById(parentElementId)
16
+ : undefined;
8
17
  // creates div and attaches it to the body
9
- if (!modalRootElement.current) {
10
- modalRootElement.current = window.document.createElement('div');
11
- modalRootElement.current.setAttribute('id', elementId);
12
- modalRootElement.current.setAttribute('class', elementId);
13
- modalRootElement.current.setAttribute('data-testid', elementId);
14
- /**
15
- * Setting the pointer-events to auto is necessary to allow the user to interact with the modal
16
- * when other packages that use a modal set the pointer-events to none on the body element.
17
- * For example: https://reservoir.tools/ use chakra-ui and sets the pointer-events to none on the body element.
18
- */
19
- modalRootElement.current.style.pointerEvents = 'auto';
20
- window.document.body.appendChild(modalRootElement.current);
18
+ targetElement.current = window.document.createElement('div');
19
+ targetElement.current.setAttribute('id', elementId);
20
+ targetElement.current.setAttribute('class', elementId);
21
+ targetElement.current.setAttribute('data-testid', elementId);
22
+ /**
23
+ * Setting the pointer-events to auto is necessary to allow the user to interact with the modal
24
+ * when other packages that use a modal set the pointer-events to none on the body element.
25
+ * For example: https://reservoir.tools/ use chakra-ui and sets the pointer-events to none on the body element.
26
+ */
27
+ targetElement.current.style.pointerEvents = 'auto';
28
+ if (parentElement) {
29
+ parentElement.appendChild(targetElement.current);
30
+ }
31
+ else {
32
+ window.document.body.appendChild(targetElement.current);
21
33
  }
22
- }
23
- return modalRootElement;
34
+ return targetElement;
35
+ };
36
+ return {
37
+ createRootElement,
38
+ };
24
39
  };
25
40
 
26
41
  export { useElementById };
@@ -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,27 +89,32 @@ 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
96
  /**
99
- * @deprecated - Use this from the useMPCEmbeddedWallet hook instead.
97
+ * Creates Dynamic embedded wallet according to the settings
98
+ * @param chains - array of chains to create the wallet for
99
+ * @param options - options for the wallet creation
100
100
  */
101
- const createPassword = React.useCallback((showIntro) => _tslib.__awaiter(void 0, void 0, void 0, function* () { return internalCreatePassword(showIntro); }), [internalCreatePassword]);
102
- const createEmbeddedWallet = React.useCallback((chain) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
103
- if (yield canCreateMPCWallet(chain)) {
104
- const wallet = yield createCoinbaseMPCWallet(chain);
101
+ const createEmbeddedWallet = React.useCallback((chains, options) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
102
+ if (yield canCreateMPCWallet(chains)) {
103
+ const wallet = yield createCoinbaseMPCWallet(chains);
105
104
  return wallet;
106
105
  }
107
- const wallet = yield createTurnkeyEmbeddedWallet(chain);
106
+ const wallet = yield createTurnkeyEmbeddedWallet(chains, options);
108
107
  return wallet;
109
108
  }), [canCreateMPCWallet, createCoinbaseMPCWallet, createTurnkeyEmbeddedWallet]);
110
109
  return {
111
110
  createEmbeddedWallet,
111
+ createOrRestoreSession,
112
+ createPasskey,
112
113
  createPassword,
114
+ getPasskeys,
113
115
  isLoadingEmbeddedWallet,
116
+ isSessionActive,
117
+ sendOneTimeCode,
114
118
  userHasEmbeddedWallet,
115
119
  };
116
120
  };
@@ -1,4 +1,5 @@
1
1
  import { ChainEnum } from '@dynamic-labs/sdk-api-core';
2
+ import { WebAuthnAttestation } from '@dynamic-labs/wallet-connector-core';
2
3
  import { Wallet } from '../../../shared';
3
4
  /**
4
5
  * @returns {
@@ -9,8 +10,19 @@ import { Wallet } from '../../../shared';
9
10
  * }
10
11
  */
11
12
  export declare const useEmbeddedWallet: () => {
12
- readonly createEmbeddedWallet: (chain?: ChainEnum) => Promise<Wallet | undefined>;
13
- readonly createPassword: (showIntro?: boolean) => Promise<string>;
13
+ readonly createEmbeddedWallet: (chains?: ChainEnum[], options?: {
14
+ webAuthnAttestation: WebAuthnAttestation;
15
+ }) => Promise<Wallet | undefined>;
16
+ readonly createOrRestoreSession: ({ oneTimeCode }: {
17
+ oneTimeCode?: string | undefined;
18
+ }) => Promise<string>;
19
+ readonly createPasskey: ({ oneTimeCode, }: {
20
+ oneTimeCode?: string | undefined;
21
+ }) => Promise<WebAuthnAttestation>;
22
+ readonly createPassword: (showIntro?: boolean | undefined) => Promise<string>;
23
+ readonly getPasskeys: () => Promise<import("@dynamic-labs/sdk-api-core").UserPasskey[]>;
14
24
  readonly isLoadingEmbeddedWallet: boolean;
25
+ readonly isSessionActive: boolean;
26
+ readonly sendOneTimeCode: () => Promise<string>;
15
27
  readonly userHasEmbeddedWallet: () => boolean;
16
28
  };
@@ -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,27 +85,32 @@ 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
92
  /**
95
- * @deprecated - Use this from the useMPCEmbeddedWallet hook instead.
93
+ * Creates Dynamic embedded wallet according to the settings
94
+ * @param chains - array of chains to create the wallet for
95
+ * @param options - options for the wallet creation
96
96
  */
97
- const createPassword = useCallback((showIntro) => __awaiter(void 0, void 0, void 0, function* () { return internalCreatePassword(showIntro); }), [internalCreatePassword]);
98
- const createEmbeddedWallet = useCallback((chain) => __awaiter(void 0, void 0, void 0, function* () {
99
- if (yield canCreateMPCWallet(chain)) {
100
- const wallet = yield createCoinbaseMPCWallet(chain);
97
+ const createEmbeddedWallet = useCallback((chains, options) => __awaiter(void 0, void 0, void 0, function* () {
98
+ if (yield canCreateMPCWallet(chains)) {
99
+ const wallet = yield createCoinbaseMPCWallet(chains);
101
100
  return wallet;
102
101
  }
103
- const wallet = yield createTurnkeyEmbeddedWallet(chain);
102
+ const wallet = yield createTurnkeyEmbeddedWallet(chains, options);
104
103
  return wallet;
105
104
  }), [canCreateMPCWallet, createCoinbaseMPCWallet, createTurnkeyEmbeddedWallet]);
106
105
  return {
107
106
  createEmbeddedWallet,
107
+ createOrRestoreSession,
108
+ createPasskey,
108
109
  createPassword,
110
+ getPasskeys,
109
111
  isLoadingEmbeddedWallet,
112
+ isSessionActive,
113
+ sendOneTimeCode,
110
114
  userHasEmbeddedWallet,
111
115
  };
112
116
  };
@@ -128,7 +128,7 @@ const useCoinbaseMPC = () => {
128
128
  setPrimaryWalletId(newSelectedCredentialWallet.id);
129
129
  setUser(user);
130
130
  connector.setVerifiedCredentials(user.verifiedCredentials);
131
- return newSelectedCredentialWallet;
131
+ return { authToken: response === null || response === void 0 ? void 0 : response.jwt, newSelectedCredentialWallet };
132
132
  }), [
133
133
  appName,
134
134
  consumeNonce,
@@ -147,7 +147,7 @@ const useCoinbaseMPC = () => {
147
147
  : sdkApiCore.PasswordSourceTypeEnum.Dynamic;
148
148
  try {
149
149
  const backupCode = yield connector.generateWallet(source, initialWalletPassword);
150
- const jwtVerifiedCredential = yield linkCoinbaseMPCWallet({
150
+ const { authToken, newSelectedCredentialWallet } = yield linkCoinbaseMPCWallet({
151
151
  backupCode,
152
152
  connector,
153
153
  jwt,
@@ -160,9 +160,9 @@ const useCoinbaseMPC = () => {
160
160
  chain: (connector === null || connector === void 0 ? void 0 : connector.connectedChain) || '',
161
161
  connected: true,
162
162
  connector,
163
- id: jwtVerifiedCredential.id,
163
+ id: newSelectedCredentialWallet.id,
164
164
  };
165
- dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet, jwtVerifiedCredential);
165
+ dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet, newSelectedCredentialWallet, authToken);
166
166
  return coinbaseMPCWallet;
167
167
  }
168
168
  catch (error) {
@@ -175,7 +175,7 @@ const useCoinbaseMPC = () => {
175
175
  }
176
176
  return undefined;
177
177
  }), [linkCoinbaseMPCWallet, handleLogOut, setError]);
178
- const createCoinbaseMPCWallet = React.useCallback((jwt_1, decodedJwt_1, ...args_1) => _tslib.__awaiter(void 0, [jwt_1, decodedJwt_1, ...args_1], void 0, function* (jwt, decodedJwt, chain = sdkApiCore.ChainEnum.Evm, password) {
178
+ const createCoinbaseMPCWallet = React.useCallback((jwt_1, decodedJwt_1, ...args_1) => _tslib.__awaiter(void 0, [jwt_1, decodedJwt_1, ...args_1], void 0, function* (jwt, decodedJwt, chains = [sdkApiCore.ChainEnum.Evm], password) {
179
179
  var _b;
180
180
  const connector = (_b = findCoinbaseMPCWallet.findCoinbaseMPCWallet(walletConnectorOptions)) === null || _b === void 0 ? void 0 : _b.walletConnector;
181
181
  if (!connector || !walletConnectorCore.isCoinbaseMpcWalletConnector(connector)) {
@@ -193,7 +193,7 @@ const useCoinbaseMPC = () => {
193
193
  if (fetchAuthToken) {
194
194
  connector.setAuthTokenFetcher(fetchAuthToken);
195
195
  }
196
- const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt, chain);
196
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt, chains);
197
197
  // if user already has embedded wallet, set it as primary wallet and return
198
198
  if (embeddedWalletVerifiedCredential) {
199
199
  return returnExistingCoinbaseMPCWallet(connector, decodedJwt, embeddedWalletVerifiedCredential);
@@ -1,5 +1,5 @@
1
1
  import { ChainEnum, DynamicJwt } from '@dynamic-labs/sdk-api-core';
2
2
  import { Wallet } from '../../../../../shared';
3
3
  export declare const useCoinbaseMPC: () => {
4
- createCoinbaseMPCWallet: (jwt: string, decodedJwt: DynamicJwt, chain?: ChainEnum, password?: string) => Promise<Wallet | undefined>;
4
+ createCoinbaseMPCWallet: (jwt: string, decodedJwt: DynamicJwt, chains?: ChainEnum[], password?: string) => Promise<Wallet | undefined>;
5
5
  };