@dynamic-labs/sdk-react-core 1.1.0-alpha.7 → 1.1.0-alpha.9

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 (159) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +12 -11
  5. package/src/index.cjs +4 -2
  6. package/src/index.js +2 -1
  7. package/src/lib/Main.cjs +4 -5
  8. package/src/lib/Main.js +4 -5
  9. package/src/lib/components/ChainCard/ChainCard.d.ts +2 -2
  10. package/src/lib/components/SelectWalletChainLayout/SelectWalletChainLayout.cjs +5 -1
  11. package/src/lib/components/SelectWalletChainLayout/SelectWalletChainLayout.js +5 -1
  12. package/src/lib/components/Toggle/Toggle.cjs +14 -0
  13. package/src/lib/components/Toggle/Toggle.d.ts +7 -0
  14. package/src/lib/components/Toggle/Toggle.js +10 -0
  15. package/src/lib/components/Toggle/index.d.ts +1 -0
  16. package/src/lib/context/DynamicContext/DynamicContext.cjs +42 -34
  17. package/src/lib/context/DynamicContext/DynamicContext.js +43 -35
  18. package/src/lib/context/DynamicContext/hooks/index.d.ts +1 -1
  19. package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModal/index.d.ts +1 -0
  20. package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.cjs +48 -0
  21. package/src/lib/context/DynamicContext/hooks/{useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.d.ts → useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.d.ts} +4 -7
  22. package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.js +44 -0
  23. package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/index.d.ts +1 -0
  24. package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/useShowAuthFlow.cjs +59 -0
  25. package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/useShowAuthFlow.d.ts +37 -0
  26. package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/useShowAuthFlow.js +55 -0
  27. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +1 -0
  28. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +1 -0
  29. package/src/lib/context/DynamicContext/types/index.d.ts +11 -7
  30. package/src/lib/context/DynamicContext/useDynamicContext.cjs +8 -2
  31. package/src/lib/context/DynamicContext/useDynamicContext.d.ts +4 -1
  32. package/src/lib/context/DynamicContext/useDynamicContext.js +8 -2
  33. package/src/lib/context/FundingContext/FundingContext.cjs +4 -1
  34. package/src/lib/context/FundingContext/FundingContext.js +4 -1
  35. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +1 -1
  36. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +1 -1
  37. package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
  38. package/src/lib/events/dynamicEvents.d.ts +3 -0
  39. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +2 -2
  40. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +2 -2
  41. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.cjs +5 -5
  42. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.js +5 -5
  43. package/src/lib/locale/en/translation.cjs +18 -2
  44. package/src/lib/locale/en/translation.d.ts +17 -1
  45. package/src/lib/locale/en/translation.js +18 -2
  46. package/src/lib/shared/assets/alt-key.cjs +54 -0
  47. package/src/lib/shared/assets/alt-key.js +30 -0
  48. package/src/lib/shared/assets/index.d.ts +1 -0
  49. package/src/lib/shared/types/index.d.ts +3 -0
  50. package/src/lib/styles/index.shadow.cjs +1 -1
  51. package/src/lib/styles/index.shadow.js +1 -1
  52. package/src/lib/utils/functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.cjs +2 -4
  53. package/src/lib/utils/functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.js +2 -4
  54. package/src/lib/utils/functions/walletListBuilder/utils/filterConnectedWallets/filterConnectedWallets.cjs +13 -2
  55. package/src/lib/utils/functions/walletListBuilder/utils/filterConnectedWallets/filterConnectedWallets.js +13 -2
  56. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.cjs +3 -3
  57. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.js +4 -4
  58. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +1 -1
  59. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +1 -1
  60. package/src/lib/utils/hooks/index.d.ts +1 -0
  61. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +3 -2
  62. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +6 -1
  63. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +3 -2
  64. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -1
  65. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -1
  66. package/src/lib/utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.cjs +3 -3
  67. package/src/lib/utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.js +3 -3
  68. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +1 -1
  69. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +2 -2
  70. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +1 -1
  71. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +2 -2
  72. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +2 -2
  73. package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.cjs +23 -13
  74. package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.d.ts +1 -1
  75. package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.js +23 -13
  76. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +9 -6
  77. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +9 -6
  78. package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs +5 -3
  79. package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js +5 -3
  80. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +6 -8
  81. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +6 -8
  82. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +1 -1
  83. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +1 -1
  84. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.cjs +8 -5
  85. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.js +8 -5
  86. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +2 -2
  87. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +2 -2
  88. package/src/lib/utils/hooks/useWalletConnectorNetwork/index.d.ts +1 -0
  89. package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.cjs +42 -0
  90. package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.d.ts +18 -0
  91. package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.js +38 -0
  92. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +2 -2
  93. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +2 -2
  94. package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.cjs +5 -2
  95. package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.js +5 -2
  96. package/src/lib/views/BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.cjs +1 -1
  97. package/src/lib/views/BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.js +1 -1
  98. package/src/lib/views/BridgeSummaryView/BridgeSummaryView.cjs +1 -1
  99. package/src/lib/views/BridgeSummaryView/BridgeSummaryView.js +1 -1
  100. package/src/lib/views/BridgeWelcomeView/BridgeWelcomeView.cjs +1 -1
  101. package/src/lib/views/BridgeWelcomeView/BridgeWelcomeView.js +1 -1
  102. package/src/lib/views/EmailVerification/EmailVerification.cjs +1 -1
  103. package/src/lib/views/EmailVerification/EmailVerification.js +1 -1
  104. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +20 -18
  105. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +20 -18
  106. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +55 -30
  107. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.d.ts +7 -1
  108. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +55 -31
  109. package/src/lib/views/LoginView/LoginView.cjs +60 -7
  110. package/src/lib/views/LoginView/LoginView.js +60 -7
  111. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +1 -1
  112. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +1 -1
  113. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +3 -4
  114. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +3 -4
  115. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +3 -6
  116. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +3 -6
  117. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +1 -1
  118. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +1 -1
  119. package/src/lib/views/QrCodeView/QRCode.cjs +2 -3
  120. package/src/lib/views/QrCodeView/QRCode.js +2 -3
  121. package/src/lib/views/WalletGroupView/WalletGroupView.cjs +72 -1
  122. package/src/lib/views/WalletGroupView/WalletGroupView.js +73 -2
  123. package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/HardwareWalletToggle.cjs +74 -0
  124. package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/HardwareWalletToggle.d.ts +7 -0
  125. package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/HardwareWalletToggle.js +70 -0
  126. package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/index.d.ts +1 -0
  127. package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.cjs +2 -4
  128. package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.d.ts +2 -1
  129. package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.js +2 -4
  130. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +5 -5
  131. package/src/lib/views/WalletUsedView/WalletUsedView.js +5 -5
  132. package/src/lib/views/viewToComponentMap.cjs +1 -0
  133. package/src/lib/views/viewToComponentMap.js +1 -0
  134. package/src/lib/widgets/DynamicBridgeWidget/views/EditProfileView/EditProfileView.cjs +6 -3
  135. package/src/lib/widgets/DynamicBridgeWidget/views/EditProfileView/EditProfileView.js +6 -3
  136. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.cjs +76 -0
  137. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.d.ts +9 -0
  138. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.js +72 -0
  139. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/index.d.ts +1 -0
  140. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.cjs +67 -0
  141. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.d.ts +9 -0
  142. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.js +63 -0
  143. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/index.d.ts +1 -0
  144. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +9 -8
  145. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +9 -8
  146. package/src/lib/widgets/DynamicWidget/hooks/useFetchBalance/useFetchBalance.cjs +66 -21
  147. package/src/lib/widgets/DynamicWidget/hooks/useFetchBalance/useFetchBalance.d.ts +1 -1
  148. package/src/lib/widgets/DynamicWidget/hooks/useFetchBalance/useFetchBalance.js +67 -22
  149. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +2 -2
  150. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +2 -2
  151. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +7 -3
  152. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +7 -3
  153. package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.cjs +8 -6
  154. package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.js +8 -6
  155. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +2 -2
  156. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +2 -2
  157. package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/index.d.ts +0 -1
  158. package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.cjs +0 -33
  159. package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.js +0 -29
@@ -32,8 +32,8 @@ const initExport = ({ iframeContainer, iframeElementId, wallet, }) => _tslib.__a
32
32
  }
33
33
  return turnkeyExportHandler;
34
34
  });
35
- const exportCredential = ({ authToken, userEmail, wallet, environmentId, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
36
- var _b, _c;
35
+ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
36
+ var _a, _b;
37
37
  if (!authToken) {
38
38
  throw new utils.DynamicError('User must be logged in');
39
39
  }
@@ -48,7 +48,7 @@ const exportCredential = ({ authToken, userEmail, wallet, environmentId, }) => _
48
48
  }
49
49
  const connector = wallet.connector;
50
50
  connector.setEmail(userEmail);
51
- const walletProperties = (_c = (_b = decodedJwt.verifiedCredentials) === null || _b === void 0 ? void 0 : _b.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _c === void 0 ? void 0 : _c.walletProperties;
51
+ const walletProperties = (_b = (_a = decodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _b === void 0 ? void 0 : _b.walletProperties;
52
52
  const turnkeyHDWalletId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyHDWalletId;
53
53
  const privateKeyId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyPrivateKeyId;
54
54
  const organizationId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeySubOrganizationId;
@@ -56,59 +56,84 @@ const exportCredential = ({ authToken, userEmail, wallet, environmentId, }) => _
56
56
  (turnkeyHDWalletId === undefined && privateKeyId === undefined)) {
57
57
  throw new utils.DynamicError('Invalid token!');
58
58
  }
59
+ return {
60
+ connector,
61
+ organizationId,
62
+ privateKeyId,
63
+ turnkeyHDWalletId,
64
+ };
65
+ };
66
+ const extractExportBundle = ({ address, privateKeyId, activity, }) => {
67
+ var _a, _b, _c;
68
+ const exportWalletResult = address
69
+ ? (_a = activity.result) === null || _a === void 0 ? void 0 : _a.exportWalletAccountResult
70
+ : (_b = activity.result) === null || _b === void 0 ? void 0 : _b.exportWalletResult;
71
+ const result = privateKeyId
72
+ ? (_c = activity.result) === null || _c === void 0 ? void 0 : _c.exportPrivateKeyResult
73
+ : exportWalletResult;
74
+ return result === null || result === void 0 ? void 0 : result.exportBundle;
75
+ };
76
+ const exportCredential = ({ authToken, userEmail, wallet, environmentId, address, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
77
+ const { connector, turnkeyHDWalletId, privateKeyId, organizationId } = handleExportInitCheck({
78
+ authToken,
79
+ userEmail,
80
+ wallet,
81
+ });
59
82
  const turnkeyExportHandler = connector.getExportHandler();
60
83
  const targetPublicKey = turnkeyExportHandler.publicKey;
61
84
  if (!targetPublicKey) {
62
85
  throw new utils.DynamicError('Must initialize export first');
63
86
  }
64
87
  // calls turnkey export api
88
+ let newActivity;
65
89
  if (turnkeyHDWalletId) {
66
- const newActivity = yield turnkeyExportHandler.exportWallet({
90
+ newActivity = yield turnkeyExportHandler.exportWallet({
91
+ address,
67
92
  organizationId,
68
93
  walletId: turnkeyHDWalletId,
69
94
  });
70
- const activityId = newActivity.id;
71
- const res = yield api.exportEmbeddedWallet({
72
- activityId,
73
- environmentId,
74
- userJwt: authToken,
75
- walletId: wallet.id,
76
- });
77
- const exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
78
- if (!exportBundle) {
79
- throw new utils.DynamicError('Invalid export response');
80
- }
81
- const injected = yield turnkeyExportHandler.verifyExportWallet(exportBundle);
82
- return injected;
83
95
  }
84
96
  else if (privateKeyId) {
85
- const newActivity = yield turnkeyExportHandler.exportPrivateKey({
97
+ newActivity = yield turnkeyExportHandler.exportPrivateKey({
86
98
  organizationId,
87
99
  privateKeyId,
88
100
  });
89
- const activityId = newActivity.id;
101
+ }
102
+ const activityId = newActivity.id;
103
+ const activityStatus = newActivity.status;
104
+ let exportBundle;
105
+ if (activityStatus === 'ACTIVITY_STATUS_COMPLETED') {
106
+ exportBundle = extractExportBundle({
107
+ activity: newActivity,
108
+ address,
109
+ privateKeyId,
110
+ });
111
+ }
112
+ else {
90
113
  const res = yield api.exportEmbeddedWallet({
91
114
  activityId,
92
115
  environmentId,
93
- userJwt: authToken,
94
- walletId: wallet.id,
116
+ userJwt: authToken || '',
117
+ walletId: (wallet === null || wallet === void 0 ? void 0 : wallet.id) || '',
95
118
  });
96
- const exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
97
- if (!exportBundle) {
98
- throw new utils.DynamicError('Invalid export response');
99
- }
100
- const injected = yield turnkeyExportHandler.verifyExportPrivateKey(exportBundle);
101
- return injected;
119
+ exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
120
+ }
121
+ if (!exportBundle) {
122
+ throw new utils.DynamicError('Invalid export response');
123
+ }
124
+ if (address || privateKeyId) {
125
+ return turnkeyExportHandler.verifyExportPrivateKey(exportBundle);
102
126
  }
103
- throw new utils.DynamicError('Invalid token!');
127
+ return turnkeyExportHandler.verifyExportWallet(exportBundle);
104
128
  });
105
129
  const cleanupExport = ({ wallet }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
106
- var _d;
130
+ var _b;
107
131
  const connector = wallet === null || wallet === void 0 ? void 0 : wallet.connector;
108
132
  // clear iframeStamper and its reference
109
- (_d = connector === null || connector === void 0 ? void 0 : connector.getExportHandler()) === null || _d === void 0 ? void 0 : _d.clear();
133
+ (_b = connector === null || connector === void 0 ? void 0 : connector.getExportHandler()) === null || _b === void 0 ? void 0 : _b.clear();
110
134
  });
111
135
 
112
136
  exports.cleanupExport = cleanupExport;
113
137
  exports.exportCredential = exportCredential;
138
+ exports.extractExportBundle = extractExportBundle;
114
139
  exports.initExport = initExport;
@@ -4,11 +4,17 @@ export declare const initExport: ({ iframeContainer, iframeElementId, wallet, }:
4
4
  iframeElementId: string;
5
5
  wallet: Wallet | null;
6
6
  }) => Promise<import("@dynamic-labs/wallet-connector-core").ExportHandler>;
7
- export declare const exportCredential: ({ authToken, userEmail, wallet, environmentId, }: {
7
+ export declare const extractExportBundle: ({ address, privateKeyId, activity, }: {
8
+ address?: string | undefined;
9
+ privateKeyId?: string | undefined;
10
+ activity: any;
11
+ }) => any;
12
+ export declare const exportCredential: ({ authToken, userEmail, wallet, environmentId, address, }: {
8
13
  authToken: string | undefined;
9
14
  userEmail: string | undefined;
10
15
  wallet: Wallet | null;
11
16
  environmentId: string;
17
+ address?: string | undefined;
12
18
  }) => Promise<unknown>;
13
19
  export declare const cleanupExport: ({ wallet }: {
14
20
  wallet: Wallet | null;
@@ -28,8 +28,8 @@ const initExport = ({ iframeContainer, iframeElementId, wallet, }) => __awaiter(
28
28
  }
29
29
  return turnkeyExportHandler;
30
30
  });
31
- const exportCredential = ({ authToken, userEmail, wallet, environmentId, }) => __awaiter(void 0, void 0, void 0, function* () {
32
- var _b, _c;
31
+ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
32
+ var _a, _b;
33
33
  if (!authToken) {
34
34
  throw new DynamicError('User must be logged in');
35
35
  }
@@ -44,7 +44,7 @@ const exportCredential = ({ authToken, userEmail, wallet, environmentId, }) => _
44
44
  }
45
45
  const connector = wallet.connector;
46
46
  connector.setEmail(userEmail);
47
- const walletProperties = (_c = (_b = decodedJwt.verifiedCredentials) === null || _b === void 0 ? void 0 : _b.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _c === void 0 ? void 0 : _c.walletProperties;
47
+ const walletProperties = (_b = (_a = decodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _b === void 0 ? void 0 : _b.walletProperties;
48
48
  const turnkeyHDWalletId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyHDWalletId;
49
49
  const privateKeyId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyPrivateKeyId;
50
50
  const organizationId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeySubOrganizationId;
@@ -52,57 +52,81 @@ const exportCredential = ({ authToken, userEmail, wallet, environmentId, }) => _
52
52
  (turnkeyHDWalletId === undefined && privateKeyId === undefined)) {
53
53
  throw new DynamicError('Invalid token!');
54
54
  }
55
+ return {
56
+ connector,
57
+ organizationId,
58
+ privateKeyId,
59
+ turnkeyHDWalletId,
60
+ };
61
+ };
62
+ const extractExportBundle = ({ address, privateKeyId, activity, }) => {
63
+ var _a, _b, _c;
64
+ const exportWalletResult = address
65
+ ? (_a = activity.result) === null || _a === void 0 ? void 0 : _a.exportWalletAccountResult
66
+ : (_b = activity.result) === null || _b === void 0 ? void 0 : _b.exportWalletResult;
67
+ const result = privateKeyId
68
+ ? (_c = activity.result) === null || _c === void 0 ? void 0 : _c.exportPrivateKeyResult
69
+ : exportWalletResult;
70
+ return result === null || result === void 0 ? void 0 : result.exportBundle;
71
+ };
72
+ const exportCredential = ({ authToken, userEmail, wallet, environmentId, address, }) => __awaiter(void 0, void 0, void 0, function* () {
73
+ const { connector, turnkeyHDWalletId, privateKeyId, organizationId } = handleExportInitCheck({
74
+ authToken,
75
+ userEmail,
76
+ wallet,
77
+ });
55
78
  const turnkeyExportHandler = connector.getExportHandler();
56
79
  const targetPublicKey = turnkeyExportHandler.publicKey;
57
80
  if (!targetPublicKey) {
58
81
  throw new DynamicError('Must initialize export first');
59
82
  }
60
83
  // calls turnkey export api
84
+ let newActivity;
61
85
  if (turnkeyHDWalletId) {
62
- const newActivity = yield turnkeyExportHandler.exportWallet({
86
+ newActivity = yield turnkeyExportHandler.exportWallet({
87
+ address,
63
88
  organizationId,
64
89
  walletId: turnkeyHDWalletId,
65
90
  });
66
- const activityId = newActivity.id;
67
- const res = yield exportEmbeddedWallet({
68
- activityId,
69
- environmentId,
70
- userJwt: authToken,
71
- walletId: wallet.id,
72
- });
73
- const exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
74
- if (!exportBundle) {
75
- throw new DynamicError('Invalid export response');
76
- }
77
- const injected = yield turnkeyExportHandler.verifyExportWallet(exportBundle);
78
- return injected;
79
91
  }
80
92
  else if (privateKeyId) {
81
- const newActivity = yield turnkeyExportHandler.exportPrivateKey({
93
+ newActivity = yield turnkeyExportHandler.exportPrivateKey({
82
94
  organizationId,
83
95
  privateKeyId,
84
96
  });
85
- const activityId = newActivity.id;
97
+ }
98
+ const activityId = newActivity.id;
99
+ const activityStatus = newActivity.status;
100
+ let exportBundle;
101
+ if (activityStatus === 'ACTIVITY_STATUS_COMPLETED') {
102
+ exportBundle = extractExportBundle({
103
+ activity: newActivity,
104
+ address,
105
+ privateKeyId,
106
+ });
107
+ }
108
+ else {
86
109
  const res = yield exportEmbeddedWallet({
87
110
  activityId,
88
111
  environmentId,
89
- userJwt: authToken,
90
- walletId: wallet.id,
112
+ userJwt: authToken || '',
113
+ walletId: (wallet === null || wallet === void 0 ? void 0 : wallet.id) || '',
91
114
  });
92
- const exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
93
- if (!exportBundle) {
94
- throw new DynamicError('Invalid export response');
95
- }
96
- const injected = yield turnkeyExportHandler.verifyExportPrivateKey(exportBundle);
97
- return injected;
115
+ exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
116
+ }
117
+ if (!exportBundle) {
118
+ throw new DynamicError('Invalid export response');
119
+ }
120
+ if (address || privateKeyId) {
121
+ return turnkeyExportHandler.verifyExportPrivateKey(exportBundle);
98
122
  }
99
- throw new DynamicError('Invalid token!');
123
+ return turnkeyExportHandler.verifyExportWallet(exportBundle);
100
124
  });
101
125
  const cleanupExport = ({ wallet }) => __awaiter(void 0, void 0, void 0, function* () {
102
- var _d;
126
+ var _b;
103
127
  const connector = wallet === null || wallet === void 0 ? void 0 : wallet.connector;
104
128
  // clear iframeStamper and its reference
105
- (_d = connector === null || connector === void 0 ? void 0 : connector.getExportHandler()) === null || _d === void 0 ? void 0 : _d.clear();
129
+ (_b = connector === null || connector === void 0 ? void 0 : connector.getExportHandler()) === null || _b === void 0 ? void 0 : _b.clear();
106
130
  });
107
131
 
108
- export { cleanupExport, exportCredential, initExport };
132
+ export { cleanupExport, exportCredential, extractExportBundle, initExport };
@@ -12,6 +12,57 @@ var LoadingContext = require('../../context/LoadingContext/LoadingContext.cjs');
12
12
  var classNames = require('../../utils/functions/classNames/classNames.cjs');
13
13
  var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
14
14
  var WalletList = require('../WalletList/WalletList.cjs');
15
+ require('../../events/dynamicEvents.cjs');
16
+ require('@dynamic-labs/utils');
17
+ require('../../context/DynamicContext/DynamicContext.cjs');
18
+ require('@dynamic-labs/wallet-connector-core');
19
+ require('../../context/CaptchaContext/CaptchaContext.cjs');
20
+ require('../../shared/logger.cjs');
21
+ require('@dynamic-labs/iconic');
22
+ require('@dynamic-labs/wallet-book');
23
+ require('../../utils/constants/colors.cjs');
24
+ require('../../shared/utils/classes/storage/localStorage.cjs');
25
+ require('viem');
26
+ require('../../shared/consts/index.cjs');
27
+ require('@dynamic-labs/multi-wallet');
28
+ require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
29
+ require('../../context/AccountExistsContext/AccountExistsContext.cjs');
30
+ require('../../config/ApiEndpoint.cjs');
31
+ require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
32
+ require('react-dom');
33
+ require('../../context/ThemeContext/ThemeContext.cjs');
34
+ require('@dynamic-labs/types');
35
+ require('yup');
36
+ require('react-i18next');
37
+ require('../../context/MockContext/MockContext.cjs');
38
+ require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
39
+ require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
40
+ require('@dynamic-labs/rpc-providers');
41
+ require('../../context/UserWalletsContext/UserWalletsContext.cjs');
42
+ require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
43
+ require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
44
+ require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
45
+ require('../../components/ShadowDOM/ShadowDOM.cjs');
46
+ require('../../components/OverlayCard/OverlayCard.context.cjs');
47
+ require('../../context/FooterAnimationContext/index.cjs');
48
+ require('../../context/QrCodeContext/QrCodeContext.cjs');
49
+ var Typography = require('../../components/Typography/Typography.cjs');
50
+ require('../../context/WalletGroupContext/WalletGroupContext.cjs');
51
+ require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
52
+ require('react-focus-lock');
53
+ require('qrcode');
54
+ require('i18next');
55
+ require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
56
+ require('../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
57
+ require('formik');
58
+ require('../../components/IconButton/IconButton.cjs');
59
+ require('../../components/Alert/Alert.cjs');
60
+ require('@dynamic-labs/viem-utils');
61
+ require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
62
+ require('../../components/InlineWidget/InlineWidget.cjs');
63
+ require('../../components/MenuList/Dropdown/Dropdown.cjs');
64
+ require('../../components/Popper/Popper/Popper.cjs');
65
+ require('../../components/Popper/PopperContext/PopperContext.cjs');
15
66
  var LoginEmailForm = require('./sections/EmailSignInSection/LoginEmailForm.cjs');
16
67
  var WalletSignInSection = require('./sections/WalletSignInSection/WalletSignInSection.cjs');
17
68
  var SocialSignInSection = require('./sections/SocialSignInSection/SocialSignInSection.cjs');
@@ -45,17 +96,19 @@ const LoginView = () => {
45
96
  const numOfWallets = ((_a = logingViewSections.find((section) => section.type === sdkApi.SdkViewSectionType.Wallet)) === null || _a === void 0 ? void 0 : _a.numOfItemsToDisplay) || 0;
46
97
  const renderViewSections = React.useMemo(() => logingViewSections.map((viewSection, index) => {
47
98
  switch (viewSection.type) {
48
- case 'separator':
99
+ case sdkApi.SdkViewSectionType.Separator:
49
100
  return (jsxRuntime.jsx(Divider.Divider, { text: viewSection.label }, `${viewSection.type}_${index}`));
50
- case 'email':
101
+ case sdkApi.SdkViewSectionType.Email:
51
102
  return (jsxRuntime.jsx(LoginEmailForm.LoginEmailForm, { onSubmit: () => setIsLoading(true), onSubmitError: () => setIsLoading(false), isLoading: isLoading }, `${viewSection.type}_${index}`));
52
- case 'wallet':
103
+ case sdkApi.SdkViewSectionType.Wallet:
53
104
  return (jsxRuntime.jsx(WalletSignInSection.WalletSignInSection, { numberOfItensToShow: viewSection.numOfItemsToDisplay || 0, onSubmit: () => {
54
105
  setView('login-with-email-or-wallet-full-wallet-list'); // this view is just to show the back button
55
106
  setShowWalletList(true);
56
107
  }, isLoading: isLoading }, `${viewSection.type}_${index}`));
57
- case 'social':
108
+ case sdkApi.SdkViewSectionType.Social:
58
109
  return (jsxRuntime.jsx(SocialSignInSection.SocialSignInSection, { collapsedLayout: numOfWallets > 1, sectionData: viewSection }, `${viewSection.type}_${index}`));
110
+ case sdkApi.SdkViewSectionType.Text:
111
+ return (jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'secondary', align: viewSection.alignment, className: 'login-view__text', children: viewSection.label }, `${viewSection.type}_${index}`));
59
112
  default:
60
113
  return null;
61
114
  }
@@ -63,9 +116,9 @@ const LoginView = () => {
63
116
  if (showWalletList) {
64
117
  return jsxRuntime.jsx(WalletList.WalletList, {});
65
118
  }
66
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [error && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { className: 'login-with-email__error-container', withIcon: false, children: error })), jsxRuntime.jsx("div", { className: classNames.classNames('login-with-email__container', {
67
- 'login-with-email__container--error': Boolean(error),
68
- }), children: jsxRuntime.jsx("div", { className: 'login-with-email__scroll', "data-testid": 'login-with-email-scroll', children: renderViewSections }) })] }));
119
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [error && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { className: 'login-view__error-container', withIcon: false, children: error })), jsxRuntime.jsx("div", { className: classNames.classNames('login-view__container', {
120
+ 'login-view__container--error': Boolean(error),
121
+ }), children: jsxRuntime.jsx("div", { className: 'login-view__scroll', "data-testid": 'login-view-scroll', children: renderViewSections }) })] }));
69
122
  };
70
123
 
71
124
  exports.LoginView = LoginView;
@@ -8,6 +8,57 @@ import { useLoadingContext } from '../../context/LoadingContext/LoadingContext.j
8
8
  import { classNames } from '../../utils/functions/classNames/classNames.js';
9
9
  import { useViewContext } from '../../context/ViewContext/ViewContext.js';
10
10
  import { WalletList } from '../WalletList/WalletList.js';
11
+ import '../../events/dynamicEvents.js';
12
+ import '@dynamic-labs/utils';
13
+ import '../../context/DynamicContext/DynamicContext.js';
14
+ import '@dynamic-labs/wallet-connector-core';
15
+ import '../../context/CaptchaContext/CaptchaContext.js';
16
+ import '../../shared/logger.js';
17
+ import '@dynamic-labs/iconic';
18
+ import '@dynamic-labs/wallet-book';
19
+ import '../../utils/constants/colors.js';
20
+ import '../../shared/utils/classes/storage/localStorage.js';
21
+ import 'viem';
22
+ import '../../shared/consts/index.js';
23
+ import '@dynamic-labs/multi-wallet';
24
+ import '../../context/AccessDeniedContext/AccessDeniedContext.js';
25
+ import '../../context/AccountExistsContext/AccountExistsContext.js';
26
+ import '../../config/ApiEndpoint.js';
27
+ import '../../context/EmailVerificationContext/EmailVerificationContext.js';
28
+ import 'react-dom';
29
+ import '../../context/ThemeContext/ThemeContext.js';
30
+ import '@dynamic-labs/types';
31
+ import 'yup';
32
+ import 'react-i18next';
33
+ import '../../context/MockContext/MockContext.js';
34
+ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
35
+ import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
36
+ import '@dynamic-labs/rpc-providers';
37
+ import '../../context/UserWalletsContext/UserWalletsContext.js';
38
+ import '../../components/Transition/ZoomTransition/ZoomTransition.js';
39
+ import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
40
+ import '../../components/Transition/OpacityTransition/OpacityTransition.js';
41
+ import '../../components/ShadowDOM/ShadowDOM.js';
42
+ import '../../components/OverlayCard/OverlayCard.context.js';
43
+ import '../../context/FooterAnimationContext/index.js';
44
+ import '../../context/QrCodeContext/QrCodeContext.js';
45
+ import { Typography } from '../../components/Typography/Typography.js';
46
+ import '../../context/WalletGroupContext/WalletGroupContext.js';
47
+ import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
48
+ import 'react-focus-lock';
49
+ import 'qrcode';
50
+ import 'i18next';
51
+ import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
52
+ import '../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
53
+ import 'formik';
54
+ import '../../components/IconButton/IconButton.js';
55
+ import '../../components/Alert/Alert.js';
56
+ import '@dynamic-labs/viem-utils';
57
+ import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
58
+ import '../../components/InlineWidget/InlineWidget.js';
59
+ import '../../components/MenuList/Dropdown/Dropdown.js';
60
+ import '../../components/Popper/Popper/Popper.js';
61
+ import '../../components/Popper/PopperContext/PopperContext.js';
11
62
  import { LoginEmailForm } from './sections/EmailSignInSection/LoginEmailForm.js';
12
63
  import { WalletSignInSection } from './sections/WalletSignInSection/WalletSignInSection.js';
13
64
  import { SocialSignInSection } from './sections/SocialSignInSection/SocialSignInSection.js';
@@ -41,17 +92,19 @@ const LoginView = () => {
41
92
  const numOfWallets = ((_a = logingViewSections.find((section) => section.type === SdkViewSectionType.Wallet)) === null || _a === void 0 ? void 0 : _a.numOfItemsToDisplay) || 0;
42
93
  const renderViewSections = useMemo(() => logingViewSections.map((viewSection, index) => {
43
94
  switch (viewSection.type) {
44
- case 'separator':
95
+ case SdkViewSectionType.Separator:
45
96
  return (jsx(Divider, { text: viewSection.label }, `${viewSection.type}_${index}`));
46
- case 'email':
97
+ case SdkViewSectionType.Email:
47
98
  return (jsx(LoginEmailForm, { onSubmit: () => setIsLoading(true), onSubmitError: () => setIsLoading(false), isLoading: isLoading }, `${viewSection.type}_${index}`));
48
- case 'wallet':
99
+ case SdkViewSectionType.Wallet:
49
100
  return (jsx(WalletSignInSection, { numberOfItensToShow: viewSection.numOfItemsToDisplay || 0, onSubmit: () => {
50
101
  setView('login-with-email-or-wallet-full-wallet-list'); // this view is just to show the back button
51
102
  setShowWalletList(true);
52
103
  }, isLoading: isLoading }, `${viewSection.type}_${index}`));
53
- case 'social':
104
+ case SdkViewSectionType.Social:
54
105
  return (jsx(SocialSignInSection, { collapsedLayout: numOfWallets > 1, sectionData: viewSection }, `${viewSection.type}_${index}`));
106
+ case SdkViewSectionType.Text:
107
+ return (jsx(Typography, { variant: 'body_normal', color: 'secondary', align: viewSection.alignment, className: 'login-view__text', children: viewSection.label }, `${viewSection.type}_${index}`));
55
108
  default:
56
109
  return null;
57
110
  }
@@ -59,9 +112,9 @@ const LoginView = () => {
59
112
  if (showWalletList) {
60
113
  return jsx(WalletList, {});
61
114
  }
62
- return (jsxs(Fragment, { children: [error && (jsx(ErrorContainer, { className: 'login-with-email__error-container', withIcon: false, children: error })), jsx("div", { className: classNames('login-with-email__container', {
63
- 'login-with-email__container--error': Boolean(error),
64
- }), children: jsx("div", { className: 'login-with-email__scroll', "data-testid": 'login-with-email-scroll', children: renderViewSections }) })] }));
115
+ return (jsxs(Fragment, { children: [error && (jsx(ErrorContainer, { className: 'login-view__error-container', withIcon: false, children: error })), jsx("div", { className: classNames('login-view__container', {
116
+ 'login-view__container--error': Boolean(error),
117
+ }), children: jsx("div", { className: 'login-view__scroll', "data-testid": 'login-view-scroll', children: renderViewSections }) })] }));
65
118
  };
66
119
 
67
120
  export { LoginView };
@@ -102,7 +102,7 @@ const MergeUserAccountsView = () => {
102
102
  catch (e) {
103
103
  setError(t('dyn_merge_user_accounts.errors.merge_error'));
104
104
  if (user) {
105
- setShowAuthFlow(false);
105
+ setShowAuthFlow(false, { emitCancelAuth: true });
106
106
  return;
107
107
  }
108
108
  goToInitialView();
@@ -98,7 +98,7 @@ const MergeUserAccountsView = () => {
98
98
  catch (e) {
99
99
  setError(t('dyn_merge_user_accounts.errors.merge_error'));
100
100
  if (user) {
101
- setShowAuthFlow(false);
101
+ setShowAuthFlow(false, { emitCancelAuth: true });
102
102
  return;
103
103
  }
104
104
  goToInitialView();
@@ -31,7 +31,6 @@ require('../../context/CaptchaContext/CaptchaContext.cjs');
31
31
  require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
32
32
  require('react-dom');
33
33
  require('../../context/ThemeContext/ThemeContext.cjs');
34
- var usePromise = require('../../utils/hooks/usePromise/usePromise.cjs');
35
34
  require('@dynamic-labs/types');
36
35
  require('yup');
37
36
  require('../../context/MockContext/MockContext.cjs');
@@ -61,6 +60,7 @@ require('../../components/IconButton/IconButton.cjs');
61
60
  require('../../components/Alert/Alert.cjs');
62
61
  require('@dynamic-labs/viem-utils');
63
62
  require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
63
+ var useWalletConnectorNetwork = require('../../utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.cjs');
64
64
  require('../../components/InlineWidget/InlineWidget.cjs');
65
65
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
66
66
  require('../../components/Popper/Popper/Popper.cjs');
@@ -70,10 +70,9 @@ var UserAddress = require('../../components/UserAddress/UserAddress.cjs');
70
70
  var SelectNetworkButton = require('../../components/SelectNetworkButton/SelectNetworkButton.cjs');
71
71
 
72
72
  const NetworkNotSupported = () => {
73
- const { onboardingImageUrl, selectedWalletConnector: walletConnector, connectedWallets, primaryWallet, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext.useInternalDynamicContext();
73
+ const { onboardingImageUrl, selectedWalletConnector: walletConnector, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext.useInternalDynamicContext();
74
74
  const { t } = reactI18next.useTranslation();
75
- // Refresh selectedWalletConnector network when primaryWallet or connectedWallets updates
76
- const { data: walletConnectorNetwork } = usePromise.usePromise(() => walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.getNetwork(), { deps: [primaryWallet, walletConnector, connectedWallets] });
75
+ const { network: walletConnectorNetwork } = useWalletConnectorNetwork.useWalletConnectorNetwork(walletConnector);
77
76
  const finishConnectAndSign = useConnectAndSign.useConnectAndSign({
78
77
  shouldCallCallback: false,
79
78
  shouldUpdateWallets: !isFullyConnected ||
@@ -27,7 +27,6 @@ import '../../context/CaptchaContext/CaptchaContext.js';
27
27
  import '../../context/EmailVerificationContext/EmailVerificationContext.js';
28
28
  import 'react-dom';
29
29
  import '../../context/ThemeContext/ThemeContext.js';
30
- import { usePromise } from '../../utils/hooks/usePromise/usePromise.js';
31
30
  import '@dynamic-labs/types';
32
31
  import 'yup';
33
32
  import '../../context/MockContext/MockContext.js';
@@ -57,6 +56,7 @@ import '../../components/IconButton/IconButton.js';
57
56
  import '../../components/Alert/Alert.js';
58
57
  import '@dynamic-labs/viem-utils';
59
58
  import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
59
+ import { useWalletConnectorNetwork } from '../../utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.js';
60
60
  import '../../components/InlineWidget/InlineWidget.js';
61
61
  import '../../components/MenuList/Dropdown/Dropdown.js';
62
62
  import '../../components/Popper/Popper/Popper.js';
@@ -66,10 +66,9 @@ import { UserAddress } from '../../components/UserAddress/UserAddress.js';
66
66
  import { SelectNetworkButton } from '../../components/SelectNetworkButton/SelectNetworkButton.js';
67
67
 
68
68
  const NetworkNotSupported = () => {
69
- const { onboardingImageUrl, selectedWalletConnector: walletConnector, connectedWallets, primaryWallet, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext();
69
+ const { onboardingImageUrl, selectedWalletConnector: walletConnector, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext();
70
70
  const { t } = useTranslation();
71
- // Refresh selectedWalletConnector network when primaryWallet or connectedWallets updates
72
- const { data: walletConnectorNetwork } = usePromise(() => walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.getNetwork(), { deps: [primaryWallet, walletConnector, connectedWallets] });
71
+ const { network: walletConnectorNetwork } = useWalletConnectorNetwork(walletConnector);
73
72
  const finishConnectAndSign = useConnectAndSign({
74
73
  shouldCallCallback: false,
75
74
  shouldUpdateWallets: !isFullyConnected ||
@@ -31,7 +31,6 @@ require('../../context/CaptchaContext/CaptchaContext.cjs');
31
31
  require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
32
32
  require('react-dom');
33
33
  require('../../context/ThemeContext/ThemeContext.cjs');
34
- var usePromise = require('../../utils/hooks/usePromise/usePromise.cjs');
35
34
  require('@dynamic-labs/types');
36
35
  require('yup');
37
36
  require('../../context/MockContext/MockContext.cjs');
@@ -61,6 +60,7 @@ require('../../components/IconButton/IconButton.cjs');
61
60
  require('../../components/Alert/Alert.cjs');
62
61
  require('@dynamic-labs/viem-utils');
63
62
  require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
63
+ var useWalletConnectorNetwork = require('../../utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.cjs');
64
64
  require('../../components/InlineWidget/InlineWidget.cjs');
65
65
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
66
66
  require('../../components/Popper/Popper/Popper.cjs');
@@ -70,12 +70,9 @@ require('../../components/Popper/PopperContext/PopperContext.cjs');
70
70
  // as the wallet does not support programmatic network change.
71
71
  const NetworkNotSupportedSwitchManual = () => {
72
72
  var _a, _b;
73
- const { user, selectedWalletConnector: walletConnector, connectedWallets, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext.useInternalDynamicContext();
73
+ const { user, selectedWalletConnector: walletConnector, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext.useInternalDynamicContext();
74
74
  const { t } = reactI18next.useTranslation();
75
- // Refresh selectedWalletConnector network when primaryWallet or connectedWallets updates
76
- const { data: walletConnectorNetwork } = usePromise.usePromise(() => walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.getNetwork(), {
77
- deps: [walletConnector, connectedWallets],
78
- });
75
+ const { network: walletConnectorNetwork } = useWalletConnectorNetwork.useWalletConnectorNetwork(walletConnector);
79
76
  const finishConnectAndSign = useConnectAndSign.useConnectAndSign({
80
77
  shouldCallCallback: false,
81
78
  shouldUpdateWallets: !isFullyConnected ||
@@ -27,7 +27,6 @@ import '../../context/CaptchaContext/CaptchaContext.js';
27
27
  import '../../context/EmailVerificationContext/EmailVerificationContext.js';
28
28
  import 'react-dom';
29
29
  import '../../context/ThemeContext/ThemeContext.js';
30
- import { usePromise } from '../../utils/hooks/usePromise/usePromise.js';
31
30
  import '@dynamic-labs/types';
32
31
  import 'yup';
33
32
  import '../../context/MockContext/MockContext.js';
@@ -57,6 +56,7 @@ import '../../components/IconButton/IconButton.js';
57
56
  import '../../components/Alert/Alert.js';
58
57
  import '@dynamic-labs/viem-utils';
59
58
  import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
59
+ import { useWalletConnectorNetwork } from '../../utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.js';
60
60
  import '../../components/InlineWidget/InlineWidget.js';
61
61
  import '../../components/MenuList/Dropdown/Dropdown.js';
62
62
  import '../../components/Popper/Popper/Popper.js';
@@ -66,12 +66,9 @@ import '../../components/Popper/PopperContext/PopperContext.js';
66
66
  // as the wallet does not support programmatic network change.
67
67
  const NetworkNotSupportedSwitchManual = () => {
68
68
  var _a, _b;
69
- const { user, selectedWalletConnector: walletConnector, connectedWallets, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext();
69
+ const { user, selectedWalletConnector: walletConnector, isFullyConnected, setShowAuthFlow, bridgeChainsToConnect, } = useInternalDynamicContext();
70
70
  const { t } = useTranslation();
71
- // Refresh selectedWalletConnector network when primaryWallet or connectedWallets updates
72
- const { data: walletConnectorNetwork } = usePromise(() => walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.getNetwork(), {
73
- deps: [walletConnector, connectedWallets],
74
- });
71
+ const { network: walletConnectorNetwork } = useWalletConnectorNetwork(walletConnector);
75
72
  const finishConnectAndSign = useConnectAndSign({
76
73
  shouldCallCallback: false,
77
74
  shouldUpdateWallets: !isFullyConnected ||
@@ -113,7 +113,7 @@ const PasskeyInitRecovery = () => {
113
113
  const translationKey = isTurnkeyWalletWithoutAuthenticator
114
114
  ? 'dyn_passkey_secure_modal'
115
115
  : 'dyn_passkey_recovery';
116
- const closeButton = (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: () => setShowAuthFlow(false), "data-testid": 'close-button', children: jsxRuntime.jsx(close.ReactComponent, {}) }));
116
+ const closeButton = (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: () => setShowAuthFlow(false, { emitCancelAuth: true }), "data-testid": 'close-button', children: jsxRuntime.jsx(close.ReactComponent, {}) }));
117
117
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { trailing: closeButton, children: jsxRuntime.jsx(Typography.Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', children: t(`${translationKey}.start.title`) }) }), jsxRuntime.jsxs("div", { className: 'passkey-recovery-view', children: [jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: EmailIcon, isSpinning: isLoading, iconSize: 96 }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'passkey-recovery-view__subtitle', children: t(`${translationKey}.start.description`) }), errorText && jsxRuntime.jsx(ErrorContainer.ErrorContainer, { children: errorText }), jsxRuntime.jsx("div", { className: 'passkey-recovery-view__actions', children: jsxRuntime.jsx(Button.Button, { buttonPadding: 'large', dataTestId: 'passkey-recovery-button', onClick: () => initRecovery(), disabled: isLoading, showInternalLoading: false, children: jsxRuntime.jsx("div", { children: jsxRuntime.jsx(Typography.Typography, { children: t(`${translationKey}.start.start_button`) }) }) }) }), jsxRuntime.jsx(NeedHelpSection.NeedHelpSection, {})] })] }));
118
118
  };
119
119