@dynamic-labs/sdk-react-core 4.10.0 → 4.10.2

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 (92) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +11 -11
  5. package/src/api.d.ts +1 -0
  6. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +1 -1
  7. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +1 -1
  8. package/src/lib/components/DynamicSpinner/DynamicSpinner.d.ts +3 -0
  9. package/src/lib/components/DynamicSpinner/index.d.ts +1 -0
  10. package/src/lib/components/IconWithSpinner/IconWithSpinner.cjs +2 -5
  11. package/src/lib/components/IconWithSpinner/IconWithSpinner.d.ts +3 -3
  12. package/src/lib/components/IconWithSpinner/IconWithSpinner.js +2 -5
  13. package/src/lib/components/Popper/PopperContext/PopperContext.cjs +2 -2
  14. package/src/lib/components/Popper/PopperContext/PopperContext.d.ts +2 -1
  15. package/src/lib/components/Popper/PopperContext/PopperContext.js +2 -2
  16. package/src/lib/components/QrCodeWrapper/QrCodeWrapper.cjs +7 -7
  17. package/src/lib/components/QrCodeWrapper/QrCodeWrapper.js +7 -7
  18. package/src/lib/components/SocialSignIn/SocialSignIn.cjs +1 -1
  19. package/src/lib/components/SocialSignIn/SocialSignIn.js +1 -1
  20. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +8 -8
  21. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +8 -8
  22. package/src/lib/components/Typography/Typography.cjs +1 -0
  23. package/src/lib/components/Typography/Typography.js +1 -0
  24. package/src/lib/components/Typography/Typography.types.d.ts +1 -1
  25. package/src/lib/components/index.d.ts +8 -7
  26. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +4 -0
  27. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +4 -0
  28. package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.cjs +1 -1
  29. package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.js +1 -1
  30. package/src/lib/data/api/index.d.ts +1 -0
  31. package/src/lib/data/api/transactions/index.d.ts +1 -0
  32. package/src/lib/events/dynamicEvents.cjs +1 -0
  33. package/src/lib/events/dynamicEvents.d.ts +2 -2
  34. package/src/lib/events/dynamicEvents.js +1 -0
  35. package/src/lib/events/ui.d.ts +8 -0
  36. package/src/lib/main.global.cjs +1 -1
  37. package/src/lib/main.global.js +1 -1
  38. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +8 -8
  39. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +8 -8
  40. package/src/lib/shared/assets/index.d.ts +2 -1
  41. package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +6 -1
  42. package/src/lib/shared/types/wallets.d.ts +10 -0
  43. package/src/lib/styles/index.shadow.cjs +1 -1
  44. package/src/lib/styles/index.shadow.js +1 -1
  45. package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.d.ts +1 -1
  46. package/src/lib/utils/hooks/useMfa/useMfa.cjs +56 -39
  47. package/src/lib/utils/hooks/useMfa/useMfa.d.ts +5 -0
  48. package/src/lib/utils/hooks/useMfa/useMfa.js +57 -40
  49. package/src/lib/utils/hooks/useRefreshUser/useRefreshUser.cjs +23 -82
  50. package/src/lib/utils/hooks/useRefreshUser/useRefreshUser.js +23 -82
  51. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +1 -1
  52. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +1 -1
  53. package/src/lib/utils/hooks/useSocialAuth/farcaster/farcaster.cjs +13 -6
  54. package/src/lib/utils/hooks/useSocialAuth/farcaster/farcaster.d.ts +13 -3
  55. package/src/lib/utils/hooks/useSocialAuth/farcaster/farcaster.js +13 -6
  56. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +13 -12
  57. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +13 -12
  58. package/src/lib/utils/hooks/useSyncEmbeddedWalletFlow/useSyncEmbeddedWalletFlow.cjs +1 -1
  59. package/src/lib/utils/hooks/useSyncEmbeddedWalletFlow/useSyncEmbeddedWalletFlow.js +1 -1
  60. package/src/lib/utils/hooks/useSyncOnboardingFlow/useSyncOnboardingFlow.cjs +1 -1
  61. package/src/lib/utils/hooks/useSyncOnboardingFlow/useSyncOnboardingFlow.js +1 -1
  62. package/src/lib/utils/hooks/useTelegramLogin/useTelegramLogin.cjs +1 -1
  63. package/src/lib/utils/hooks/useTelegramLogin/useTelegramLogin.js +1 -1
  64. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +1 -1
  65. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +1 -1
  66. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.cjs +1 -1
  67. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.js +1 -1
  68. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.cjs +1 -1
  69. package/src/lib/views/MfaRecoveryView/MfaRecoveryView.js +1 -1
  70. package/src/lib/views/MfaVerificationView/MfaVerificationView.cjs +4 -4
  71. package/src/lib/views/MfaVerificationView/MfaVerificationView.js +4 -4
  72. package/src/lib/views/Passkey/PasskeyRecovery/AddRecoveryEmail/AddRecoveryEmail.cjs +1 -1
  73. package/src/lib/views/Passkey/PasskeyRecovery/AddRecoveryEmail/AddRecoveryEmail.js +1 -1
  74. package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.cjs +1 -1
  75. package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.js +1 -1
  76. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +1 -1
  77. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +1 -1
  78. package/src/lib/views/WalletList/hooks/useTabState.cjs +29 -4
  79. package/src/lib/views/WalletList/hooks/useTabState.d.ts +2 -2
  80. package/src/lib/views/WalletList/hooks/useTabState.js +30 -5
  81. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +1 -1
  82. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +1 -1
  83. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +1 -1
  84. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +1 -1
  85. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +1 -1
  86. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +1 -1
  87. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/AccountAndSecuritySettingsView.cjs +1 -1
  88. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/AccountAndSecuritySettingsView.js +1 -1
  89. package/src/lib/widgets/DynamicWidget/views/GlobalWalletView/GlobalWalletView.cjs +1 -1
  90. package/src/lib/widgets/DynamicWidget/views/GlobalWalletView/GlobalWalletView.js +1 -1
  91. package/src/lib/widgets/DynamicWidget/views/SettingsView/SettingsView.cjs +2 -2
  92. package/src/lib/widgets/DynamicWidget/views/SettingsView/SettingsView.js +2 -2
@@ -53,6 +53,7 @@ import '../../../store/state/walletOptions/walletOptions.js';
53
53
  import 'react-i18next';
54
54
  import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
55
55
  import '../../../components/Alert/Alert.js';
56
+ import '../../../context/WalletContext/WalletContext.js';
56
57
  import '../../../components/ShadowDOM/ShadowDOM.js';
57
58
  import '../../../components/IconButton/IconButton.js';
58
59
  import '../../../components/InlineWidget/InlineWidget.js';
@@ -68,7 +69,6 @@ import '../../../components/Popper/Popper/Popper.js';
68
69
  import '../../../components/Popper/PopperContext/PopperContext.js';
69
70
  import 'react-focus-lock';
70
71
  import 'qrcode';
71
- import '../../../context/WalletContext/WalletContext.js';
72
72
  import 'formik';
73
73
  import '../useSubdomainCheck/useSubdomainCheck.js';
74
74
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
@@ -56,8 +56,8 @@ const status = (connectStatusRequest_1, ...args_1) => _tslib.__awaiter(void 0, [
56
56
  return yield response.json();
57
57
  }
58
58
  catch (error) {
59
- logger.logger.warn(`Error fetching farcaster connect status trying again attempt: ${count}`, error);
60
- return { state: 'retry' };
59
+ logger.logger.warn(`Error fetching farcaster connect status, trying again. Attempt: ${count}`, error);
60
+ return { error: JSON.stringify(error), state: 'retry' };
61
61
  }
62
62
  });
63
63
  const watchStatus = (connectStatusRequest_2, ...args_2) => _tslib.__awaiter(void 0, [connectStatusRequest_2, ...args_2], void 0, function* (connectStatusRequest, { timeout = STATUS_TIMEOUT, interval = STATUS_INTERVAL } = {}) {
@@ -76,19 +76,26 @@ const watchStatus = (connectStatusRequest_2, ...args_2) => _tslib.__awaiter(void
76
76
  setTimeout(resolve, interval);
77
77
  };
78
78
  let count = 0;
79
+ let timeoutError = 'Unknown error';
79
80
  while (shouldPoll && Date.now() < deadline) {
80
81
  count++;
81
82
  const response = yield status(connectStatusRequest, count);
82
83
  if (response.state === 'completed') {
83
- return response;
84
+ return { data: response, type: 'success' };
84
85
  }
86
+ else if (response.state === 'retry') {
87
+ timeoutError = response.error;
88
+ }
89
+ // response.state === 'pending'
90
+ else
91
+ timeoutError = 'Timed out: Farcaster connection status still pending';
85
92
  yield new Promise(timeoutCallback);
86
93
  }
87
94
  if (!shouldPoll) {
88
- return 'cancelled';
95
+ return { type: 'cancelled' };
89
96
  }
90
- logger.logger.error(`Polling farcaster connect status timed out after ${STATUS_TIMEOUT}ms`);
91
- return 'timeout';
97
+ logger.logger.error(`Polling farcaster connect status timed out after ${timeout}ms`);
98
+ return { error: timeoutError, type: 'timeout' };
92
99
  });
93
100
 
94
101
  exports.connect = connect;
@@ -16,7 +16,7 @@ interface FarcasterConnectResponse {
16
16
  interface FarcasterConnectStatusRequest {
17
17
  channelToken: string;
18
18
  }
19
- interface FarcasterConnectStatusResponse {
19
+ interface FarcasterConnectStatusSuccessResponse {
20
20
  bio: string;
21
21
  custody: string;
22
22
  displayName: string;
@@ -28,12 +28,22 @@ interface FarcasterConnectStatusResponse {
28
28
  state: 'pending' | 'completed';
29
29
  username: string;
30
30
  }
31
+ type FarcasterConnectStatusResponse = {
32
+ type: 'success';
33
+ data: FarcasterConnectStatusSuccessResponse;
34
+ } | {
35
+ type: 'timeout';
36
+ error: string;
37
+ } | {
38
+ type: 'cancelled';
39
+ };
31
40
  export declare const connect: (connectRequest: FarcasterConnectRequest) => Promise<FarcasterConnectResponse | undefined>;
32
- export declare const status: (connectStatusRequest: FarcasterConnectStatusRequest, count?: number) => Promise<FarcasterConnectStatusResponse | {
41
+ export declare const status: (connectStatusRequest: FarcasterConnectStatusRequest, count?: number) => Promise<FarcasterConnectStatusSuccessResponse | {
42
+ error: string;
33
43
  state: 'retry';
34
44
  }>;
35
45
  export declare const watchStatus: (connectStatusRequest: FarcasterConnectStatusRequest, { timeout, interval }?: {
36
46
  timeout?: number | undefined;
37
47
  interval?: number | undefined;
38
- }) => Promise<FarcasterConnectStatusResponse | 'timeout' | 'rejected' | 'cancelled'>;
48
+ }) => Promise<FarcasterConnectStatusResponse>;
39
49
  export {};
@@ -52,8 +52,8 @@ const status = (connectStatusRequest_1, ...args_1) => __awaiter(void 0, [connect
52
52
  return yield response.json();
53
53
  }
54
54
  catch (error) {
55
- logger.warn(`Error fetching farcaster connect status trying again attempt: ${count}`, error);
56
- return { state: 'retry' };
55
+ logger.warn(`Error fetching farcaster connect status, trying again. Attempt: ${count}`, error);
56
+ return { error: JSON.stringify(error), state: 'retry' };
57
57
  }
58
58
  });
59
59
  const watchStatus = (connectStatusRequest_2, ...args_2) => __awaiter(void 0, [connectStatusRequest_2, ...args_2], void 0, function* (connectStatusRequest, { timeout = STATUS_TIMEOUT, interval = STATUS_INTERVAL } = {}) {
@@ -72,19 +72,26 @@ const watchStatus = (connectStatusRequest_2, ...args_2) => __awaiter(void 0, [co
72
72
  setTimeout(resolve, interval);
73
73
  };
74
74
  let count = 0;
75
+ let timeoutError = 'Unknown error';
75
76
  while (shouldPoll && Date.now() < deadline) {
76
77
  count++;
77
78
  const response = yield status(connectStatusRequest, count);
78
79
  if (response.state === 'completed') {
79
- return response;
80
+ return { data: response, type: 'success' };
80
81
  }
82
+ else if (response.state === 'retry') {
83
+ timeoutError = response.error;
84
+ }
85
+ // response.state === 'pending'
86
+ else
87
+ timeoutError = 'Timed out: Farcaster connection status still pending';
81
88
  yield new Promise(timeoutCallback);
82
89
  }
83
90
  if (!shouldPoll) {
84
- return 'cancelled';
91
+ return { type: 'cancelled' };
85
92
  }
86
- logger.error(`Polling farcaster connect status timed out after ${STATUS_TIMEOUT}ms`);
87
- return 'timeout';
93
+ logger.error(`Polling farcaster connect status timed out after ${timeout}ms`);
94
+ return { error: timeoutError, type: 'timeout' };
88
95
  });
89
96
 
90
97
  export { connect, status, watchStatus };
@@ -62,6 +62,7 @@ require('../../../store/state/walletOptions/walletOptions.cjs');
62
62
  require('react-i18next');
63
63
  require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
64
64
  require('../../../components/Alert/Alert.cjs');
65
+ require('../../../context/WalletContext/WalletContext.cjs');
65
66
  require('../../../components/ShadowDOM/ShadowDOM.cjs');
66
67
  require('../../../components/IconButton/IconButton.cjs');
67
68
  require('../../../components/InlineWidget/InlineWidget.cjs');
@@ -77,7 +78,6 @@ require('../../../components/Popper/Popper/Popper.cjs');
77
78
  require('../../../components/Popper/PopperContext/PopperContext.cjs');
78
79
  require('react-focus-lock');
79
80
  require('qrcode');
80
- require('../../../context/WalletContext/WalletContext.cjs');
81
81
  require('formik');
82
82
  require('../useSubdomainCheck/useSubdomainCheck.cjs');
83
83
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
@@ -292,24 +292,25 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
292
292
  setShowAuthFlow(true);
293
293
  onFarcasterUrl === null || onFarcasterUrl === void 0 ? void 0 : onFarcasterUrl(data.url);
294
294
  }
295
- const status = yield farcaster.watchStatus({
295
+ const statusResponse = yield farcaster.watchStatus({
296
296
  channelToken: data.channelToken,
297
297
  });
298
- if (status === 'cancelled') {
298
+ if (statusResponse.type === 'cancelled') {
299
299
  setIsProcessing(false);
300
300
  return;
301
301
  }
302
- // Error
303
- if (status === 'timeout' ||
304
- status === 'rejected' ||
305
- !(status === null || status === void 0 ? void 0 : status.message) ||
306
- !(status === null || status === void 0 ? void 0 : status.custody) ||
307
- !(status === null || status === void 0 ? void 0 : status.signature) ||
308
- !(status === null || status === void 0 ? void 0 : status.nonce)) {
309
- handleError(sdkApiCore.ProviderEnum.Farcaster, types.SocialOAuthErrorCode.GENERAL_ERROR, "Farcaster didn't return valid data.", { raiseAuthFailure: authMode === 'signin' });
302
+ if (statusResponse.type === 'timeout') {
303
+ handleError(sdkApiCore.ProviderEnum.Farcaster, types.SocialOAuthErrorCode.GENERAL_ERROR, `Farcaster timed out while waiting for connection status. Error: ${statusResponse.error}`, { raiseAuthFailure: authMode === 'signin' });
304
+ return;
305
+ }
306
+ if (!statusResponse.data.message ||
307
+ !statusResponse.data.custody ||
308
+ !statusResponse.data.signature ||
309
+ !statusResponse.data.nonce) {
310
+ handleError(sdkApiCore.ProviderEnum.Farcaster, types.SocialOAuthErrorCode.GENERAL_ERROR, `Farcaster returned invalid data. Expected to be defined: message, custody, signature, nonce. Received: ${JSON.stringify(statusResponse.data)}`, { raiseAuthFailure: authMode === 'signin' });
310
311
  return;
311
312
  }
312
- const { custody: address, message, signature, nonce: nonce$1 } = status;
313
+ const { custody: address, message, signature, nonce: nonce$1, } = statusResponse.data;
313
314
  if (authMode === 'signin') {
314
315
  let sessionPublicKey = undefined;
315
316
  if (shouldRegisterSessionKeysOnSignin()) {
@@ -58,6 +58,7 @@ import '../../../store/state/walletOptions/walletOptions.js';
58
58
  import 'react-i18next';
59
59
  import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
60
60
  import '../../../components/Alert/Alert.js';
61
+ import '../../../context/WalletContext/WalletContext.js';
61
62
  import '../../../components/ShadowDOM/ShadowDOM.js';
62
63
  import '../../../components/IconButton/IconButton.js';
63
64
  import '../../../components/InlineWidget/InlineWidget.js';
@@ -73,7 +74,6 @@ import '../../../components/Popper/Popper/Popper.js';
73
74
  import '../../../components/Popper/PopperContext/PopperContext.js';
74
75
  import 'react-focus-lock';
75
76
  import 'qrcode';
76
- import '../../../context/WalletContext/WalletContext.js';
77
77
  import 'formik';
78
78
  import '../useSubdomainCheck/useSubdomainCheck.js';
79
79
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
@@ -288,24 +288,25 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
288
288
  setShowAuthFlow(true);
289
289
  onFarcasterUrl === null || onFarcasterUrl === void 0 ? void 0 : onFarcasterUrl(data.url);
290
290
  }
291
- const status = yield watchStatus({
291
+ const statusResponse = yield watchStatus({
292
292
  channelToken: data.channelToken,
293
293
  });
294
- if (status === 'cancelled') {
294
+ if (statusResponse.type === 'cancelled') {
295
295
  setIsProcessing(false);
296
296
  return;
297
297
  }
298
- // Error
299
- if (status === 'timeout' ||
300
- status === 'rejected' ||
301
- !(status === null || status === void 0 ? void 0 : status.message) ||
302
- !(status === null || status === void 0 ? void 0 : status.custody) ||
303
- !(status === null || status === void 0 ? void 0 : status.signature) ||
304
- !(status === null || status === void 0 ? void 0 : status.nonce)) {
305
- handleError(ProviderEnum.Farcaster, SocialOAuthErrorCode.GENERAL_ERROR, "Farcaster didn't return valid data.", { raiseAuthFailure: authMode === 'signin' });
298
+ if (statusResponse.type === 'timeout') {
299
+ handleError(ProviderEnum.Farcaster, SocialOAuthErrorCode.GENERAL_ERROR, `Farcaster timed out while waiting for connection status. Error: ${statusResponse.error}`, { raiseAuthFailure: authMode === 'signin' });
300
+ return;
301
+ }
302
+ if (!statusResponse.data.message ||
303
+ !statusResponse.data.custody ||
304
+ !statusResponse.data.signature ||
305
+ !statusResponse.data.nonce) {
306
+ handleError(ProviderEnum.Farcaster, SocialOAuthErrorCode.GENERAL_ERROR, `Farcaster returned invalid data. Expected to be defined: message, custody, signature, nonce. Received: ${JSON.stringify(statusResponse.data)}`, { raiseAuthFailure: authMode === 'signin' });
306
307
  return;
307
308
  }
308
- const { custody: address, message, signature, nonce } = status;
309
+ const { custody: address, message, signature, nonce, } = statusResponse.data;
309
310
  if (authMode === 'signin') {
310
311
  let sessionPublicKey = undefined;
311
312
  if (shouldRegisterSessionKeysOnSignin()) {
@@ -57,6 +57,7 @@ require('../../../store/state/walletOptions/walletOptions.cjs');
57
57
  require('react-i18next');
58
58
  require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
59
59
  require('../../../components/Alert/Alert.cjs');
60
+ var WalletContext = require('../../../context/WalletContext/WalletContext.cjs');
60
61
  require('../../../components/ShadowDOM/ShadowDOM.cjs');
61
62
  require('../../../components/IconButton/IconButton.cjs');
62
63
  require('../../../components/InlineWidget/InlineWidget.cjs');
@@ -72,7 +73,6 @@ require('../../../components/Popper/Popper/Popper.cjs');
72
73
  require('../../../components/Popper/PopperContext/PopperContext.cjs');
73
74
  require('react-focus-lock');
74
75
  require('qrcode');
75
- var WalletContext = require('../../../context/WalletContext/WalletContext.cjs');
76
76
  require('formik');
77
77
  require('../useSubdomainCheck/useSubdomainCheck.cjs');
78
78
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
@@ -53,6 +53,7 @@ import '../../../store/state/walletOptions/walletOptions.js';
53
53
  import 'react-i18next';
54
54
  import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
55
55
  import '../../../components/Alert/Alert.js';
56
+ import { useWalletContext } from '../../../context/WalletContext/WalletContext.js';
56
57
  import '../../../components/ShadowDOM/ShadowDOM.js';
57
58
  import '../../../components/IconButton/IconButton.js';
58
59
  import '../../../components/InlineWidget/InlineWidget.js';
@@ -68,7 +69,6 @@ import '../../../components/Popper/Popper/Popper.js';
68
69
  import '../../../components/Popper/PopperContext/PopperContext.js';
69
70
  import 'react-focus-lock';
70
71
  import 'qrcode';
71
- import { useWalletContext } from '../../../context/WalletContext/WalletContext.js';
72
72
  import 'formik';
73
73
  import '../useSubdomainCheck/useSubdomainCheck.js';
74
74
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
@@ -56,6 +56,7 @@ require('../../../store/state/walletOptions/walletOptions.cjs');
56
56
  require('react-i18next');
57
57
  require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
58
58
  require('../../../components/Alert/Alert.cjs');
59
+ require('../../../context/WalletContext/WalletContext.cjs');
59
60
  require('../../../components/ShadowDOM/ShadowDOM.cjs');
60
61
  require('../../../components/IconButton/IconButton.cjs');
61
62
  require('../../../components/InlineWidget/InlineWidget.cjs');
@@ -71,7 +72,6 @@ require('../../../components/Popper/Popper/Popper.cjs');
71
72
  require('../../../components/Popper/PopperContext/PopperContext.cjs');
72
73
  require('react-focus-lock');
73
74
  require('qrcode');
74
- require('../../../context/WalletContext/WalletContext.cjs');
75
75
  require('formik');
76
76
  require('../useSubdomainCheck/useSubdomainCheck.cjs');
77
77
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
@@ -52,6 +52,7 @@ import '../../../store/state/walletOptions/walletOptions.js';
52
52
  import 'react-i18next';
53
53
  import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
54
54
  import '../../../components/Alert/Alert.js';
55
+ import '../../../context/WalletContext/WalletContext.js';
55
56
  import '../../../components/ShadowDOM/ShadowDOM.js';
56
57
  import '../../../components/IconButton/IconButton.js';
57
58
  import '../../../components/InlineWidget/InlineWidget.js';
@@ -67,7 +68,6 @@ import '../../../components/Popper/Popper/Popper.js';
67
68
  import '../../../components/Popper/PopperContext/PopperContext.js';
68
69
  import 'react-focus-lock';
69
70
  import 'qrcode';
70
- import '../../../context/WalletContext/WalletContext.js';
71
71
  import 'formik';
72
72
  import '../useSubdomainCheck/useSubdomainCheck.js';
73
73
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
@@ -55,6 +55,7 @@ require('../../../store/state/walletOptions/walletOptions.cjs');
55
55
  require('react-i18next');
56
56
  require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
57
57
  require('../../../components/Alert/Alert.cjs');
58
+ require('../../../context/WalletContext/WalletContext.cjs');
58
59
  require('../../../components/ShadowDOM/ShadowDOM.cjs');
59
60
  require('../../../components/IconButton/IconButton.cjs');
60
61
  require('../../../components/InlineWidget/InlineWidget.cjs');
@@ -70,7 +71,6 @@ require('../../../components/Popper/Popper/Popper.cjs');
70
71
  require('../../../components/Popper/PopperContext/PopperContext.cjs');
71
72
  require('react-focus-lock');
72
73
  require('qrcode');
73
- require('../../../context/WalletContext/WalletContext.cjs');
74
74
  require('formik');
75
75
  require('../useSubdomainCheck/useSubdomainCheck.cjs');
76
76
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
@@ -51,6 +51,7 @@ import '../../../store/state/walletOptions/walletOptions.js';
51
51
  import 'react-i18next';
52
52
  import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
53
53
  import '../../../components/Alert/Alert.js';
54
+ import '../../../context/WalletContext/WalletContext.js';
54
55
  import '../../../components/ShadowDOM/ShadowDOM.js';
55
56
  import '../../../components/IconButton/IconButton.js';
56
57
  import '../../../components/InlineWidget/InlineWidget.js';
@@ -66,7 +67,6 @@ import '../../../components/Popper/Popper/Popper.js';
66
67
  import '../../../components/Popper/PopperContext/PopperContext.js';
67
68
  import 'react-focus-lock';
68
69
  import 'qrcode';
69
- import '../../../context/WalletContext/WalletContext.js';
70
70
  import 'formik';
71
71
  import '../useSubdomainCheck/useSubdomainCheck.js';
72
72
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
@@ -62,6 +62,7 @@ require('../../../store/state/walletOptions/walletOptions.cjs');
62
62
  require('react-i18next');
63
63
  require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
64
64
  require('../../../components/Alert/Alert.cjs');
65
+ require('../../../context/WalletContext/WalletContext.cjs');
65
66
  require('../../../components/ShadowDOM/ShadowDOM.cjs');
66
67
  require('../../../components/IconButton/IconButton.cjs');
67
68
  require('../../../components/InlineWidget/InlineWidget.cjs');
@@ -77,7 +78,6 @@ require('../../../components/Popper/Popper/Popper.cjs');
77
78
  require('../../../components/Popper/PopperContext/PopperContext.cjs');
78
79
  require('react-focus-lock');
79
80
  require('qrcode');
80
- require('../../../context/WalletContext/WalletContext.cjs');
81
81
  require('formik');
82
82
  require('../useSubdomainCheck/useSubdomainCheck.cjs');
83
83
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
@@ -58,6 +58,7 @@ import '../../../store/state/walletOptions/walletOptions.js';
58
58
  import 'react-i18next';
59
59
  import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
60
60
  import '../../../components/Alert/Alert.js';
61
+ import '../../../context/WalletContext/WalletContext.js';
61
62
  import '../../../components/ShadowDOM/ShadowDOM.js';
62
63
  import '../../../components/IconButton/IconButton.js';
63
64
  import '../../../components/InlineWidget/InlineWidget.js';
@@ -73,7 +74,6 @@ import '../../../components/Popper/Popper/Popper.js';
73
74
  import '../../../components/Popper/PopperContext/PopperContext.js';
74
75
  import 'react-focus-lock';
75
76
  import 'qrcode';
76
- import '../../../context/WalletContext/WalletContext.js';
77
77
  import 'formik';
78
78
  import '../useSubdomainCheck/useSubdomainCheck.js';
79
79
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
@@ -92,11 +92,11 @@ require('../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSucces
92
92
  require('../../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
93
93
  require('../../../../store/state/tokenBalances.cjs');
94
94
  require('../../../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
95
+ var EmailForm = require('../../../../components/EmailForm/EmailForm.cjs');
95
96
  require('../../../../components/InlineWidget/InlineWidget.cjs');
96
97
  require('../../../../components/IsBrowser/IsBrowser.cjs');
97
98
  require('../../../../components/Popper/Popper/Popper.cjs');
98
99
  require('../../../../components/Popper/PopperContext/PopperContext.cjs');
99
- var EmailForm = require('../../../../components/EmailForm/EmailForm.cjs');
100
100
 
101
101
  const LoginEmailForm = ({ isLoading, onSubmit, onSubmitError, currentEmail, className, style, }) => {
102
102
  var _a;
@@ -88,11 +88,11 @@ import '../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccess
88
88
  import '../../../../store/state/connectorsInitializing/connectorsInitializing.js';
89
89
  import '../../../../store/state/tokenBalances.js';
90
90
  import '../../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
91
+ import { EmailForm } from '../../../../components/EmailForm/EmailForm.js';
91
92
  import '../../../../components/InlineWidget/InlineWidget.js';
92
93
  import '../../../../components/IsBrowser/IsBrowser.js';
93
94
  import '../../../../components/Popper/Popper/Popper.js';
94
95
  import '../../../../components/Popper/PopperContext/PopperContext.js';
95
- import { EmailForm } from '../../../../components/EmailForm/EmailForm.js';
96
96
 
97
97
  const LoginEmailForm = ({ isLoading, onSubmit, onSubmitError, currentEmail, className, style, }) => {
98
98
  var _a;
@@ -96,9 +96,9 @@ require('../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanne
96
96
  require('../../store/state/connectorsInitializing/connectorsInitializing.cjs');
97
97
  require('../../store/state/tokenBalances.cjs');
98
98
  require('../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
99
- var MfaRecoveryIcon = require('../../components/MfaRecoveryIcon/MfaRecoveryIcon.cjs');
100
99
  require('../../components/InlineWidget/InlineWidget.cjs');
101
100
  require('../../components/IsBrowser/IsBrowser.cjs');
101
+ var MfaRecoveryIcon = require('../../components/MfaRecoveryIcon/MfaRecoveryIcon.cjs');
102
102
  require('../../components/Popper/Popper/Popper.cjs');
103
103
  require('../../components/Popper/PopperContext/PopperContext.cjs');
104
104
 
@@ -92,9 +92,9 @@ import '../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner
92
92
  import '../../store/state/connectorsInitializing/connectorsInitializing.js';
93
93
  import '../../store/state/tokenBalances.js';
94
94
  import '../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
95
- import { MfaRecoveryScreenIcon } from '../../components/MfaRecoveryIcon/MfaRecoveryIcon.js';
96
95
  import '../../components/InlineWidget/InlineWidget.js';
97
96
  import '../../components/IsBrowser/IsBrowser.js';
97
+ import { MfaRecoveryScreenIcon } from '../../components/MfaRecoveryIcon/MfaRecoveryIcon.js';
98
98
  import '../../components/Popper/Popper/Popper.js';
99
99
  import '../../components/Popper/PopperContext/PopperContext.js';
100
100
 
@@ -102,14 +102,14 @@ require('../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
102
102
  const MfaVerificationView = ({ type, isInitialSetup = false, showBackButton = false, deviceId, }) => {
103
103
  const { t } = reactI18next.useTranslation();
104
104
  const { clearStackAndPush, pushView, goBack, canGoBack } = ViewContext.useViewContext();
105
- const { authDevice } = useMfa.useMfa();
105
+ const { authenticateDevice } = useMfa.useMfa();
106
106
  const [code, setCode] = React.useState('');
107
107
  const [error, setError] = React.useState();
108
108
  const [isRateLimited, setIsRateLimited] = React.useState(false);
109
- const { data: isValid, isLoading } = usePromise.usePromise(() => authDevice(code, type, deviceId), {
109
+ const { data: mfaToken, isLoading } = usePromise.usePromise(() => authenticateDevice({ code, deviceId, type }), {
110
110
  deps: [code],
111
111
  enabled: (code === null || code === void 0 ? void 0 : code.length) === 6,
112
- initialData: false,
112
+ initialData: undefined,
113
113
  onReject: (err) => {
114
114
  if (err instanceof utils.MfaRateLimitedError) {
115
115
  setIsRateLimited(true);
@@ -135,7 +135,7 @@ const MfaVerificationView = ({ type, isInitialSetup = false, showBackButton = fa
135
135
  setCode(code);
136
136
  };
137
137
  const onClickBack = canGoBack && showBackButton ? goBack : undefined;
138
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(OTPVerificationView.OTPVerificationView, { MainIcon: passwordHero.ReactComponent, error: error, isLoading: isLoading, onPinComplete: onSubmit, isValid: Boolean(isValid), onPinChange: onCodeChange, description: t('dyn_mfa.otp_verification_view.body'), onClickBack: onClickBack, disabled: isRateLimited }), !isInitialSetup && (jsxRuntime.jsx("div", { className: 'mfa-verification-view__choose-another-method', children: jsxRuntime.jsx(TextButton.TextButton, { className: 'mfa-verification-view__choose-another-method-button', onClick: () => pushView('mfa-choose-device', { isInitialSetup }), copykey: 'dyn_mfa.otp_verification_view.choose_another_method', children: t('dyn_mfa.otp_verification_view.choose_another_method') }) }))] }));
138
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(OTPVerificationView.OTPVerificationView, { MainIcon: passwordHero.ReactComponent, error: error, isLoading: isLoading, onPinComplete: onSubmit, isValid: Boolean(mfaToken), onPinChange: onCodeChange, description: t('dyn_mfa.otp_verification_view.body'), onClickBack: onClickBack, disabled: isRateLimited }), !isInitialSetup && (jsxRuntime.jsx("div", { className: 'mfa-verification-view__choose-another-method', children: jsxRuntime.jsx(TextButton.TextButton, { className: 'mfa-verification-view__choose-another-method-button', onClick: () => pushView('mfa-choose-device', { isInitialSetup }), copykey: 'dyn_mfa.otp_verification_view.choose_another_method', children: t('dyn_mfa.otp_verification_view.choose_another_method') }) }))] }));
139
139
  };
140
140
 
141
141
  exports.MfaVerificationView = MfaVerificationView;
@@ -98,14 +98,14 @@ import '../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
98
98
  const MfaVerificationView = ({ type, isInitialSetup = false, showBackButton = false, deviceId, }) => {
99
99
  const { t } = useTranslation();
100
100
  const { clearStackAndPush, pushView, goBack, canGoBack } = useViewContext();
101
- const { authDevice } = useMfa();
101
+ const { authenticateDevice } = useMfa();
102
102
  const [code, setCode] = useState('');
103
103
  const [error, setError] = useState();
104
104
  const [isRateLimited, setIsRateLimited] = useState(false);
105
- const { data: isValid, isLoading } = usePromise(() => authDevice(code, type, deviceId), {
105
+ const { data: mfaToken, isLoading } = usePromise(() => authenticateDevice({ code, deviceId, type }), {
106
106
  deps: [code],
107
107
  enabled: (code === null || code === void 0 ? void 0 : code.length) === 6,
108
- initialData: false,
108
+ initialData: undefined,
109
109
  onReject: (err) => {
110
110
  if (err instanceof MfaRateLimitedError) {
111
111
  setIsRateLimited(true);
@@ -131,7 +131,7 @@ const MfaVerificationView = ({ type, isInitialSetup = false, showBackButton = fa
131
131
  setCode(code);
132
132
  };
133
133
  const onClickBack = canGoBack && showBackButton ? goBack : undefined;
134
- return (jsxs(Fragment, { children: [jsx(OTPVerificationView, { MainIcon: SvgPasswordHero, error: error, isLoading: isLoading, onPinComplete: onSubmit, isValid: Boolean(isValid), onPinChange: onCodeChange, description: t('dyn_mfa.otp_verification_view.body'), onClickBack: onClickBack, disabled: isRateLimited }), !isInitialSetup && (jsx("div", { className: 'mfa-verification-view__choose-another-method', children: jsx(TextButton, { className: 'mfa-verification-view__choose-another-method-button', onClick: () => pushView('mfa-choose-device', { isInitialSetup }), copykey: 'dyn_mfa.otp_verification_view.choose_another_method', children: t('dyn_mfa.otp_verification_view.choose_another_method') }) }))] }));
134
+ return (jsxs(Fragment, { children: [jsx(OTPVerificationView, { MainIcon: SvgPasswordHero, error: error, isLoading: isLoading, onPinComplete: onSubmit, isValid: Boolean(mfaToken), onPinChange: onCodeChange, description: t('dyn_mfa.otp_verification_view.body'), onClickBack: onClickBack, disabled: isRateLimited }), !isInitialSetup && (jsx("div", { className: 'mfa-verification-view__choose-another-method', children: jsx(TextButton, { className: 'mfa-verification-view__choose-another-method-button', onClick: () => pushView('mfa-choose-device', { isInitialSetup }), copykey: 'dyn_mfa.otp_verification_view.choose_another_method', children: t('dyn_mfa.otp_verification_view.choose_another_method') }) }))] }));
135
135
  };
136
136
 
137
137
  export { MfaVerificationView };
@@ -99,11 +99,11 @@ require('../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSucces
99
99
  require('../../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
100
100
  require('../../../../store/state/tokenBalances.cjs');
101
101
  require('../../../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
102
+ var EmailForm = require('../../../../components/EmailForm/EmailForm.cjs');
102
103
  require('../../../../components/InlineWidget/InlineWidget.cjs');
103
104
  require('../../../../components/IsBrowser/IsBrowser.cjs');
104
105
  require('../../../../components/Popper/Popper/Popper.cjs');
105
106
  require('../../../../components/Popper/PopperContext/PopperContext.cjs');
106
- var EmailForm = require('../../../../components/EmailForm/EmailForm.cjs');
107
107
 
108
108
  const AddRecoveryEmail = ({ canSkipAddingEmail = true, shouldInitRecovery = false, authenticatorType, currentAction, isFromEmailVerification = false, }) => {
109
109
  const { user, setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
@@ -95,11 +95,11 @@ import '../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccess
95
95
  import '../../../../store/state/connectorsInitializing/connectorsInitializing.js';
96
96
  import '../../../../store/state/tokenBalances.js';
97
97
  import '../../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
98
+ import { EmailForm } from '../../../../components/EmailForm/EmailForm.js';
98
99
  import '../../../../components/InlineWidget/InlineWidget.js';
99
100
  import '../../../../components/IsBrowser/IsBrowser.js';
100
101
  import '../../../../components/Popper/Popper/Popper.js';
101
102
  import '../../../../components/Popper/PopperContext/PopperContext.js';
102
- import { EmailForm } from '../../../../components/EmailForm/EmailForm.js';
103
103
 
104
104
  const AddRecoveryEmail = ({ canSkipAddingEmail = true, shouldInitRecovery = false, authenticatorType, currentAction, isFromEmailVerification = false, }) => {
105
105
  const { user, setShowAuthFlow } = useInternalDynamicContext();
@@ -57,6 +57,7 @@ require('../../../store/state/walletOptions/walletOptions.cjs');
57
57
  require('react-i18next');
58
58
  require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
59
59
  require('../../../components/Alert/Alert.cjs');
60
+ require('../../../context/WalletContext/WalletContext.cjs');
60
61
  require('../../../components/ShadowDOM/ShadowDOM.cjs');
61
62
  require('../../../components/IconButton/IconButton.cjs');
62
63
  require('../../../components/InlineWidget/InlineWidget.cjs');
@@ -72,7 +73,6 @@ require('../../../components/Popper/Popper/Popper.cjs');
72
73
  require('../../../components/Popper/PopperContext/PopperContext.cjs');
73
74
  require('react-focus-lock');
74
75
  require('qrcode');
75
- require('../../../context/WalletContext/WalletContext.cjs');
76
76
  require('formik');
77
77
  require('../../../utils/hooks/useSubdomainCheck/useSubdomainCheck.cjs');
78
78
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
@@ -53,6 +53,7 @@ import '../../../store/state/walletOptions/walletOptions.js';
53
53
  import 'react-i18next';
54
54
  import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
55
55
  import '../../../components/Alert/Alert.js';
56
+ import '../../../context/WalletContext/WalletContext.js';
56
57
  import '../../../components/ShadowDOM/ShadowDOM.js';
57
58
  import '../../../components/IconButton/IconButton.js';
58
59
  import '../../../components/InlineWidget/InlineWidget.js';
@@ -68,7 +69,6 @@ import '../../../components/Popper/Popper/Popper.js';
68
69
  import '../../../components/Popper/PopperContext/PopperContext.js';
69
70
  import 'react-focus-lock';
70
71
  import 'qrcode';
71
- import '../../../context/WalletContext/WalletContext.js';
72
72
  import 'formik';
73
73
  import '../../../utils/hooks/useSubdomainCheck/useSubdomainCheck.js';
74
74
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
@@ -29,6 +29,7 @@ require('../../store/state/projectSettings/projectSettings.cjs');
29
29
  require('../../config/ApiEndpoint.cjs');
30
30
  require('../../store/state/user/user.cjs');
31
31
  require('../../locale/locale.cjs');
32
+ var blockaid = require('../../data/api/transactions/blockaid.cjs');
32
33
  require('../../store/state/dynamicContextProps/dynamicContextProps.cjs');
33
34
  require('../../store/state/primaryWalletId/primaryWalletId.cjs');
34
35
  require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
@@ -43,7 +44,6 @@ var useForceUpdate = require('../../utils/hooks/useForceUpdate/useForceUpdate.cj
43
44
  var useInterval = require('../../utils/hooks/useInterval/useInterval.cjs');
44
45
  require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
45
46
  var useMutation = require('../../utils/hooks/useMutation/useMutation.cjs');
46
- var blockaid = require('../../data/api/transactions/blockaid.cjs');
47
47
  var usePromise = require('../../utils/hooks/usePromise/usePromise.cjs');
48
48
  require('@dynamic-labs/types');
49
49
  require('../../context/SocialRedirectContext/SocialRedirectContext.cjs');
@@ -25,6 +25,7 @@ import '../../store/state/projectSettings/projectSettings.js';
25
25
  import '../../config/ApiEndpoint.js';
26
26
  import '../../store/state/user/user.js';
27
27
  import '../../locale/locale.js';
28
+ import { simulateBlockaidUserOperation, simulateBlockaidSVMTransaction, simulateBlockaidEVMTransaction } from '../../data/api/transactions/blockaid.js';
28
29
  import '../../store/state/dynamicContextProps/dynamicContextProps.js';
29
30
  import '../../store/state/primaryWalletId/primaryWalletId.js';
30
31
  import '../../context/AccessDeniedContext/AccessDeniedContext.js';
@@ -39,7 +40,6 @@ import { useForceUpdate } from '../../utils/hooks/useForceUpdate/useForceUpdate.
39
40
  import { useInterval } from '../../utils/hooks/useInterval/useInterval.js';
40
41
  import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
41
42
  import { useMutation } from '../../utils/hooks/useMutation/useMutation.js';
42
- import { simulateBlockaidUserOperation, simulateBlockaidSVMTransaction, simulateBlockaidEVMTransaction } from '../../data/api/transactions/blockaid.js';
43
43
  import { usePromise } from '../../utils/hooks/usePromise/usePromise.js';
44
44
  import '@dynamic-labs/types';
45
45
  import '../../context/SocialRedirectContext/SocialRedirectContext.js';