@dynamic-labs/sdk-react-core 4.4.2 → 4.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +12 -12
  5. package/src/lib/Main.cjs +3 -3
  6. package/src/lib/Main.js +3 -3
  7. package/src/lib/components/DynamicConnectButton/DynamicConnectButton.cjs +2 -3
  8. package/src/lib/components/DynamicConnectButton/DynamicConnectButton.js +2 -3
  9. package/src/lib/components/HardwareWalletToggle/HardwareWalletToggle.cjs +12 -11
  10. package/src/lib/components/HardwareWalletToggle/HardwareWalletToggle.js +12 -11
  11. package/src/lib/components/NeedHelpSection/NeedHelpSection.cjs +2 -2
  12. package/src/lib/components/NeedHelpSection/NeedHelpSection.js +2 -2
  13. package/src/lib/components/QrCodeWrapper/QrCodeContainer/QrCodeContainer.cjs +2 -2
  14. package/src/lib/components/QrCodeWrapper/QrCodeContainer/QrCodeContainer.js +2 -2
  15. package/src/lib/components/Toggle/Toggle.cjs +1 -5
  16. package/src/lib/components/Toggle/Toggle.d.ts +6 -2
  17. package/src/lib/components/Toggle/Toggle.js +1 -5
  18. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +2 -2
  19. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +2 -2
  20. package/src/lib/components/TransactionConfirmationPageLayout/utils.cjs +2 -2
  21. package/src/lib/components/TransactionConfirmationPageLayout/utils.d.ts +1 -1
  22. package/src/lib/components/TransactionConfirmationPageLayout/utils.js +2 -2
  23. package/src/lib/context/CaptchaContext/CaptchaContext.cjs +3 -3
  24. package/src/lib/context/CaptchaContext/CaptchaContext.js +3 -3
  25. package/src/lib/context/ConnectWithOtpContext/utils/createSmsHandler.cjs +1 -1
  26. package/src/lib/context/ConnectWithOtpContext/utils/createSmsHandler.js +1 -1
  27. package/src/lib/context/DynamicContext/DynamicContext.cjs +7 -1
  28. package/src/lib/context/DynamicContext/DynamicContext.js +8 -2
  29. package/src/lib/context/MockContext/MockContext.cjs +0 -2
  30. package/src/lib/context/MockContext/MockContext.js +0 -2
  31. package/src/lib/context/PhantomRedirectContext/useResponseHandlers.cjs +5 -5
  32. package/src/lib/context/PhantomRedirectContext/useResponseHandlers.js +5 -5
  33. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +8 -9
  34. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +8 -9
  35. package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.cjs +8 -3
  36. package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.js +8 -3
  37. package/src/lib/context/ViewContext/ViewContext.cjs +0 -2
  38. package/src/lib/context/ViewContext/ViewContext.d.ts +0 -10
  39. package/src/lib/context/ViewContext/ViewContext.js +0 -2
  40. package/src/lib/context/ViewContext/types/index.d.ts +1 -2
  41. package/src/lib/context/WalletGroupContext/WalletGroupContext.cjs +3 -3
  42. package/src/lib/context/WalletGroupContext/WalletGroupContext.js +3 -3
  43. package/src/lib/data/api/exchangeRates/exchangeRates.cjs +9 -5
  44. package/src/lib/data/api/exchangeRates/exchangeRates.js +9 -5
  45. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +2 -6
  46. package/src/lib/layout/DynamicAuthLayout/Header/header.js +2 -6
  47. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +4 -4
  48. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +4 -4
  49. package/src/lib/store/internalImplementation/store.cjs +1 -0
  50. package/src/lib/store/internalImplementation/store.d.ts +5 -1
  51. package/src/lib/store/internalImplementation/store.js +1 -0
  52. package/src/lib/styles/index.shadow.cjs +1 -1
  53. package/src/lib/styles/index.shadow.js +1 -1
  54. package/src/lib/utils/functions/walletListBuilder/utils/groupWalletOptions/groupWalletOptions.cjs +4 -0
  55. package/src/lib/utils/functions/walletListBuilder/utils/groupWalletOptions/groupWalletOptions.js +4 -0
  56. package/src/lib/utils/hooks/authenticationHooks/helpers/showPendingConnectView.cjs +3 -3
  57. package/src/lib/utils/hooks/authenticationHooks/helpers/showPendingConnectView.d.ts +1 -1
  58. package/src/lib/utils/hooks/authenticationHooks/helpers/showPendingConnectView.js +3 -3
  59. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +8 -8
  60. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +8 -8
  61. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +7 -7
  62. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +7 -7
  63. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +2 -2
  64. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +2 -2
  65. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.cjs +5 -0
  66. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js +5 -0
  67. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +3 -3
  68. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +3 -3
  69. package/src/lib/utils/hooks/useDynamicModals/useDynamicModals.cjs +3 -3
  70. package/src/lib/utils/hooks/useDynamicModals/useDynamicModals.js +3 -3
  71. package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.cjs +3 -3
  72. package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.js +3 -3
  73. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +3 -3
  74. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +3 -3
  75. package/src/lib/utils/hooks/useEmbeddedWalletAuthenticator/useEmbeddedWalletAuthenticator.cjs +2 -2
  76. package/src/lib/utils/hooks/useEmbeddedWalletAuthenticator/useEmbeddedWalletAuthenticator.js +2 -2
  77. package/src/lib/utils/hooks/useEmbeddedWalletPassword/useEmbeddedWalletPassword.cjs +4 -4
  78. package/src/lib/utils/hooks/useEmbeddedWalletPassword/useEmbeddedWalletPassword.js +4 -4
  79. package/src/lib/utils/hooks/useFunding/useConnectWalletForFunding/useConnectWalletForFunding.cjs +28 -10
  80. package/src/lib/utils/hooks/useFunding/useConnectWalletForFunding/useConnectWalletForFunding.js +25 -7
  81. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.cjs +6 -6
  82. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.js +6 -6
  83. package/src/lib/utils/hooks/useInitEmbeddedWalletAuthMethod/useInitEmbeddedWalletAuthMethod.cjs +2 -2
  84. package/src/lib/utils/hooks/useInitEmbeddedWalletAuthMethod/useInitEmbeddedWalletAuthMethod.js +2 -2
  85. package/src/lib/utils/hooks/useMfaModals/useMfaModals.cjs +12 -12
  86. package/src/lib/utils/hooks/useMfaModals/useMfaModals.js +12 -12
  87. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +5 -7
  88. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +5 -7
  89. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +38 -24
  90. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +3 -2
  91. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +38 -24
  92. package/src/lib/utils/hooks/useSwitchNetwork/useSwitchNetwork.cjs +3 -3
  93. package/src/lib/utils/hooks/useSwitchNetwork/useSwitchNetwork.js +3 -3
  94. package/src/lib/utils/hooks/useSyncMfaFlow/useSyncMfaFlow.cjs +5 -5
  95. package/src/lib/utils/hooks/useSyncMfaFlow/useSyncMfaFlow.js +5 -5
  96. package/src/lib/utils/hooks/useSyncOnboardingFlow/useSyncOnboardingFlow.cjs +5 -5
  97. package/src/lib/utils/hooks/useSyncOnboardingFlow/useSyncOnboardingFlow.js +5 -5
  98. package/src/lib/utils/hooks/useUserAuth/useUserAuth.cjs +9 -9
  99. package/src/lib/utils/hooks/useUserAuth/useUserAuth.js +9 -9
  100. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.cjs +6 -6
  101. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.js +6 -6
  102. package/src/lib/utils/hooks/useValidateSession/handleStoreVersionChanged/handleStoreVersionChanged.cjs +12 -0
  103. package/src/lib/utils/hooks/useValidateSession/handleStoreVersionChanged/handleStoreVersionChanged.d.ts +7 -0
  104. package/src/lib/utils/hooks/useValidateSession/handleStoreVersionChanged/handleStoreVersionChanged.js +8 -0
  105. package/src/lib/utils/hooks/useValidateSession/handleStoreVersionChanged/index.d.ts +1 -0
  106. package/src/lib/utils/hooks/useValidateSession/useValidateSession.cjs +5 -3
  107. package/src/lib/utils/hooks/useValidateSession/useValidateSession.d.ts +3 -1
  108. package/src/lib/utils/hooks/useValidateSession/useValidateSession.js +5 -3
  109. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +12 -12
  110. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +12 -12
  111. package/src/lib/utils/hooks/useWalletItemActions/useHandleWalletItem/useHandleWalletItem.cjs +8 -8
  112. package/src/lib/utils/hooks/useWalletItemActions/useHandleWalletItem/useHandleWalletItem.js +8 -8
  113. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +14 -22
  114. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.d.ts +6 -5
  115. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +14 -22
  116. package/src/lib/utils/hooks/useWalletOptions/useWalletOptions.cjs +3 -3
  117. package/src/lib/utils/hooks/useWalletOptions/useWalletOptions.js +3 -3
  118. package/src/lib/views/BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.cjs +2 -2
  119. package/src/lib/views/BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.js +2 -2
  120. package/src/lib/views/BridgeWelcomeView/BridgeWelcomeView.cjs +2 -2
  121. package/src/lib/views/BridgeWelcomeView/BridgeWelcomeView.js +2 -2
  122. package/src/lib/views/CoinbaseMPCClaimIntro/CoinbaseMPCClaimIntro.cjs +2 -2
  123. package/src/lib/views/CoinbaseMPCClaimIntro/CoinbaseMPCClaimIntro.js +2 -2
  124. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +3 -3
  125. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +3 -3
  126. package/src/lib/views/EmailVerification/EmailVerification.cjs +4 -4
  127. package/src/lib/views/EmailVerification/EmailVerification.js +4 -4
  128. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +2 -2
  129. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +2 -2
  130. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +4 -4
  131. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +4 -4
  132. package/src/lib/views/LoginView/LoginView.cjs +2 -2
  133. package/src/lib/views/LoginView/LoginView.js +2 -2
  134. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.cjs +4 -4
  135. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.js +4 -4
  136. package/src/lib/views/LoginView/sections/PhoneNumberSignInSection/useSubmitPhoneNumber/useSubmitPhoneNumber.cjs +3 -3
  137. package/src/lib/views/LoginView/sections/PhoneNumberSignInSection/useSubmitPhoneNumber/useSubmitPhoneNumber.js +3 -3
  138. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.cjs +5 -5
  139. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.js +5 -5
  140. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +3 -3
  141. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +3 -3
  142. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +4 -4
  143. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +4 -4
  144. package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.cjs +4 -9
  145. package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.js +4 -9
  146. package/src/lib/views/MfaSecureDeviceView/MfaSecureDeviceView.cjs +8 -10
  147. package/src/lib/views/MfaSecureDeviceView/MfaSecureDeviceView.js +8 -10
  148. package/src/lib/views/MfaVerificationView/MfaVerificationView.cjs +5 -5
  149. package/src/lib/views/MfaVerificationView/MfaVerificationView.js +5 -5
  150. package/src/lib/views/NoAccess/NoAccess.cjs +2 -2
  151. package/src/lib/views/NoAccess/NoAccess.js +2 -2
  152. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +2 -4
  153. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +2 -4
  154. package/src/lib/views/SandboxMaximumThresholdReached/SandboxMaximumThresholdReached.cjs +2 -2
  155. package/src/lib/views/SandboxMaximumThresholdReached/SandboxMaximumThresholdReached.js +2 -2
  156. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.cjs +2 -2
  157. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.js +2 -2
  158. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +2 -2
  159. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +2 -2
  160. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +2 -2
  161. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +2 -2
  162. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +2 -2
  163. package/src/lib/views/WalletUsedView/WalletUsedView.js +2 -2
  164. package/src/lib/widgets/DynamicBridgeWidget/views/EditProfileView/EditProfileView.cjs +3 -3
  165. package/src/lib/widgets/DynamicBridgeWidget/views/EditProfileView/EditProfileView.js +3 -3
  166. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.cjs +9 -4
  167. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.js +10 -5
  168. package/src/lib/widgets/DynamicWidget/views/ChooseWalletFundingMethod/useFundingMethods/useStartExternalWalletFunding/useStartExternalWalletFunding.cjs +0 -17
  169. package/src/lib/widgets/DynamicWidget/views/ChooseWalletFundingMethod/useFundingMethods/useStartExternalWalletFunding/useStartExternalWalletFunding.js +0 -17
  170. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +3 -3
  171. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +3 -3
  172. package/src/lib/widgets/DynamicWidget/views/GlobalWalletView/GlobalWalletView.cjs +4 -4
  173. package/src/lib/widgets/DynamicWidget/views/GlobalWalletView/GlobalWalletView.js +4 -4
  174. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/ManageMfaWidgetView.cjs +2 -2
  175. package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/ManageMfaWidgetView.js +2 -2
  176. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs +2 -2
  177. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js +2 -2
package/CHANGELOG.md CHANGED
@@ -1,4 +1,24 @@
1
1
 
2
+ ### [4.4.4](https://github.com/dynamic-labs/dynamic-auth/compare/v4.4.3...v4.4.4) (2025-01-31)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * coinbase connect only signature request message flicker ([#7950](https://github.com/dynamic-labs/dynamic-auth/issues/7950)) ([e7bc2b8](https://github.com/dynamic-labs/dynamic-auth/commit/e7bc2b82f611612936521838b0fe01a5115446c3))
8
+ * decouple show menu from click event ([#7951](https://github.com/dynamic-labs/dynamic-auth/issues/7951)) ([b1132f9](https://github.com/dynamic-labs/dynamic-auth/commit/b1132f96bda15a9cbea30c3040f6bf9cd7be5e05))
9
+ * ensure correct dependencies are listed in packages ([#7949](https://github.com/dynamic-labs/dynamic-auth/issues/7949)) ([a84f39f](https://github.com/dynamic-labs/dynamic-auth/commit/a84f39fcb289b17c6b17b51977b685ea66b4b16d))
10
+ * in-app browser coinbase evm wallet ([#7957](https://github.com/dynamic-labs/dynamic-auth/issues/7957)) ([a85f556](https://github.com/dynamic-labs/dynamic-auth/commit/a85f556d4c44bf331718f9d04ec64a68f492240b))
11
+ * mfa and external wallet funding back button ([#7930](https://github.com/dynamic-labs/dynamic-auth/issues/7930)) ([7f65dc6](https://github.com/dynamic-labs/dynamic-auth/commit/7f65dc66f4d121ac5ee1b34638f52543e53476db))
12
+ * **sdk-react-core:** logout user when SDK is upgraded ([#7940](https://github.com/dynamic-labs/dynamic-auth/issues/7940)) ([e20b113](https://github.com/dynamic-labs/dynamic-auth/commit/e20b113d5dc182df499b34080893da9fc98568f6))
13
+ * set sms verified to always true ([#7929](https://github.com/dynamic-labs/dynamic-auth/issues/7929)) ([9bfbc99](https://github.com/dynamic-labs/dynamic-auth/commit/9bfbc999da04ee9ebf1f4f4dff8c70c1cac18131))
14
+
15
+ ### [4.4.3](https://github.com/dynamic-labs/dynamic-auth/compare/v4.4.2...v4.4.3) (2025-01-30)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * remove extra useOnClickOutside hook ([#7910](https://github.com/dynamic-labs/dynamic-auth/issues/7910)) ([42fce2e](https://github.com/dynamic-labs/dynamic-auth/commit/42fce2e91e814514a72c97b3ea06930db805a200))
21
+
2
22
  ### [4.4.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.4.1...v4.4.2) (2025-01-30)
3
23
 
4
24
 
package/package.cjs CHANGED
@@ -3,9 +3,9 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.4.2";
6
+ var version = "4.4.4";
7
7
  var dependencies = {
8
- "@dynamic-labs/sdk-api-core": "0.0.599",
8
+ "@dynamic-labs/sdk-api-core": "0.0.604",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
10
10
  "@thumbmarkjs/thumbmarkjs": "0.16.0",
11
11
  "country-list": "2.3.0",
package/package.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use client'
2
- var version = "4.4.2";
2
+ var version = "4.4.4";
3
3
  var dependencies = {
4
- "@dynamic-labs/sdk-api-core": "0.0.599",
4
+ "@dynamic-labs/sdk-api-core": "0.0.604",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
6
6
  "@thumbmarkjs/thumbmarkjs": "0.16.0",
7
7
  "country-list": "2.3.0",
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "4.4.2",
3
+ "version": "4.4.4",
4
4
  "dependencies": {
5
- "@dynamic-labs/sdk-api-core": "0.0.599",
5
+ "@dynamic-labs/sdk-api-core": "0.0.604",
6
6
  "@hcaptcha/react-hcaptcha": "1.4.4",
7
7
  "@thumbmarkjs/thumbmarkjs": "0.16.0",
8
8
  "country-list": "2.3.0",
@@ -13,16 +13,16 @@
13
13
  "react-i18next": "13.5.0",
14
14
  "yup": "0.32.11",
15
15
  "react-international-phone": "4.2.5",
16
- "@dynamic-labs/assert-package-version": "4.4.2",
17
- "@dynamic-labs/iconic": "4.4.2",
18
- "@dynamic-labs/logger": "4.4.2",
19
- "@dynamic-labs/multi-wallet": "4.4.2",
20
- "@dynamic-labs/rpc-providers": "4.4.2",
21
- "@dynamic-labs/store": "4.4.2",
22
- "@dynamic-labs/types": "4.4.2",
23
- "@dynamic-labs/utils": "4.4.2",
24
- "@dynamic-labs/wallet-book": "4.4.2",
25
- "@dynamic-labs/wallet-connector-core": "4.4.2",
16
+ "@dynamic-labs/assert-package-version": "4.4.4",
17
+ "@dynamic-labs/iconic": "4.4.4",
18
+ "@dynamic-labs/logger": "4.4.4",
19
+ "@dynamic-labs/multi-wallet": "4.4.4",
20
+ "@dynamic-labs/rpc-providers": "4.4.4",
21
+ "@dynamic-labs/store": "4.4.4",
22
+ "@dynamic-labs/types": "4.4.4",
23
+ "@dynamic-labs/utils": "4.4.4",
24
+ "@dynamic-labs/wallet-book": "4.4.4",
25
+ "@dynamic-labs/wallet-connector-core": "4.4.4",
26
26
  "bs58": "5.0.0",
27
27
  "eventemitter3": "5.0.1"
28
28
  },
package/src/lib/Main.cjs CHANGED
@@ -103,7 +103,7 @@ const viewsToDisableCloseOnOverlayClick = [
103
103
  ];
104
104
  const Main = () => {
105
105
  const { selectedWalletConnector, linkedWallets, projectSettings, setShowAuthFlow, showAuthFlow, walletConnectorOptions, clearStatesOnBackClick, user, disconnectWallet, authMode, connectedWallets, handleLogOut, } = useInternalDynamicContext.useInternalDynamicContext();
106
- const { view, goToInitialView } = ViewContext.useViewContext();
106
+ const { view, clearStackAndPushInitialView } = ViewContext.useViewContext();
107
107
  const { setDeniedAddress, setDeniedOauthProvider } = AccessDeniedContext.useAccessDeniedContext();
108
108
  const { setExistentAccountData } = AccountExistsContext.useAccountExistsContext();
109
109
  const { setSocialProvider } = SocialRedirectContext.useSocialRedirectContext();
@@ -167,8 +167,8 @@ const Main = () => {
167
167
  const handleOnPortalUnmount = React.useCallback(() => {
168
168
  // IMPORTANT: we need to reset the view because we reset state that the view depends on
169
169
  // so if the previous view renders when the user reopens the widget, it will crash
170
- goToInitialView();
171
- }, [goToInitialView]);
170
+ clearStackAndPushInitialView();
171
+ }, [clearStackAndPushInitialView]);
172
172
  useVerifyOnAwaitingSignature.useVerifyOnAwaitingSignature();
173
173
  const { handleAlreadyConnectedWallet, handleCustodialWalletClick, handleInstalledExtensionClick, handleMobileWalletClick, handleUninstalledClick, } = useWalletItemActions.useWalletItemActions();
174
174
  /* istanbul ignore next */
package/src/lib/Main.js CHANGED
@@ -99,7 +99,7 @@ const viewsToDisableCloseOnOverlayClick = [
99
99
  ];
100
100
  const Main = () => {
101
101
  const { selectedWalletConnector, linkedWallets, projectSettings, setShowAuthFlow, showAuthFlow, walletConnectorOptions, clearStatesOnBackClick, user, disconnectWallet, authMode, connectedWallets, handleLogOut, } = useInternalDynamicContext();
102
- const { view, goToInitialView } = useViewContext();
102
+ const { view, clearStackAndPushInitialView } = useViewContext();
103
103
  const { setDeniedAddress, setDeniedOauthProvider } = useAccessDeniedContext();
104
104
  const { setExistentAccountData } = useAccountExistsContext();
105
105
  const { setSocialProvider } = useSocialRedirectContext();
@@ -163,8 +163,8 @@ const Main = () => {
163
163
  const handleOnPortalUnmount = useCallback(() => {
164
164
  // IMPORTANT: we need to reset the view because we reset state that the view depends on
165
165
  // so if the previous view renders when the user reopens the widget, it will crash
166
- goToInitialView();
167
- }, [goToInitialView]);
166
+ clearStackAndPushInitialView();
167
+ }, [clearStackAndPushInitialView]);
168
168
  useVerifyOnAwaitingSignature();
169
169
  const { handleAlreadyConnectedWallet, handleCustodialWalletClick, handleInstalledExtensionClick, handleMobileWalletClick, handleUninstalledClick, } = useWalletItemActions();
170
170
  /* istanbul ignore next */
@@ -11,7 +11,7 @@ require('@dynamic-labs/sdk-api-core');
11
11
  require('../../shared/logger.cjs');
12
12
  require('@dynamic-labs/iconic');
13
13
  require('@dynamic-labs/wallet-connector-core');
14
- var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
14
+ require('../../context/ViewContext/ViewContext.cjs');
15
15
  require('@dynamic-labs/wallet-book');
16
16
  require('@dynamic-labs/utils');
17
17
  require('../../utils/constants/colors.cjs');
@@ -94,7 +94,6 @@ var useInternalDynamicContext = require('../../context/DynamicContext/useDynamic
94
94
 
95
95
  const DynamicConnectButton = ({ buttonContainerClassName = '', buttonClassName = '', children, copykey, }) => {
96
96
  const { projectSettings, setShowAuthFlow, setSelectedWalletConnectorKey } = useInternalDynamicContext.useInternalDynamicContext();
97
- const { setView } = ViewContext.useViewContext();
98
97
  const [didUserClick, setUserClicked] = React.useState(false);
99
98
  const handleOnClick = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
100
99
  if (!didUserClick) {
@@ -102,7 +101,7 @@ const DynamicConnectButton = ({ buttonContainerClassName = '', buttonClassName =
102
101
  }
103
102
  setSelectedWalletConnectorKey(null);
104
103
  setShowAuthFlow(true);
105
- }), [didUserClick, setSelectedWalletConnectorKey, setShowAuthFlow, setView]);
104
+ }), [didUserClick, setSelectedWalletConnectorKey, setShowAuthFlow]);
106
105
  return (jsxRuntime.jsx(ConnectButton.ConnectButton, { isLoading: !projectSettings, isActive: didUserClick, onClick: handleOnClick, buttonContainerClassName: buttonContainerClassName, buttonClassName: buttonClassName, copykey: copykey, children: children }));
107
106
  };
108
107
 
@@ -7,7 +7,7 @@ import '@dynamic-labs/sdk-api-core';
7
7
  import '../../shared/logger.js';
8
8
  import '@dynamic-labs/iconic';
9
9
  import '@dynamic-labs/wallet-connector-core';
10
- import { useViewContext } from '../../context/ViewContext/ViewContext.js';
10
+ import '../../context/ViewContext/ViewContext.js';
11
11
  import '@dynamic-labs/wallet-book';
12
12
  import '@dynamic-labs/utils';
13
13
  import '../../utils/constants/colors.js';
@@ -90,7 +90,6 @@ import { useInternalDynamicContext } from '../../context/DynamicContext/useDynam
90
90
 
91
91
  const DynamicConnectButton = ({ buttonContainerClassName = '', buttonClassName = '', children, copykey, }) => {
92
92
  const { projectSettings, setShowAuthFlow, setSelectedWalletConnectorKey } = useInternalDynamicContext();
93
- const { setView } = useViewContext();
94
93
  const [didUserClick, setUserClicked] = useState(false);
95
94
  const handleOnClick = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
96
95
  if (!didUserClick) {
@@ -98,7 +97,7 @@ const DynamicConnectButton = ({ buttonContainerClassName = '', buttonClassName =
98
97
  }
99
98
  setSelectedWalletConnectorKey(null);
100
99
  setShowAuthFlow(true);
101
- }), [didUserClick, setSelectedWalletConnectorKey, setShowAuthFlow, setView]);
100
+ }), [didUserClick, setSelectedWalletConnectorKey, setShowAuthFlow]);
102
101
  return (jsx(ConnectButton, { isLoading: !projectSettings, isActive: didUserClick, onClick: handleOnClick, buttonContainerClassName: buttonContainerClassName, buttonClassName: buttonClassName, copykey: copykey, children: children }));
103
102
  };
104
103
 
@@ -4,13 +4,11 @@
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
- var Toggle = require('../Toggle/Toggle.cjs');
8
- var Icon = require('../Icon/Icon.cjs');
7
+ var React = require('react');
9
8
  require('@dynamic-labs/sdk-api-core');
10
9
  require('../../shared/logger.cjs');
11
10
  require('@dynamic-labs/iconic');
12
11
  require('@dynamic-labs/wallet-connector-core');
13
- require('react');
14
12
  var check = require('../../shared/assets/check.cjs');
15
13
  require('../../context/ViewContext/ViewContext.cjs');
16
14
  require('@dynamic-labs/wallet-book');
@@ -18,17 +16,20 @@ require('@dynamic-labs/utils');
18
16
  require('../../utils/constants/colors.cjs');
19
17
  require('../../utils/constants/values.cjs');
20
18
  require('../../shared/consts/index.cjs');
19
+ var Icon = require('../Icon/Icon.cjs');
21
20
  var ListTile = require('../ListTile/ListTile.cjs');
21
+ var Toggle = require('../Toggle/Toggle.cjs');
22
22
 
23
23
  const HardwareWalletToggle = ({ connectors, label, copykey, }) => {
24
- const toggle = (jsxRuntime.jsx(Toggle.Toggle, { defaultChecked: connectors.some((connector) => connector.isHardwareWalletEnabled), onChange: (event) => {
25
- connectors.forEach((connector) => {
26
- connector.isHardwareWalletEnabled = event.target.checked;
27
- });
28
- }, "data-testid": 'hardware-wallet-toggle', icon:
29
- // eslint-disable-next-line react/jsx-wrap-multilines
30
- jsxRuntime.jsx(Icon.Icon, { size: 'small', children: jsxRuntime.jsx(check.ReactComponent, {}) }) }));
31
- return (jsxRuntime.jsx(ListTile.ListTile, { trailing: toggle, children: jsxRuntime.jsx("span", { copykey, children: label }) }));
24
+ const [isEnabled, _setEnabled] = React.useState(connectors.some((connector) => connector.isHardwareWalletEnabled));
25
+ const setEnabled = React.useCallback((enabled) => {
26
+ _setEnabled(enabled);
27
+ connectors.forEach((connector) => {
28
+ connector.isHardwareWalletEnabled = enabled;
29
+ });
30
+ }, [connectors]);
31
+ const toggle = (jsxRuntime.jsx(Toggle.Toggle, { value: isEnabled, dataTestId: 'hardware-wallet-toggle', icon: jsxRuntime.jsx(Icon.Icon, { size: 'small', children: jsxRuntime.jsx(check.ReactComponent, {}) }), className: 'hardware-wallet-toggle__toggle' }));
32
+ return (jsxRuntime.jsx(ListTile.ListTile, { onClick: () => setEnabled(!isEnabled), trailing: toggle, children: jsxRuntime.jsx("span", { copykey, children: label }) }));
32
33
  };
33
34
 
34
35
  exports.HardwareWalletToggle = HardwareWalletToggle;
@@ -1,12 +1,10 @@
1
1
  'use client'
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { Toggle } from '../Toggle/Toggle.js';
4
- import { Icon } from '../Icon/Icon.js';
3
+ import { useState, useCallback } from 'react';
5
4
  import '@dynamic-labs/sdk-api-core';
6
5
  import '../../shared/logger.js';
7
6
  import '@dynamic-labs/iconic';
8
7
  import '@dynamic-labs/wallet-connector-core';
9
- import 'react';
10
8
  import { ReactComponent as SvgCheck } from '../../shared/assets/check.js';
11
9
  import '../../context/ViewContext/ViewContext.js';
12
10
  import '@dynamic-labs/wallet-book';
@@ -14,17 +12,20 @@ import '@dynamic-labs/utils';
14
12
  import '../../utils/constants/colors.js';
15
13
  import '../../utils/constants/values.js';
16
14
  import '../../shared/consts/index.js';
15
+ import { Icon } from '../Icon/Icon.js';
17
16
  import { ListTile } from '../ListTile/ListTile.js';
17
+ import { Toggle } from '../Toggle/Toggle.js';
18
18
 
19
19
  const HardwareWalletToggle = ({ connectors, label, copykey, }) => {
20
- const toggle = (jsx(Toggle, { defaultChecked: connectors.some((connector) => connector.isHardwareWalletEnabled), onChange: (event) => {
21
- connectors.forEach((connector) => {
22
- connector.isHardwareWalletEnabled = event.target.checked;
23
- });
24
- }, "data-testid": 'hardware-wallet-toggle', icon:
25
- // eslint-disable-next-line react/jsx-wrap-multilines
26
- jsx(Icon, { size: 'small', children: jsx(SvgCheck, {}) }) }));
27
- return (jsx(ListTile, { trailing: toggle, children: jsx("span", { copykey, children: label }) }));
20
+ const [isEnabled, _setEnabled] = useState(connectors.some((connector) => connector.isHardwareWalletEnabled));
21
+ const setEnabled = useCallback((enabled) => {
22
+ _setEnabled(enabled);
23
+ connectors.forEach((connector) => {
24
+ connector.isHardwareWalletEnabled = enabled;
25
+ });
26
+ }, [connectors]);
27
+ const toggle = (jsx(Toggle, { value: isEnabled, dataTestId: 'hardware-wallet-toggle', icon: jsx(Icon, { size: 'small', children: jsx(SvgCheck, {}) }), className: 'hardware-wallet-toggle__toggle' }));
28
+ return (jsx(ListTile, { onClick: () => setEnabled(!isEnabled), trailing: toggle, children: jsx("span", { copykey, children: label }) }));
28
29
  };
29
30
 
30
31
  export { HardwareWalletToggle };
@@ -100,7 +100,7 @@ const NeedHelpSection = ({ isRecoveryFlow = false, isExport = false, }) => {
100
100
  var _a, _b, _c, _d, _e;
101
101
  const { projectSettings, user } = useInternalDynamicContext.useInternalDynamicContext();
102
102
  const { t } = reactI18next.useTranslation();
103
- const { setView } = ViewContext.useViewContext();
103
+ const { pushView } = ViewContext.useViewContext();
104
104
  const { initPasskeyRecoveryProcess } = usePasskeyRecovery.usePasskeyRecovery();
105
105
  const supportEmail = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) === null || _a === void 0 ? void 0 : _a.supportEmail;
106
106
  const supportUrls = (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) === null || _b === void 0 ? void 0 : _b.supportUrls;
@@ -119,7 +119,7 @@ const NeedHelpSection = ({ isRecoveryFlow = false, isExport = false, }) => {
119
119
  settings: isExport
120
120
  ? {
121
121
  goBack: () => {
122
- setView('embedded-reveal-view');
122
+ pushView('embedded-reveal-view');
123
123
  },
124
124
  }
125
125
  : undefined,
@@ -96,7 +96,7 @@ const NeedHelpSection = ({ isRecoveryFlow = false, isExport = false, }) => {
96
96
  var _a, _b, _c, _d, _e;
97
97
  const { projectSettings, user } = useInternalDynamicContext();
98
98
  const { t } = useTranslation();
99
- const { setView } = useViewContext();
99
+ const { pushView } = useViewContext();
100
100
  const { initPasskeyRecoveryProcess } = usePasskeyRecovery();
101
101
  const supportEmail = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) === null || _a === void 0 ? void 0 : _a.supportEmail;
102
102
  const supportUrls = (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) === null || _b === void 0 ? void 0 : _b.supportUrls;
@@ -115,7 +115,7 @@ const NeedHelpSection = ({ isRecoveryFlow = false, isExport = false, }) => {
115
115
  settings: isExport
116
116
  ? {
117
117
  goBack: () => {
118
- setView('embedded-reveal-view');
118
+ pushView('embedded-reveal-view');
119
119
  },
120
120
  }
121
121
  : undefined,
@@ -101,7 +101,7 @@ var LoadingQrCode = require('../../LoadingQrCode/LoadingQrCode.cjs');
101
101
 
102
102
  const QrCodeContainer = ({ accentColor, walletConnector, qrcodeValue, Icon: MainIcon, showCopyToClipboardButton = false, desktopUri, showQrCodeMessage, showQrCodeImage, }) => {
103
103
  const { t } = reactI18next.useTranslation();
104
- const { setView } = ViewContext.useViewContext();
104
+ const { pushView } = ViewContext.useViewContext();
105
105
  const downloadLinks = useWalletDownloadLinks.useWalletDownloadLinks(walletConnector);
106
106
  const renderAppOrExtensionButton = () => {
107
107
  if (desktopUri) {
@@ -110,7 +110,7 @@ const QrCodeContainer = ({ accentColor, walletConnector, qrcodeValue, Icon: Main
110
110
  jsxRuntime.jsx(Icon.Icon, { size: 'xsmall', color: 'text-tertiary', children: jsxRuntime.jsx(externalLink.ReactComponent, {}) }), children: t('dyn_qr_code.open_button') }));
111
111
  }
112
112
  if (downloadLinks === null || downloadLinks === void 0 ? void 0 : downloadLinks.length) {
113
- return (jsxRuntime.jsx(TypographyButton.TypographyButton, { expanded: true, dataTestId: 'get-extension-button', buttonPadding: 'small', buttonVariant: 'primary', buttonClassName: 'qr-code-button', onClick: () => setView('no-qr-not-installed'), copykey: 'dyn_qr_code.get_extension_button', typographyProps: { variant: 'button_secondary' }, startSlot:
113
+ return (jsxRuntime.jsx(TypographyButton.TypographyButton, { expanded: true, dataTestId: 'get-extension-button', buttonPadding: 'small', buttonVariant: 'primary', buttonClassName: 'qr-code-button', onClick: () => pushView('no-qr-not-installed'), copykey: 'dyn_qr_code.get_extension_button', typographyProps: { variant: 'button_secondary' }, startSlot:
114
114
  // eslint-disable-next-line react/jsx-wrap-multilines
115
115
  jsxRuntime.jsx(Icon.Icon, { size: 'xsmall', color: 'text-tertiary', children: jsxRuntime.jsx(externalLink.ReactComponent, {}) }), children: t('dyn_qr_code.get_extension_button') }));
116
116
  }
@@ -97,7 +97,7 @@ import { LoadingQrCode } from '../../LoadingQrCode/LoadingQrCode.js';
97
97
 
98
98
  const QrCodeContainer = ({ accentColor, walletConnector, qrcodeValue, Icon: MainIcon, showCopyToClipboardButton = false, desktopUri, showQrCodeMessage, showQrCodeImage, }) => {
99
99
  const { t } = useTranslation();
100
- const { setView } = useViewContext();
100
+ const { pushView } = useViewContext();
101
101
  const downloadLinks = useWalletDownloadLinks(walletConnector);
102
102
  const renderAppOrExtensionButton = () => {
103
103
  if (desktopUri) {
@@ -106,7 +106,7 @@ const QrCodeContainer = ({ accentColor, walletConnector, qrcodeValue, Icon: Main
106
106
  jsx(Icon, { size: 'xsmall', color: 'text-tertiary', children: jsx(SvgExternalLink, {}) }), children: t('dyn_qr_code.open_button') }));
107
107
  }
108
108
  if (downloadLinks === null || downloadLinks === void 0 ? void 0 : downloadLinks.length) {
109
- return (jsx(TypographyButton, { expanded: true, dataTestId: 'get-extension-button', buttonPadding: 'small', buttonVariant: 'primary', buttonClassName: 'qr-code-button', onClick: () => setView('no-qr-not-installed'), copykey: 'dyn_qr_code.get_extension_button', typographyProps: { variant: 'button_secondary' }, startSlot:
109
+ return (jsx(TypographyButton, { expanded: true, dataTestId: 'get-extension-button', buttonPadding: 'small', buttonVariant: 'primary', buttonClassName: 'qr-code-button', onClick: () => pushView('no-qr-not-installed'), copykey: 'dyn_qr_code.get_extension_button', typographyProps: { variant: 'button_secondary' }, startSlot:
110
110
  // eslint-disable-next-line react/jsx-wrap-multilines
111
111
  jsx(Icon, { size: 'xsmall', color: 'text-tertiary', children: jsx(SvgExternalLink, {}) }), children: t('dyn_qr_code.get_extension_button') }));
112
112
  }
@@ -3,13 +3,9 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var _tslib = require('../../../../_virtual/_tslib.cjs');
7
6
  var jsxRuntime = require('react/jsx-runtime');
8
7
  var classNames = require('../../utils/functions/classNames/classNames.cjs');
9
8
 
10
- const Toggle = (_a) => {
11
- var { icon, variant = 'primary', className } = _a, props = _tslib.__rest(_a, ["icon", "variant", "className"]);
12
- return (jsxRuntime.jsxs("label", { className: classNames.classNames('toggle', className), children: [jsxRuntime.jsx("input", Object.assign({ type: 'checkbox', className: 'toggle--input' }, props)), jsxRuntime.jsx("div", { className: classNames.classNames('toggle--content', `toggle--content__variant-${variant}`), children: jsxRuntime.jsx("div", { className: 'toggle--knob', children: icon }) })] }));
13
- };
9
+ const Toggle = ({ icon, variant = 'primary', value, onChange, dataTestId, className, style, }) => (jsxRuntime.jsxs("label", { className: classNames.classNames('toggle', className), style: style, children: [jsxRuntime.jsx("input", { type: 'checkbox', className: 'toggle--input', "data-testid": dataTestId, checked: value, onChange: () => onChange === null || onChange === void 0 ? void 0 : onChange(!value) }), jsxRuntime.jsx("div", { className: classNames.classNames('toggle--content', `toggle--content__variant-${variant}`), children: jsxRuntime.jsx("div", { className: 'toggle--knob', children: icon }) })] }));
14
10
 
15
11
  exports.Toggle = Toggle;
@@ -1,7 +1,11 @@
1
- import { ComponentPropsWithoutRef, FC } from 'react';
2
- type ToggleProps = ComponentPropsWithoutRef<'input'> & {
1
+ import { FC } from 'react';
2
+ import { ClassStyleProps } from '../../utils/types';
3
+ type ToggleProps = ClassStyleProps & {
4
+ dataTestId?: string;
3
5
  icon?: JSX.Element;
4
6
  variant?: 'primary';
7
+ value?: boolean;
8
+ onChange?: (value: boolean) => void;
5
9
  };
6
10
  export declare const Toggle: FC<ToggleProps>;
7
11
  export {};
@@ -1,11 +1,7 @@
1
1
  'use client'
2
- import { __rest } from '../../../../_virtual/_tslib.js';
3
2
  import { jsxs, jsx } from 'react/jsx-runtime';
4
3
  import { classNames } from '../../utils/functions/classNames/classNames.js';
5
4
 
6
- const Toggle = (_a) => {
7
- var { icon, variant = 'primary', className } = _a, props = __rest(_a, ["icon", "variant", "className"]);
8
- return (jsxs("label", { className: classNames('toggle', className), children: [jsx("input", Object.assign({ type: 'checkbox', className: 'toggle--input' }, props)), jsx("div", { className: classNames('toggle--content', `toggle--content__variant-${variant}`), children: jsx("div", { className: 'toggle--knob', children: icon }) })] }));
9
- };
5
+ const Toggle = ({ icon, variant = 'primary', value, onChange, dataTestId, className, style, }) => (jsxs("label", { className: classNames('toggle', className), style: style, children: [jsx("input", { type: 'checkbox', className: 'toggle--input', "data-testid": dataTestId, checked: value, onChange: () => onChange === null || onChange === void 0 ? void 0 : onChange(!value) }), jsx("div", { className: classNames('toggle--content', `toggle--content__variant-${variant}`), children: jsx("div", { className: 'toggle--knob', children: icon }) })] }));
10
6
 
11
7
  export { Toggle };
@@ -115,7 +115,7 @@ const TransactionConfirmationPageLayout = ({ onClickClose, isLoading, onClickBac
115
115
  const { t } = reactI18next.useTranslation();
116
116
  const { isTurnkeyWallet } = useIsTurnkeyWallet.useIsTurnkeyWallet();
117
117
  const { setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
118
- const { setView } = ViewContext.useViewContext();
118
+ const { pushView } = ViewContext.useViewContext();
119
119
  const { userNeedsCrossDomainPasskey } = PasskeyContext.usePasskeyContext();
120
120
  const { initPasskeyRecoveryProcess, shouldInitRecovery } = usePasskeyRecovery.usePasskeyRecovery();
121
121
  const { currency } = useFetchCurrency.useFetchCurrency(walletConnector);
@@ -128,7 +128,7 @@ const TransactionConfirmationPageLayout = ({ onClickClose, isLoading, onClickBac
128
128
  userNeedsCrossDomainPasskey,
129
129
  usingSessionKey: usingSessionKeys.usingSessionKey,
130
130
  walletConnector,
131
- }, { initPasskeyRecoveryProcess, shouldInitRecovery }, { setShowAuthFlow, setView });
131
+ }, { initPasskeyRecoveryProcess, shouldInitRecovery }, { pushView, setShowAuthFlow });
132
132
  const closeButton = onClickClose && (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: onClickClose, "data-testid": 'close', disabled: isLoading, children: jsxRuntime.jsx(close.ReactComponent, {}) }));
133
133
  const backButton = onClickBack && (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: onClickBack, "data-testid": 'back-button', children: jsxRuntime.jsx(arrowLeft.ReactComponent, {}) }));
134
134
  const gasFiatValue = fiatUtils.getGasFiatValue(currentToken, transaction, nativePrice);
@@ -111,7 +111,7 @@ const TransactionConfirmationPageLayout = ({ onClickClose, isLoading, onClickBac
111
111
  const { t } = useTranslation();
112
112
  const { isTurnkeyWallet } = useIsTurnkeyWallet();
113
113
  const { setShowAuthFlow } = useInternalDynamicContext();
114
- const { setView } = useViewContext();
114
+ const { pushView } = useViewContext();
115
115
  const { userNeedsCrossDomainPasskey } = usePasskeyContext();
116
116
  const { initPasskeyRecoveryProcess, shouldInitRecovery } = usePasskeyRecovery();
117
117
  const { currency } = useFetchCurrency(walletConnector);
@@ -124,7 +124,7 @@ const TransactionConfirmationPageLayout = ({ onClickClose, isLoading, onClickBac
124
124
  userNeedsCrossDomainPasskey,
125
125
  usingSessionKey,
126
126
  walletConnector,
127
- }, { initPasskeyRecoveryProcess, shouldInitRecovery }, { setShowAuthFlow, setView });
127
+ }, { initPasskeyRecoveryProcess, shouldInitRecovery }, { pushView, setShowAuthFlow });
128
128
  const closeButton = onClickClose && (jsx(IconButton, { type: 'button', onClick: onClickClose, "data-testid": 'close', disabled: isLoading, children: jsx(SvgClose, {}) }));
129
129
  const backButton = onClickBack && (jsx(IconButton, { type: 'button', onClick: onClickBack, "data-testid": 'back-button', children: jsx(SvgArrowLeft, {}) }));
130
130
  const gasFiatValue = getGasFiatValue(currentToken, transaction, nativePrice);
@@ -67,7 +67,7 @@ const useHandleRecovery = (walletConnector, usingSessionKey, onSuccess, shouldIn
67
67
  const useHandleSubmitWithChecks = (config, recoveryHandlers, viewHandlers) => (e) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
68
68
  const { walletConnector, usingSessionKey, onClickSend, isTurnkeyWallet, userNeedsCrossDomainPasskey, } = config;
69
69
  const { shouldInitRecovery, initPasskeyRecoveryProcess } = recoveryHandlers;
70
- const { setView, setShowAuthFlow } = viewHandlers;
70
+ const { pushView, setShowAuthFlow } = viewHandlers;
71
71
  if (walletConnector && usingSessionKey(walletConnector)) {
72
72
  onClickSend(e);
73
73
  return;
@@ -78,7 +78,7 @@ const useHandleSubmitWithChecks = (config, recoveryHandlers, viewHandlers) => (e
78
78
  });
79
79
  }
80
80
  if (isTurnkeyWallet && userNeedsCrossDomainPasskey) {
81
- setView('passkey-new-domain-detected');
81
+ pushView('passkey-new-domain-detected');
82
82
  setShowAuthFlow(true, {
83
83
  ignoreIfIsEmbeddedWidget: false,
84
84
  performMultiWalletChecks: false,
@@ -20,7 +20,7 @@ interface RecoveryHandlers {
20
20
  initPasskeyRecoveryProcess: (authenticatorType?: AuthenticatorType, currentAction?: EmbeddedWalletCurrentAction) => Promise<Wallet>;
21
21
  }
22
22
  interface ViewHandlers {
23
- setView: (view: ViewType) => void;
23
+ pushView: (view: ViewType) => void;
24
24
  setShowAuthFlow: (show: boolean, options: AuthFlowOptions) => void;
25
25
  }
26
26
  export declare const useCurrencySymbol: (currentToken: TokenBalance | undefined, currency: string | undefined) => string | undefined;
@@ -63,7 +63,7 @@ const useHandleRecovery = (walletConnector, usingSessionKey, onSuccess, shouldIn
63
63
  const useHandleSubmitWithChecks = (config, recoveryHandlers, viewHandlers) => (e) => __awaiter(void 0, void 0, void 0, function* () {
64
64
  const { walletConnector, usingSessionKey, onClickSend, isTurnkeyWallet, userNeedsCrossDomainPasskey, } = config;
65
65
  const { shouldInitRecovery, initPasskeyRecoveryProcess } = recoveryHandlers;
66
- const { setView, setShowAuthFlow } = viewHandlers;
66
+ const { pushView, setShowAuthFlow } = viewHandlers;
67
67
  if (walletConnector && usingSessionKey(walletConnector)) {
68
68
  onClickSend(e);
69
69
  return;
@@ -74,7 +74,7 @@ const useHandleSubmitWithChecks = (config, recoveryHandlers, viewHandlers) => (e
74
74
  });
75
75
  }
76
76
  if (isTurnkeyWallet && userNeedsCrossDomainPasskey) {
77
- setView('passkey-new-domain-detected');
77
+ pushView('passkey-new-domain-detected');
78
78
  setShowAuthFlow(true, {
79
79
  ignoreIfIsEmbeddedWidget: false,
80
80
  performMultiWalletChecks: false,
@@ -20,13 +20,13 @@ require('../../shared/consts/index.cjs');
20
20
 
21
21
  const CaptchaContext = React.createContext(undefined);
22
22
  const CaptchaContextProvider = ({ children, }) => {
23
- const { setView } = ViewContext.useViewContext();
23
+ const { pushView } = ViewContext.useViewContext();
24
24
  const [captchaToken, setCaptchaToken, removeCaptchaToken] = useLocalStorage.useLocalStorage(localStorage.CAPTCHA_TOKEN, undefined);
25
25
  const [captchaAuthState, setCaptchaAuthState] = React.useState();
26
26
  const engageCaptcha = React.useCallback(({ authMethod, onCaptchaSuccess, }) => {
27
27
  setCaptchaAuthState({ authMethod, onCaptchaSuccess });
28
- setView('captcha');
29
- }, [setView, setCaptchaAuthState]);
28
+ pushView('captcha');
29
+ }, [pushView, setCaptchaAuthState]);
30
30
  const getCaptchaToken = React.useCallback(() => {
31
31
  const token = captchaToken;
32
32
  removeCaptchaToken();
@@ -16,13 +16,13 @@ import '../../shared/consts/index.js';
16
16
 
17
17
  const CaptchaContext = createContext(undefined);
18
18
  const CaptchaContextProvider = ({ children, }) => {
19
- const { setView } = useViewContext();
19
+ const { pushView } = useViewContext();
20
20
  const [captchaToken, setCaptchaToken, removeCaptchaToken] = useLocalStorage(CAPTCHA_TOKEN, undefined);
21
21
  const [captchaAuthState, setCaptchaAuthState] = useState();
22
22
  const engageCaptcha = useCallback(({ authMethod, onCaptchaSuccess, }) => {
23
23
  setCaptchaAuthState({ authMethod, onCaptchaSuccess });
24
- setView('captcha');
25
- }, [setView, setCaptchaAuthState]);
24
+ pushView('captcha');
25
+ }, [pushView, setCaptchaAuthState]);
26
26
  const getCaptchaToken = useCallback(() => {
27
27
  const token = captchaToken;
28
28
  removeCaptchaToken();
@@ -58,7 +58,7 @@ const createSmsHandler = (environmentId, { shouldRegisterSessionKeysOnSignin, ge
58
58
  return {
59
59
  destination: phone,
60
60
  response: response,
61
- verified: Boolean(response.jwt),
61
+ verified: true,
62
62
  };
63
63
  }),
64
64
  };
@@ -54,7 +54,7 @@ const createSmsHandler = (environmentId, { shouldRegisterSessionKeysOnSignin, ge
54
54
  return {
55
55
  destination: phone,
56
56
  response: response,
57
- verified: Boolean(response.jwt),
57
+ verified: true,
58
58
  };
59
59
  }),
60
60
  };
@@ -166,10 +166,15 @@ const InnerDynamicContextProvider = (props) => {
166
166
  useRegisterStorageService.useRegisterStorageService({
167
167
  storagePostfix: settings$1.localStorageSuffix,
168
168
  });
169
+ /**
170
+ * Tracks if the store version has changed so we can logout
171
+ * to ensure the whole state is cleared
172
+ */
173
+ const didStoreVersionChangedRef = React.useRef(false);
169
174
  /**
170
175
  * initialize global store
171
176
  */
172
- store.initializeStore(props);
177
+ store.initializeStore(Object.assign(Object.assign({}, props), { onPersistedVersionChanged: () => (didStoreVersionChangedRef.current = true) }));
173
178
  dynamicContextProps.useSyncDynamicContextProps(props);
174
179
  /**
175
180
  * Sets the chain info overrides if they are present
@@ -365,6 +370,7 @@ const InnerDynamicContextProvider = (props) => {
365
370
  walletConnectors,
366
371
  });
367
372
  useValidateSession.useValidateSession({
373
+ didStoreVersionChangedRef,
368
374
  environmentId,
369
375
  handleLogOut,
370
376
  });
@@ -1,7 +1,7 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../../../_virtual/_tslib.js';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
- import { createContext, useState, useMemo, useRef, useEffect, useCallback } from 'react';
4
+ import { createContext, useRef, useState, useMemo, useEffect, useCallback } from 'react';
5
5
  import { I18nextProvider } from 'react-i18next';
6
6
  import { getIconicSpriteUrl } from '@dynamic-labs/iconic';
7
7
  import { Logger } from '@dynamic-labs/logger';
@@ -162,10 +162,15 @@ const InnerDynamicContextProvider = (props) => {
162
162
  useRegisterStorageService({
163
163
  storagePostfix: settings.localStorageSuffix,
164
164
  });
165
+ /**
166
+ * Tracks if the store version has changed so we can logout
167
+ * to ensure the whole state is cleared
168
+ */
169
+ const didStoreVersionChangedRef = useRef(false);
165
170
  /**
166
171
  * initialize global store
167
172
  */
168
- initializeStore(props);
173
+ initializeStore(Object.assign(Object.assign({}, props), { onPersistedVersionChanged: () => (didStoreVersionChangedRef.current = true) }));
169
174
  useSyncDynamicContextProps(props);
170
175
  /**
171
176
  * Sets the chain info overrides if they are present
@@ -361,6 +366,7 @@ const InnerDynamicContextProvider = (props) => {
361
366
  walletConnectors,
362
367
  });
363
368
  useValidateSession({
369
+ didStoreVersionChangedRef,
364
370
  environmentId,
365
371
  handleLogOut,
366
372
  });
@@ -93,10 +93,8 @@ const MockContextProvider = ({ children, view, customerTheme, dynamicLayoutClass
93
93
  clearStackAndPush: () => { },
94
94
  clearStackAndPushInitialView: () => { },
95
95
  goBack: () => { },
96
- goToInitialView: () => { },
97
96
  pushView: () => { },
98
97
  replaceView: () => { },
99
- setView: () => { },
100
98
  stack: [],
101
99
  view,
102
100
  };