@dynamic-labs/sdk-react-core 1.2.0-alpha.0 → 2.0.0-alpha.0

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 (77) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +10 -10
  5. package/src/index.cjs +1 -0
  6. package/src/index.js +1 -1
  7. package/src/lib/components/Badge/Badge.cjs +1 -1
  8. package/src/lib/components/Badge/Badge.d.ts +1 -1
  9. package/src/lib/components/Badge/Badge.js +1 -1
  10. package/src/lib/components/Badge/Badge.types.d.ts +1 -0
  11. package/src/lib/components/IconWithSpinner/IconWithSpinner.cjs +2 -13
  12. package/src/lib/components/IconWithSpinner/IconWithSpinner.js +2 -13
  13. package/src/lib/context/DynamicContext/DynamicContext.cjs +4 -2
  14. package/src/lib/context/DynamicContext/DynamicContext.d.ts +2 -1
  15. package/src/lib/context/DynamicContext/DynamicContext.js +5 -3
  16. package/src/lib/context/DynamicContext/types/index.d.ts +4 -2
  17. package/src/lib/locale/en/translation.cjs +8 -0
  18. package/src/lib/locale/en/translation.d.ts +8 -0
  19. package/src/lib/locale/en/translation.js +8 -0
  20. package/src/lib/main.global.cjs +1 -1
  21. package/src/lib/main.global.js +1 -1
  22. package/src/lib/shared/types/index.d.ts +5 -1
  23. package/src/lib/shared/utils/functions/getWalletListItemLabel/getWalletListItemLabel.cjs +23 -10
  24. package/src/lib/shared/utils/functions/getWalletListItemLabel/getWalletListItemLabel.d.ts +7 -3
  25. package/src/lib/shared/utils/functions/getWalletListItemLabel/getWalletListItemLabel.js +23 -10
  26. package/src/lib/styles/index.shadow.cjs +1 -1
  27. package/src/lib/styles/index.shadow.js +1 -1
  28. package/src/lib/utils/functions/walletFilters/index.cjs +6 -0
  29. package/src/lib/utils/functions/walletFilters/index.d.ts +5 -0
  30. package/src/lib/utils/functions/walletFilters/index.js +6 -1
  31. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.cjs +30 -8
  32. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.d.ts +3 -2
  33. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.js +30 -8
  34. package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.cjs +1 -6
  35. package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.js +1 -6
  36. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +9 -15
  37. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +10 -16
  38. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +21 -19
  39. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.d.ts +5 -1
  40. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +22 -20
  41. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.cjs +1 -1
  42. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.js +1 -1
  43. package/src/lib/views/LoginView/sections/WalletSignInSection/WalletSimpleSignIn/WalletSimpleSignIn.cjs +2 -1
  44. package/src/lib/views/LoginView/sections/WalletSignInSection/WalletSimpleSignIn/WalletSimpleSignIn.js +2 -1
  45. package/src/lib/views/Passkey/EmbeddedAuthChoice/EmbeddedAuthChoice.cjs +21 -8
  46. package/src/lib/views/Passkey/EmbeddedAuthChoice/EmbeddedAuthChoice.js +21 -8
  47. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/ActionCard/ActionCard.cjs +1 -1
  48. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/ActionCard/ActionCard.js +1 -1
  49. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.cjs +3 -1
  50. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.js +3 -1
  51. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +3 -0
  52. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +3 -0
  53. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +20 -1
  54. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.d.ts +2 -1
  55. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +20 -2
  56. package/src/lib/views/SelectWalletInWalletGroupView/components/WalletGroupItem/WalletGroupItem.cjs +6 -3
  57. package/src/lib/views/SelectWalletInWalletGroupView/components/WalletGroupItem/WalletGroupItem.js +6 -3
  58. package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.cjs +4 -4
  59. package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.js +4 -4
  60. package/src/lib/views/WalletList/WalletList.cjs +12 -19
  61. package/src/lib/views/WalletList/WalletList.js +13 -20
  62. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +5 -4
  63. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +5 -4
  64. package/src/lib/views/WalletList/WalletListItem/WalletListItem.types.d.ts +2 -1
  65. package/src/lib/views/WalletList/hooks/useTabState.cjs +87 -0
  66. package/src/lib/views/WalletList/hooks/useTabState.d.ts +7 -0
  67. package/src/lib/views/WalletList/hooks/useTabState.js +83 -0
  68. package/src/lib/views/WalletList/utils/getEffectiveRecommendedWallets.cjs +12 -0
  69. package/src/lib/views/WalletList/utils/getEffectiveRecommendedWallets.d.ts +3 -0
  70. package/src/lib/views/WalletList/utils/getEffectiveRecommendedWallets.js +8 -0
  71. package/src/lib/views/WalletList/utils/getEffectiveWalletFilter.cjs +12 -0
  72. package/src/lib/views/WalletList/utils/getEffectiveWalletFilter.d.ts +2 -0
  73. package/src/lib/views/WalletList/utils/getEffectiveWalletFilter.js +8 -0
  74. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.cjs +1 -1
  75. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.js +1 -1
  76. package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.cjs +10 -5
  77. package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.js +10 -5
@@ -24,12 +24,18 @@ const PRIORITY_WALLET_LIST = [
24
24
  'lilico',
25
25
  ];
26
26
  const SIGN_IN_WITH_EMAIL_WALLET_NAME = 'Sign In With Email';
27
- const sortedInputList = (inputList) => {
27
+ const sortedInputList = (inputList, recommendedWalletKeys) => {
28
28
  // Input is the unordered list of wallets we support
29
+ const unsortedRecommendedWallets = [];
29
30
  const unsortedPriorityWallets = [];
30
31
  const unsortedOtherWallets = [];
31
32
  inputList.forEach((wallet) => {
32
- if (PRIORITY_WALLET_LIST.includes(wallet.key)) {
33
+ const isRecommendedWallet = recommendedWalletKeys.includes(wallet.key);
34
+ if (isRecommendedWallet) {
35
+ unsortedRecommendedWallets.push(wallet);
36
+ }
37
+ else if (PRIORITY_WALLET_LIST.includes(wallet.key) &&
38
+ !isRecommendedWallet) {
33
39
  unsortedPriorityWallets.push(wallet);
34
40
  }
35
41
  else {
@@ -40,9 +46,17 @@ const sortedInputList = (inputList) => {
40
46
  .slice()
41
47
  .sort((a, b) => PRIORITY_WALLET_LIST.indexOf(a.key) -
42
48
  PRIORITY_WALLET_LIST.indexOf(b.key));
43
- return [...sortedPriorityWallets, ...unsortedOtherWallets];
49
+ const sortedRecommendedWallets = unsortedRecommendedWallets
50
+ .slice()
51
+ .sort((a, b) => recommendedWalletKeys.indexOf(a.key) -
52
+ recommendedWalletKeys.indexOf(b.key));
53
+ return [
54
+ ...sortedRecommendedWallets,
55
+ ...sortedPriorityWallets,
56
+ ...unsortedOtherWallets,
57
+ ];
44
58
  };
45
- const walletListBuilder = ({ authMode, connectedWallets, multiWallet, numberOfWalletsToShow, inputList, isWalletConnectList, lastUsedWalletKey, signWithEmailWalletName, searchFilter, walletsFilter, loginWithEmail, groupWallets, walletBook, showMoreWalletsWithFilter, }) => {
59
+ const walletListBuilder = ({ authMode, connectedWallets, multiWallet, numberOfWalletsToShow, inputList, isWalletConnectList, lastUsedWalletKey, signWithEmailWalletName, searchFilter, walletsFilter, loginWithEmail, groupWallets, walletBook, showMoreWalletsWithFilter, recommendedWallets, }) => {
46
60
  let walletList = inputList;
47
61
  if (isWalletConnectList) {
48
62
  walletList = inputList.filter((wallet) => wallet.walletConnector.isWalletConnect &&
@@ -57,13 +71,19 @@ const walletListBuilder = ({ authMode, connectedWallets, multiWallet, numberOfWa
57
71
  let lastUsedWallet;
58
72
  const hasWalletFilter = Boolean(walletsFilter);
59
73
  const signWithEmailWallet = getSignWithEmailWallet(signWithEmailWalletName, walletList);
74
+ const recommendedWalletsList = [];
60
75
  const installedWallets = [];
61
76
  const otherWallets = [];
62
- const orderedInputList = orderAndFilterList(walletList, walletsFilter, isWalletConnectList);
77
+ const recommendedWalletKeys = Array.from(new Set((recommendedWallets || []).map((w) => w.walletKey)));
78
+ const orderedInputList = orderAndFilterList(walletList, walletsFilter, isWalletConnectList, recommendedWalletKeys);
63
79
  orderedInputList.forEach((wallet) => {
80
+ const isRecommendedWallet = recommendedWalletKeys === null || recommendedWalletKeys === void 0 ? void 0 : recommendedWalletKeys.includes(wallet.key);
64
81
  if (walletConnectorCore.isEmbeddedConnector(wallet.walletConnector)) {
65
82
  return;
66
83
  }
84
+ else if (isRecommendedWallet) {
85
+ recommendedWalletsList.push(wallet);
86
+ }
67
87
  else if (lastUsedWalletKey === wallet.key) {
68
88
  lastUsedWallet = wallet;
69
89
  }
@@ -79,6 +99,7 @@ const walletListBuilder = ({ authMode, connectedWallets, multiWallet, numberOfWa
79
99
  ...(lastUsedWallet ? [lastUsedWallet] : []),
80
100
  ];
81
101
  const walletsList = [
102
+ ...recommendedWalletsList,
82
103
  ...firstPriorityWallets,
83
104
  ...installedWallets,
84
105
  ...otherWallets,
@@ -96,12 +117,13 @@ const walletListBuilder = ({ authMode, connectedWallets, multiWallet, numberOfWa
96
117
  };
97
118
  // We want to show the full list of wallets when we render the wallet connect list even
98
119
  // if a filter was applied to the main page
99
- const orderAndFilterList = (walletList, walletsFilter, isWalletConnectList) => {
120
+ const orderAndFilterList = (walletList, walletsFilter, isWalletConnectList, recommendedWalletKeys) => {
121
+ const sortedWalletList = sortedInputList(walletList, recommendedWalletKeys);
100
122
  if (!isWalletConnectList && walletsFilter) {
101
- return walletsFilter(sortedInputList(walletList));
123
+ return walletsFilter(sortedWalletList);
102
124
  }
103
125
  else {
104
- return sortedInputList(walletList);
126
+ return sortedWalletList;
105
127
  }
106
128
  };
107
129
  const applySearchFilterToWalletOptionList = (rawSearchFilter, walletOptionList) => {
@@ -1,5 +1,5 @@
1
1
  import { WalletBookSchema } from '@dynamic-labs/wallet-book';
2
- import { AuthModeType, Wallet, WalletOption } from '../../../shared/types';
2
+ import { AuthModeType, RecommendedWallet, Wallet, WalletOption } from '../../../shared/types';
3
3
  type BuilderParams = {
4
4
  authMode: AuthModeType;
5
5
  connectedWallets: Wallet[];
@@ -15,6 +15,7 @@ type BuilderParams = {
15
15
  groupWallets?: boolean;
16
16
  walletBook: WalletBookSchema;
17
17
  showMoreWalletsWithFilter?: boolean;
18
+ recommendedWallets?: RecommendedWallet[];
18
19
  };
19
20
  type BuilderResult = {
20
21
  numberOfWallets: number;
@@ -22,5 +23,5 @@ type BuilderResult = {
22
23
  };
23
24
  export declare const PRIORITY_WALLET_LIST: string[];
24
25
  export declare const SIGN_IN_WITH_EMAIL_WALLET_NAME = "Sign In With Email";
25
- export declare const walletListBuilder: ({ authMode, connectedWallets, multiWallet, numberOfWalletsToShow, inputList, isWalletConnectList, lastUsedWalletKey, signWithEmailWalletName, searchFilter, walletsFilter, loginWithEmail, groupWallets, walletBook, showMoreWalletsWithFilter, }: BuilderParams) => BuilderResult;
26
+ export declare const walletListBuilder: ({ authMode, connectedWallets, multiWallet, numberOfWalletsToShow, inputList, isWalletConnectList, lastUsedWalletKey, signWithEmailWalletName, searchFilter, walletsFilter, loginWithEmail, groupWallets, walletBook, showMoreWalletsWithFilter, recommendedWallets, }: BuilderParams) => BuilderResult;
26
27
  export {};
@@ -20,12 +20,18 @@ const PRIORITY_WALLET_LIST = [
20
20
  'lilico',
21
21
  ];
22
22
  const SIGN_IN_WITH_EMAIL_WALLET_NAME = 'Sign In With Email';
23
- const sortedInputList = (inputList) => {
23
+ const sortedInputList = (inputList, recommendedWalletKeys) => {
24
24
  // Input is the unordered list of wallets we support
25
+ const unsortedRecommendedWallets = [];
25
26
  const unsortedPriorityWallets = [];
26
27
  const unsortedOtherWallets = [];
27
28
  inputList.forEach((wallet) => {
28
- if (PRIORITY_WALLET_LIST.includes(wallet.key)) {
29
+ const isRecommendedWallet = recommendedWalletKeys.includes(wallet.key);
30
+ if (isRecommendedWallet) {
31
+ unsortedRecommendedWallets.push(wallet);
32
+ }
33
+ else if (PRIORITY_WALLET_LIST.includes(wallet.key) &&
34
+ !isRecommendedWallet) {
29
35
  unsortedPriorityWallets.push(wallet);
30
36
  }
31
37
  else {
@@ -36,9 +42,17 @@ const sortedInputList = (inputList) => {
36
42
  .slice()
37
43
  .sort((a, b) => PRIORITY_WALLET_LIST.indexOf(a.key) -
38
44
  PRIORITY_WALLET_LIST.indexOf(b.key));
39
- return [...sortedPriorityWallets, ...unsortedOtherWallets];
45
+ const sortedRecommendedWallets = unsortedRecommendedWallets
46
+ .slice()
47
+ .sort((a, b) => recommendedWalletKeys.indexOf(a.key) -
48
+ recommendedWalletKeys.indexOf(b.key));
49
+ return [
50
+ ...sortedRecommendedWallets,
51
+ ...sortedPriorityWallets,
52
+ ...unsortedOtherWallets,
53
+ ];
40
54
  };
41
- const walletListBuilder = ({ authMode, connectedWallets, multiWallet, numberOfWalletsToShow, inputList, isWalletConnectList, lastUsedWalletKey, signWithEmailWalletName, searchFilter, walletsFilter, loginWithEmail, groupWallets, walletBook, showMoreWalletsWithFilter, }) => {
55
+ const walletListBuilder = ({ authMode, connectedWallets, multiWallet, numberOfWalletsToShow, inputList, isWalletConnectList, lastUsedWalletKey, signWithEmailWalletName, searchFilter, walletsFilter, loginWithEmail, groupWallets, walletBook, showMoreWalletsWithFilter, recommendedWallets, }) => {
42
56
  let walletList = inputList;
43
57
  if (isWalletConnectList) {
44
58
  walletList = inputList.filter((wallet) => wallet.walletConnector.isWalletConnect &&
@@ -53,13 +67,19 @@ const walletListBuilder = ({ authMode, connectedWallets, multiWallet, numberOfWa
53
67
  let lastUsedWallet;
54
68
  const hasWalletFilter = Boolean(walletsFilter);
55
69
  const signWithEmailWallet = getSignWithEmailWallet(signWithEmailWalletName, walletList);
70
+ const recommendedWalletsList = [];
56
71
  const installedWallets = [];
57
72
  const otherWallets = [];
58
- const orderedInputList = orderAndFilterList(walletList, walletsFilter, isWalletConnectList);
73
+ const recommendedWalletKeys = Array.from(new Set((recommendedWallets || []).map((w) => w.walletKey)));
74
+ const orderedInputList = orderAndFilterList(walletList, walletsFilter, isWalletConnectList, recommendedWalletKeys);
59
75
  orderedInputList.forEach((wallet) => {
76
+ const isRecommendedWallet = recommendedWalletKeys === null || recommendedWalletKeys === void 0 ? void 0 : recommendedWalletKeys.includes(wallet.key);
60
77
  if (isEmbeddedConnector(wallet.walletConnector)) {
61
78
  return;
62
79
  }
80
+ else if (isRecommendedWallet) {
81
+ recommendedWalletsList.push(wallet);
82
+ }
63
83
  else if (lastUsedWalletKey === wallet.key) {
64
84
  lastUsedWallet = wallet;
65
85
  }
@@ -75,6 +95,7 @@ const walletListBuilder = ({ authMode, connectedWallets, multiWallet, numberOfWa
75
95
  ...(lastUsedWallet ? [lastUsedWallet] : []),
76
96
  ];
77
97
  const walletsList = [
98
+ ...recommendedWalletsList,
78
99
  ...firstPriorityWallets,
79
100
  ...installedWallets,
80
101
  ...otherWallets,
@@ -92,12 +113,13 @@ const walletListBuilder = ({ authMode, connectedWallets, multiWallet, numberOfWa
92
113
  };
93
114
  // We want to show the full list of wallets when we render the wallet connect list even
94
115
  // if a filter was applied to the main page
95
- const orderAndFilterList = (walletList, walletsFilter, isWalletConnectList) => {
116
+ const orderAndFilterList = (walletList, walletsFilter, isWalletConnectList, recommendedWalletKeys) => {
117
+ const sortedWalletList = sortedInputList(walletList, recommendedWalletKeys);
96
118
  if (!isWalletConnectList && walletsFilter) {
97
- return walletsFilter(sortedInputList(walletList));
119
+ return walletsFilter(sortedWalletList);
98
120
  }
99
121
  else {
100
- return sortedInputList(walletList);
122
+ return sortedWalletList;
101
123
  }
102
124
  };
103
125
  const applySearchFilterToWalletOptionList = (rawSearchFilter, walletOptionList) => {
@@ -100,12 +100,7 @@ const useEmbeddedReveal = () => {
100
100
  ignoreIfIsEmbeddedWidget: false,
101
101
  performMultiWalletChecks: false,
102
102
  });
103
- if (recoveryPhrase) {
104
- setView('embedded-reveal-view');
105
- }
106
- else {
107
- setView('embedded-reveal-account-view');
108
- }
103
+ setView('embedded-reveal-view', { exportPrivateKey: !recoveryPhrase });
109
104
  return new Promise((resolve, reject) => {
110
105
  dynamicEvents.dynamicEvents.once('embeddedWalletRevealCompleted', (wallet) => resolve(wallet));
111
106
  dynamicEvents.dynamicEvents.once('embeddedWalletRevealFailed', (error) => reject(error));
@@ -96,12 +96,7 @@ const useEmbeddedReveal = () => {
96
96
  ignoreIfIsEmbeddedWidget: false,
97
97
  performMultiWalletChecks: false,
98
98
  });
99
- if (recoveryPhrase) {
100
- setView('embedded-reveal-view');
101
- }
102
- else {
103
- setView('embedded-reveal-account-view');
104
- }
99
+ setView('embedded-reveal-view', { exportPrivateKey: !recoveryPhrase });
105
100
  return new Promise((resolve, reject) => {
106
101
  dynamicEvents.once('embeddedWalletRevealCompleted', (wallet) => resolve(wallet));
107
102
  dynamicEvents.once('embeddedWalletRevealFailed', (error) => reject(error));
@@ -12,10 +12,9 @@ require('@dynamic-labs/iconic');
12
12
  require('react/jsx-runtime');
13
13
  var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
14
14
  require('@dynamic-labs/wallet-book');
15
- var localStorage$1 = require('../../constants/localStorage.cjs');
16
15
  require('../../constants/colors.cjs');
17
16
  require('../../constants/values.cjs');
18
- var localStorage = require('../../../shared/utils/classes/storage/localStorage.cjs');
17
+ require('../../../shared/utils/classes/storage/localStorage.cjs');
19
18
  require('viem');
20
19
  require('@dynamic-labs/utils');
21
20
  require('../../../shared/consts/index.cjs');
@@ -173,21 +172,16 @@ const usePasskeyRecovery = () => {
173
172
  }
174
173
  };
175
174
  const isSessionRestored = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
176
- var _b, _c;
177
- if (!((_c = (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _b === void 0 ? void 0 : _b.sessionKeyDuration) === null || _c === void 0 ? void 0 : _c.amount)) {
178
- return false;
179
- }
180
- const sessionSettings = localStorage.LocalStorage.getFromLS(localStorage$1.EMBEDDED_WALLET_SESSION_SETTINGS);
181
- if (!sessionSettings) {
182
- return false;
183
- }
184
- const sessionExpiration = projectSettings.sdk.embeddedWallets.sessionKeyDuration.amount * 60;
185
- const recoveryExpirationSeconds = (sessionSettings === null || sessionSettings === void 0 ? void 0 : sessionSettings.createdAt) + sessionExpiration * 1000;
186
- const expirationTime = new Date(recoveryExpirationSeconds);
187
- if (new Date() >= expirationTime) {
188
- localStorage.LocalStorage.removeFromLS(localStorage$1.EMBEDDED_WALLET_SESSION_SETTINGS);
175
+ var _b, _c, _d, _e;
176
+ if (!((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _b === void 0 ? void 0 : _b.sessionKeyDuration) ||
177
+ !passkeyRecovery.canRestoreEmbeddedWalletSession((_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _c === void 0 ? void 0 : _c.sessionKeyDuration)) {
189
178
  return false;
190
179
  }
180
+ const sessionExpiration = ((_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _d === void 0 ? void 0 : _d.sessionKeyDuration.amount) *
181
+ (((_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _e === void 0 ? void 0 : _e.sessionKeyDuration.unit) ===
182
+ 'minutes'
183
+ ? 60
184
+ : 3600);
191
185
  try {
192
186
  return yield passkeyRecovery.restoreEmbeddedWalletSession({
193
187
  authToken,
@@ -8,10 +8,9 @@ import '@dynamic-labs/iconic';
8
8
  import 'react/jsx-runtime';
9
9
  import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
10
10
  import '@dynamic-labs/wallet-book';
11
- import { EMBEDDED_WALLET_SESSION_SETTINGS } from '../../constants/localStorage.js';
12
11
  import '../../constants/colors.js';
13
12
  import '../../constants/values.js';
14
- import { LocalStorage } from '../../../shared/utils/classes/storage/localStorage.js';
13
+ import '../../../shared/utils/classes/storage/localStorage.js';
15
14
  import 'viem';
16
15
  import '@dynamic-labs/utils';
17
16
  import '../../../shared/consts/index.js';
@@ -36,7 +35,7 @@ import { useElementById } from '../useElementById/useElementById.js';
36
35
  import { useEmbeddedWallet } from '../useEmbeddedWallet/useEmbeddedWallet.js';
37
36
  import '../../../context/ThemeContext/ThemeContext.js';
38
37
  import { iframeContainerId, iframeElementId } from '../../../views/Passkey/PasskeyRecovery/constants.js';
39
- import { addNewPasskeyAuthenticator, restoreEmbeddedWalletSession } from '../../../views/Passkey/utils/passkeyRecovery/passkeyRecovery.js';
38
+ import { addNewPasskeyAuthenticator, canRestoreEmbeddedWalletSession, restoreEmbeddedWalletSession } from '../../../views/Passkey/utils/passkeyRecovery/passkeyRecovery.js';
40
39
  import { useIsTurnkeyWallet } from '../useIsTurnkeyWallet/useIsTurnkeyWallet.js';
41
40
  import { useInitEmbeddedWalletAuthMethod } from '../useInitEmbeddedWalletAuthMethod/useInitEmbeddedWalletAuthMethod.js';
42
41
  import '@dynamic-labs/types';
@@ -169,21 +168,16 @@ const usePasskeyRecovery = () => {
169
168
  }
170
169
  };
171
170
  const isSessionRestored = () => __awaiter(void 0, void 0, void 0, function* () {
172
- var _b, _c;
173
- if (!((_c = (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _b === void 0 ? void 0 : _b.sessionKeyDuration) === null || _c === void 0 ? void 0 : _c.amount)) {
174
- return false;
175
- }
176
- const sessionSettings = LocalStorage.getFromLS(EMBEDDED_WALLET_SESSION_SETTINGS);
177
- if (!sessionSettings) {
178
- return false;
179
- }
180
- const sessionExpiration = projectSettings.sdk.embeddedWallets.sessionKeyDuration.amount * 60;
181
- const recoveryExpirationSeconds = (sessionSettings === null || sessionSettings === void 0 ? void 0 : sessionSettings.createdAt) + sessionExpiration * 1000;
182
- const expirationTime = new Date(recoveryExpirationSeconds);
183
- if (new Date() >= expirationTime) {
184
- LocalStorage.removeFromLS(EMBEDDED_WALLET_SESSION_SETTINGS);
171
+ var _b, _c, _d, _e;
172
+ if (!((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _b === void 0 ? void 0 : _b.sessionKeyDuration) ||
173
+ !canRestoreEmbeddedWalletSession((_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _c === void 0 ? void 0 : _c.sessionKeyDuration)) {
185
174
  return false;
186
175
  }
176
+ const sessionExpiration = ((_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _d === void 0 ? void 0 : _d.sessionKeyDuration.amount) *
177
+ (((_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _e === void 0 ? void 0 : _e.sessionKeyDuration.unit) ===
178
+ 'minutes'
179
+ ? 60
180
+ : 3600);
187
181
  try {
188
182
  return yield restoreEmbeddedWalletSession({
189
183
  authToken,
@@ -13,7 +13,7 @@ require('../../../context/DynamicContext/DynamicContext.cjs');
13
13
  var decodeJwt = require('../../../shared/utils/functions/decodeJwt/decodeJwt.cjs');
14
14
  require('@dynamic-labs/iconic');
15
15
  require('@dynamic-labs/wallet-connector-core');
16
- var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
16
+ require('../../../context/ViewContext/ViewContext.cjs');
17
17
  var close = require('../../../shared/assets/close.cjs');
18
18
  var eyeOffIcon = require('../../../shared/assets/eye-off-icon.cjs');
19
19
  var exportEmbeddedHero = require('../../../shared/assets/export-embedded-hero.cjs');
@@ -40,6 +40,7 @@ require('../../../context/EmailVerificationContext/EmailVerificationContext.cjs'
40
40
  require('react-dom');
41
41
  require('../../../context/ThemeContext/ThemeContext.cjs');
42
42
  var useMutation = require('../../../utils/hooks/useMutation/useMutation.cjs');
43
+ var usePromise = require('../../../utils/hooks/usePromise/usePromise.cjs');
43
44
  require('@dynamic-labs/types');
44
45
  require('yup');
45
46
  require('../../../context/MockContext/MockContext.cjs');
@@ -54,7 +55,6 @@ require('../../../components/ShadowDOM/ShadowDOM.cjs');
54
55
  require('../../../components/OverlayCard/OverlayCard.context.cjs');
55
56
  require('../../../context/FooterAnimationContext/index.cjs');
56
57
  var Typography = require('../../../components/Typography/Typography.cjs');
57
- var Badge = require('../../../components/Badge/Badge.cjs');
58
58
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
59
59
  require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
60
60
  require('react-focus-lock');
@@ -73,6 +73,7 @@ require('../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBa
73
73
  require('../../../context/PasskeyContext/PasskeyContext.cjs');
74
74
  require('@dynamic-labs/viem-utils');
75
75
  require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
76
+ var Badge = require('../../../components/Badge/Badge.cjs');
76
77
  var Checkbox = require('../../../components/Checkbox/Checkbox.cjs');
77
78
  require('../../../components/InlineWidget/InlineWidget.cjs');
78
79
  require('../../../components/IsBrowser/IsBrowser.cjs');
@@ -86,39 +87,40 @@ require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/Secon
86
87
  var turnkeyExport = require('../utils/turnkeyExport/turnkeyExport.cjs');
87
88
  var constants = require('../constants.cjs');
88
89
 
89
- const EmbeddedRevealView = () => {
90
- var _a, _b, _c;
90
+ const EmbeddedRevealView = ({ exportPrivateKey, }) => {
91
+ var _a, _b;
91
92
  const { authToken, primaryWallet, user, setShowAuthFlow, environmentId } = useInternalDynamicContext.useInternalDynamicContext();
92
- const { view } = ViewContext.useViewContext();
93
93
  const [acknowledgement1, setAcknowledgement1] = React.useState(false);
94
94
  const iframeContainerRef = React.useRef(null);
95
95
  const decodedJwt = decodeJwt.decodeJwt(authToken);
96
96
  const walletProperties = (_b = (_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : 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;
97
97
  const isTurnkeyHDWallet = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyHDWalletId;
98
- const exportPrivateKey = (_c = view === null || view === void 0 ? void 0 : view.type) === null || _c === void 0 ? void 0 : _c.includes('account');
98
+ const wallet = isAccountAbstractionWallet.isAccountAbstractionWallet(primaryWallet)
99
+ ? createOwnerWallet.createOwnerWallet(primaryWallet, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || [])
100
+ : primaryWallet;
101
+ // eslint-disable-next-line arrow-body-style
99
102
  React.useEffect(() => {
103
+ return () => {
104
+ turnkeyExport.cleanupExport({
105
+ wallet,
106
+ });
107
+ };
108
+ // only run once on unmount
109
+ // eslint-disable-next-line react-hooks/exhaustive-deps
110
+ }, []);
111
+ const { isLoading: exportLoading } = usePromise.usePromise(() => {
100
112
  var _a;
101
113
  const iframeContainerElement = iframeContainerRef.current;
102
114
  if (!iframeContainerElement ||
103
115
  ((_a = iframeContainerElement === null || iframeContainerElement === void 0 ? void 0 : iframeContainerElement.children) === null || _a === void 0 ? void 0 : _a.length) > 0) {
104
116
  return;
105
117
  }
106
- const wallet = isAccountAbstractionWallet.isAccountAbstractionWallet(primaryWallet)
107
- ? createOwnerWallet.createOwnerWallet(primaryWallet, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || [])
108
- : primaryWallet;
109
- turnkeyExport.initExport({
118
+ return turnkeyExport.initExport({
110
119
  iframeContainer: iframeContainerElement,
111
120
  iframeElementId: constants.iframeElementId,
112
121
  wallet,
113
122
  });
114
- return () => {
115
- turnkeyExport.cleanupExport({
116
- wallet,
117
- });
118
- };
119
- // only run once on mount
120
- // eslint-disable-next-line react-hooks/exhaustive-deps
121
- }, []);
123
+ });
122
124
  const { mutate: handleExportWallet, isLoading, error, data, } = useMutation.useMutation(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
123
125
  const wallet = isAccountAbstractionWallet.isAccountAbstractionWallet(primaryWallet)
124
126
  ? createOwnerWallet.createOwnerWallet(primaryWallet, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || [])
@@ -171,7 +173,7 @@ const EmbeddedRevealView = () => {
171
173
  credential_type: credentialTitle === null || credentialTitle === void 0 ? void 0 : credentialTitle.toLowerCase(),
172
174
  }) })] })] })] }), jsxRuntime.jsxs("div", { className: 'embedded-reveal-view__body__confirm_card', children: [jsxRuntime.jsxs("button", { className: 'embedded-reveal-view__body__card__acknowledgement', onClick: () => setAcknowledgement1(!acknowledgement1), children: [jsxRuntime.jsx("div", { children: jsxRuntime.jsx(Checkbox.Checkbox, { checked: acknowledgement1, onChange: () => setAcknowledgement1(!acknowledgement1), className: 'embedded-reveal-view__body__card__statement__checkbox', id: 'embedded-reveal-checkbox-1' }) }), jsxRuntime.jsx("div", { children: jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', style: { letterSpacing: '-0.15px' }, copykey: 'dyn_embedded_reveal.checkbox_label', children: t('dyn_embedded_reveal.checkbox_label') }) })] }), jsxRuntime.jsx(Button.Button, { buttonPadding: 'large', buttonVariant: 'brand-primary', typographyProps: {
173
175
  color: 'inherit',
174
- }, onClick: () => handleExportWallet(), disabled: !acknowledgement1, loading: isLoading, dataTestId: 'embedded-reveal-button', copykey: 'dyn_embedded_reveal.reveal_button_label', children: t('dyn_embedded_reveal.reveal_button_label') })] })] }))] }) })] }));
176
+ }, onClick: () => handleExportWallet(), disabled: !acknowledgement1 || exportLoading, loading: isLoading, dataTestId: 'embedded-reveal-button', copykey: 'dyn_embedded_reveal.reveal_button_label', children: t('dyn_embedded_reveal.reveal_button_label') })] })] }))] }) })] }));
175
177
  };
176
178
 
177
179
  exports.EmbeddedRevealView = EmbeddedRevealView;
@@ -1,2 +1,6 @@
1
1
  import { FC } from 'react';
2
- export declare const EmbeddedRevealView: FC;
2
+ interface EmbeddedRevealViewProps {
3
+ exportPrivateKey?: boolean;
4
+ }
5
+ export declare const EmbeddedRevealView: FC<EmbeddedRevealViewProps>;
6
+ export {};
@@ -9,7 +9,7 @@ import '../../../context/DynamicContext/DynamicContext.js';
9
9
  import { decodeJwt } from '../../../shared/utils/functions/decodeJwt/decodeJwt.js';
10
10
  import '@dynamic-labs/iconic';
11
11
  import '@dynamic-labs/wallet-connector-core';
12
- import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
12
+ import '../../../context/ViewContext/ViewContext.js';
13
13
  import { ReactComponent as SvgClose } from '../../../shared/assets/close.js';
14
14
  import { ReactComponent as SvgEyeOffIcon } from '../../../shared/assets/eye-off-icon.js';
15
15
  import { ReactComponent as SvgExportEmbeddedHero } from '../../../shared/assets/export-embedded-hero.js';
@@ -36,6 +36,7 @@ import '../../../context/EmailVerificationContext/EmailVerificationContext.js';
36
36
  import 'react-dom';
37
37
  import '../../../context/ThemeContext/ThemeContext.js';
38
38
  import { useMutation } from '../../../utils/hooks/useMutation/useMutation.js';
39
+ import { usePromise } from '../../../utils/hooks/usePromise/usePromise.js';
39
40
  import '@dynamic-labs/types';
40
41
  import 'yup';
41
42
  import '../../../context/MockContext/MockContext.js';
@@ -50,7 +51,6 @@ import '../../../components/ShadowDOM/ShadowDOM.js';
50
51
  import '../../../components/OverlayCard/OverlayCard.context.js';
51
52
  import '../../../context/FooterAnimationContext/index.js';
52
53
  import { Typography } from '../../../components/Typography/Typography.js';
53
- import { Badge } from '../../../components/Badge/Badge.js';
54
54
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
55
55
  import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
56
56
  import 'react-focus-lock';
@@ -69,6 +69,7 @@ import '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBan
69
69
  import '../../../context/PasskeyContext/PasskeyContext.js';
70
70
  import '@dynamic-labs/viem-utils';
71
71
  import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
72
+ import { Badge } from '../../../components/Badge/Badge.js';
72
73
  import { Checkbox } from '../../../components/Checkbox/Checkbox.js';
73
74
  import '../../../components/InlineWidget/InlineWidget.js';
74
75
  import '../../../components/IsBrowser/IsBrowser.js';
@@ -79,42 +80,43 @@ import '../../WalletList/WalletList.js';
79
80
  import '@hcaptcha/react-hcaptcha';
80
81
  import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
81
82
  import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
82
- import { initExport, cleanupExport, exportCredential } from '../utils/turnkeyExport/turnkeyExport.js';
83
+ import { cleanupExport, exportCredential, initExport } from '../utils/turnkeyExport/turnkeyExport.js';
83
84
  import { iframeContainerId, iframeElementId } from '../constants.js';
84
85
 
85
- const EmbeddedRevealView = () => {
86
- var _a, _b, _c;
86
+ const EmbeddedRevealView = ({ exportPrivateKey, }) => {
87
+ var _a, _b;
87
88
  const { authToken, primaryWallet, user, setShowAuthFlow, environmentId } = useInternalDynamicContext();
88
- const { view } = useViewContext();
89
89
  const [acknowledgement1, setAcknowledgement1] = useState(false);
90
90
  const iframeContainerRef = useRef(null);
91
91
  const decodedJwt = decodeJwt(authToken);
92
92
  const walletProperties = (_b = (_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : 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;
93
93
  const isTurnkeyHDWallet = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyHDWalletId;
94
- const exportPrivateKey = (_c = view === null || view === void 0 ? void 0 : view.type) === null || _c === void 0 ? void 0 : _c.includes('account');
94
+ const wallet = isAccountAbstractionWallet(primaryWallet)
95
+ ? createOwnerWallet(primaryWallet, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || [])
96
+ : primaryWallet;
97
+ // eslint-disable-next-line arrow-body-style
95
98
  useEffect(() => {
99
+ return () => {
100
+ cleanupExport({
101
+ wallet,
102
+ });
103
+ };
104
+ // only run once on unmount
105
+ // eslint-disable-next-line react-hooks/exhaustive-deps
106
+ }, []);
107
+ const { isLoading: exportLoading } = usePromise(() => {
96
108
  var _a;
97
109
  const iframeContainerElement = iframeContainerRef.current;
98
110
  if (!iframeContainerElement ||
99
111
  ((_a = iframeContainerElement === null || iframeContainerElement === void 0 ? void 0 : iframeContainerElement.children) === null || _a === void 0 ? void 0 : _a.length) > 0) {
100
112
  return;
101
113
  }
102
- const wallet = isAccountAbstractionWallet(primaryWallet)
103
- ? createOwnerWallet(primaryWallet, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || [])
104
- : primaryWallet;
105
- initExport({
114
+ return initExport({
106
115
  iframeContainer: iframeContainerElement,
107
116
  iframeElementId,
108
117
  wallet,
109
118
  });
110
- return () => {
111
- cleanupExport({
112
- wallet,
113
- });
114
- };
115
- // only run once on mount
116
- // eslint-disable-next-line react-hooks/exhaustive-deps
117
- }, []);
119
+ });
118
120
  const { mutate: handleExportWallet, isLoading, error, data, } = useMutation(() => __awaiter(void 0, void 0, void 0, function* () {
119
121
  const wallet = isAccountAbstractionWallet(primaryWallet)
120
122
  ? createOwnerWallet(primaryWallet, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || [])
@@ -167,7 +169,7 @@ const EmbeddedRevealView = () => {
167
169
  credential_type: credentialTitle === null || credentialTitle === void 0 ? void 0 : credentialTitle.toLowerCase(),
168
170
  }) })] })] })] }), jsxs("div", { className: 'embedded-reveal-view__body__confirm_card', children: [jsxs("button", { className: 'embedded-reveal-view__body__card__acknowledgement', onClick: () => setAcknowledgement1(!acknowledgement1), children: [jsx("div", { children: jsx(Checkbox, { checked: acknowledgement1, onChange: () => setAcknowledgement1(!acknowledgement1), className: 'embedded-reveal-view__body__card__statement__checkbox', id: 'embedded-reveal-checkbox-1' }) }), jsx("div", { children: jsx(Typography, { variant: 'body_normal', color: 'primary', style: { letterSpacing: '-0.15px' }, copykey: 'dyn_embedded_reveal.checkbox_label', children: t('dyn_embedded_reveal.checkbox_label') }) })] }), jsx(Button, { buttonPadding: 'large', buttonVariant: 'brand-primary', typographyProps: {
169
171
  color: 'inherit',
170
- }, onClick: () => handleExportWallet(), disabled: !acknowledgement1, loading: isLoading, dataTestId: 'embedded-reveal-button', copykey: 'dyn_embedded_reveal.reveal_button_label', children: t('dyn_embedded_reveal.reveal_button_label') })] })] }))] }) })] }));
172
+ }, onClick: () => handleExportWallet(), disabled: !acknowledgement1 || exportLoading, loading: isLoading, dataTestId: 'embedded-reveal-button', copykey: 'dyn_embedded_reveal.reveal_button_label', children: t('dyn_embedded_reveal.reveal_button_label') })] })] }))] }) })] }));
171
173
  };
172
174
 
173
175
  export { EmbeddedRevealView };
@@ -45,7 +45,6 @@ require('../../../../../components/Transition/OpacityTransition/OpacityTransitio
45
45
  require('../../../../../components/ShadowDOM/ShadowDOM.cjs');
46
46
  require('../../../../../components/OverlayCard/OverlayCard.context.cjs');
47
47
  require('../../../../../context/FooterAnimationContext/index.cjs');
48
- var Badge = require('../../../../../components/Badge/Badge.cjs');
49
48
  require('../../../../../context/WalletGroupContext/WalletGroupContext.cjs');
50
49
  require('../../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
51
50
  require('react-focus-lock');
@@ -62,6 +61,7 @@ require('../../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuc
62
61
  require('../../../../../context/PasskeyContext/PasskeyContext.cjs');
63
62
  require('@dynamic-labs/viem-utils');
64
63
  require('../../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
64
+ var Badge = require('../../../../../components/Badge/Badge.cjs');
65
65
  var ListTile = require('../../../../../components/ListTile/ListTile.cjs');
66
66
  require('../../../../../components/InlineWidget/InlineWidget.cjs');
67
67
  require('../../../../../components/IsBrowser/IsBrowser.cjs');
@@ -41,7 +41,6 @@ import '../../../../../components/Transition/OpacityTransition/OpacityTransition
41
41
  import '../../../../../components/ShadowDOM/ShadowDOM.js';
42
42
  import '../../../../../components/OverlayCard/OverlayCard.context.js';
43
43
  import '../../../../../context/FooterAnimationContext/index.js';
44
- import { Badge } from '../../../../../components/Badge/Badge.js';
45
44
  import '../../../../../context/WalletGroupContext/WalletGroupContext.js';
46
45
  import '../../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
47
46
  import 'react-focus-lock';
@@ -58,6 +57,7 @@ import '../../../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSucc
58
57
  import '../../../../../context/PasskeyContext/PasskeyContext.js';
59
58
  import '@dynamic-labs/viem-utils';
60
59
  import '../../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
60
+ import { Badge } from '../../../../../components/Badge/Badge.js';
61
61
  import { ListTile } from '../../../../../components/ListTile/ListTile.js';
62
62
  import '../../../../../components/InlineWidget/InlineWidget.js';
63
63
  import '../../../../../components/IsBrowser/IsBrowser.js';
@@ -76,7 +76,7 @@ var useInternalDynamicContext = require('../../../../../context/DynamicContext/u
76
76
 
77
77
  const WalletSimpleSignIn = ({ previewWalletsNumber, disabled = false, onshowAllWallets, }) => {
78
78
  const { t } = reactI18next.useTranslation();
79
- const { walletConnectorOptions, projectSettings, walletsFilter, signWithEmailWalletName, authMode, multiWallet, connectedWallets, } = useInternalDynamicContext.useInternalDynamicContext();
79
+ const { walletConnectorOptions, projectSettings, walletsFilter, signWithEmailWalletName, authMode, multiWallet, connectedWallets, recommendedWallets, } = useInternalDynamicContext.useInternalDynamicContext();
80
80
  const { walletBook: walletBook$1 } = walletBook.useWalletBookContext();
81
81
  const { numberOfWallets, walletsList } = walletListBuilder.walletListBuilder({
82
82
  authMode,
@@ -88,6 +88,7 @@ const WalletSimpleSignIn = ({ previewWalletsNumber, disabled = false, onshowAllW
88
88
  loginWithEmail: true,
89
89
  multiWallet,
90
90
  numberOfWalletsToShow: previewWalletsNumber,
91
+ recommendedWallets,
91
92
  searchFilter: undefined,
92
93
  signWithEmailWalletName,
93
94
  walletBook: walletBook$1,
@@ -72,7 +72,7 @@ import { useInternalDynamicContext } from '../../../../../context/DynamicContext
72
72
 
73
73
  const WalletSimpleSignIn = ({ previewWalletsNumber, disabled = false, onshowAllWallets, }) => {
74
74
  const { t } = useTranslation();
75
- const { walletConnectorOptions, projectSettings, walletsFilter, signWithEmailWalletName, authMode, multiWallet, connectedWallets, } = useInternalDynamicContext();
75
+ const { walletConnectorOptions, projectSettings, walletsFilter, signWithEmailWalletName, authMode, multiWallet, connectedWallets, recommendedWallets, } = useInternalDynamicContext();
76
76
  const { walletBook } = useWalletBookContext();
77
77
  const { numberOfWallets, walletsList } = walletListBuilder({
78
78
  authMode,
@@ -84,6 +84,7 @@ const WalletSimpleSignIn = ({ previewWalletsNumber, disabled = false, onshowAllW
84
84
  loginWithEmail: true,
85
85
  multiWallet,
86
86
  numberOfWalletsToShow: previewWalletsNumber,
87
+ recommendedWallets,
87
88
  searchFilter: undefined,
88
89
  signWithEmailWalletName,
89
90
  walletBook,