@dynamic-labs/sdk-react-core 0.19.3 → 1.0.0-alpha.1

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 (127) hide show
  1. package/CHANGELOG.md +41 -24
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +10 -10
  5. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +2 -1
  6. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +3 -2
  7. package/src/lib/components/DynamicConnectButton/DynamicConnectButton.cjs +3 -3
  8. package/src/lib/components/DynamicConnectButton/DynamicConnectButton.js +3 -3
  9. package/src/lib/context/CaptchaContext/CaptchaContext.cjs +27 -1
  10. package/src/lib/context/CaptchaContext/CaptchaContext.d.ts +14 -0
  11. package/src/lib/context/CaptchaContext/CaptchaContext.js +28 -3
  12. package/src/lib/context/DynamicContext/DynamicContext.cjs +11 -11
  13. package/src/lib/context/DynamicContext/DynamicContext.js +11 -11
  14. package/src/lib/context/DynamicContext/hooks/index.d.ts +1 -0
  15. package/src/lib/context/DynamicContext/hooks/useSelectedWalletConnector/index.d.ts +1 -0
  16. package/src/lib/context/DynamicContext/hooks/useSelectedWalletConnector/useSelectedWalletConnector.cjs +20 -0
  17. package/src/lib/context/DynamicContext/hooks/useSelectedWalletConnector/useSelectedWalletConnector.d.ts +10 -0
  18. package/src/lib/context/DynamicContext/hooks/useSelectedWalletConnector/useSelectedWalletConnector.js +16 -0
  19. package/src/lib/context/DynamicContext/types/index.d.ts +1 -1
  20. package/src/lib/context/DynamicContext/useCustomerCallbacks/types.d.ts +2 -3
  21. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +1 -1
  22. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.d.ts +1 -1
  23. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +1 -1
  24. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +6 -4
  25. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +6 -4
  26. package/src/lib/data/api.cjs +6 -3
  27. package/src/lib/data/api.d.ts +5 -3
  28. package/src/lib/data/api.js +6 -3
  29. package/src/lib/main.global.cjs +1 -1
  30. package/src/lib/main.global.js +1 -1
  31. package/src/lib/styles/index.shadow.cjs +1 -1
  32. package/src/lib/styles/index.shadow.js +1 -1
  33. package/src/lib/utils/hooks/authenticationHooks/helpers/showPendingConnectView.cjs +1 -1
  34. package/src/lib/utils/hooks/authenticationHooks/helpers/showPendingConnectView.js +1 -1
  35. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +42 -26
  36. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +42 -26
  37. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +9 -3
  38. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +9 -3
  39. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +5 -2
  40. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +5 -2
  41. package/src/lib/utils/hooks/index.d.ts +0 -1
  42. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +4 -4
  43. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +4 -4
  44. package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.cjs +39 -5
  45. package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.d.ts +1 -2
  46. package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.js +40 -6
  47. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +13 -1
  48. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +13 -1
  49. package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.cjs +10 -1
  50. package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.js +10 -1
  51. package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.cjs +8 -1
  52. package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.js +9 -2
  53. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +1 -1
  54. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +1 -1
  55. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +4 -3
  56. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.d.ts +5 -1
  57. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +4 -3
  58. package/src/lib/utils/hooks/useValidateSession/useValidateSession.cjs +3 -1
  59. package/src/lib/utils/hooks/useValidateSession/useValidateSession.js +3 -1
  60. package/src/lib/utils/hooks/useWalletConnectorEvent/useWalletConnectorEvent.cjs +0 -1
  61. package/src/lib/utils/hooks/useWalletConnectorEvent/useWalletConnectorEvent.js +0 -1
  62. package/src/lib/utils/hooks/useWalletConnectors/utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.cjs +15 -4
  63. package/src/lib/utils/hooks/useWalletConnectors/utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.js +15 -4
  64. package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.cjs +9 -0
  65. package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.d.ts +3 -0
  66. package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.js +5 -0
  67. package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/index.d.ts +1 -0
  68. package/src/lib/utils/hooks/useWalletConnectors/utils/smartWallet/index.d.ts +1 -0
  69. package/src/lib/utils/hooks/useWalletConnectors/utils/smartWallet/smartWallet.cjs +36 -0
  70. package/src/lib/utils/hooks/useWalletConnectors/utils/smartWallet/smartWallet.d.ts +10 -0
  71. package/src/lib/utils/hooks/useWalletConnectors/utils/smartWallet/smartWallet.js +29 -0
  72. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +4 -4
  73. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +3 -2
  74. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +4 -4
  75. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +8 -7
  76. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +8 -7
  77. package/src/lib/utils/hooks/useWallets/useWallets.cjs +0 -1
  78. package/src/lib/utils/hooks/useWallets/useWallets.js +0 -1
  79. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +9 -41
  80. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.d.ts +1 -1
  81. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +9 -41
  82. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +1 -1
  83. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +1 -1
  84. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.cjs +38 -34
  85. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.js +38 -34
  86. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.cjs +20 -3
  87. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.js +20 -3
  88. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.cjs +17 -2
  89. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.js +17 -2
  90. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.cjs +1 -1
  91. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.js +1 -1
  92. package/src/lib/views/PasskeyIntroView/PasskeyIntroView.cjs +15 -3
  93. package/src/lib/views/PasskeyIntroView/PasskeyIntroView.js +15 -3
  94. package/src/lib/views/PasskeyIntroView/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs +1 -2
  95. package/src/lib/views/PasskeyIntroView/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.d.ts +1 -1
  96. package/src/lib/views/PasskeyIntroView/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js +1 -2
  97. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +16 -8
  98. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +16 -8
  99. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.cjs +5 -2
  100. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.d.ts +2 -1
  101. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.js +5 -2
  102. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +2 -2
  103. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +2 -2
  104. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.cjs +2 -1
  105. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.d.ts +1 -1
  106. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.js +2 -1
  107. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.cjs +2 -1
  108. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.d.ts +1 -1
  109. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.js +2 -1
  110. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +6 -7
  111. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +6 -7
  112. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +4 -3
  113. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +4 -3
  114. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +3 -5
  115. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +3 -5
  116. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +3 -3
  117. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +3 -3
  118. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/PendingSignModal.cjs +2 -2
  119. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/PendingSignModal.js +2 -2
  120. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +2 -4
  121. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +2 -4
  122. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +3 -5
  123. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +3 -5
  124. package/src/lib/utils/hooks/useMultiWalletFlag/index.d.ts +0 -1
  125. package/src/lib/utils/hooks/useMultiWalletFlag/useMultiWalletFlag.cjs +0 -36
  126. package/src/lib/utils/hooks/useMultiWalletFlag/useMultiWalletFlag.d.ts +0 -2
  127. package/src/lib/utils/hooks/useMultiWalletFlag/useMultiWalletFlag.js +0 -31
package/CHANGELOG.md CHANGED
@@ -1,41 +1,58 @@
1
1
 
2
- ### [0.19.3](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.2...v0.19.3) (2023-11-22)
2
+ ## [1.0.0-alpha.1](https://github.com/dynamic-labs/DynamicAuth/compare/v1.0.0-alpha.0...v1.0.0-alpha.1) (2023-11-22)
3
3
 
4
4
 
5
5
  ### Features
6
6
 
7
- * multiple starknet improvements [Support for default/custom RPC Providers + Dynamic Domains in signature] ([#3938](https://github.com/dynamic-labs/DynamicAuth/issues/3938)) ([d299622](https://github.com/dynamic-labs/DynamicAuth/commit/d299622197cb28483c6c6d6d051c917d6cbbe5df)), closes [#3881](https://github.com/dynamic-labs/DynamicAuth/issues/3881) [#3927](https://github.com/dynamic-labs/DynamicAuth/issues/3927)
7
+ * add basic zerodev connector ([#3782](https://github.com/dynamic-labs/DynamicAuth/issues/3782)) ([3f8debd](https://github.com/dynamic-labs/DynamicAuth/commit/3f8debddb1bff325389193e0348128ebb9ba59b9))
8
+ * add hcaptcha to dynamic signin methods ([#3853](https://github.com/dynamic-labs/DynamicAuth/issues/3853)) ([a4a9ad3](https://github.com/dynamic-labs/DynamicAuth/commit/a4a9ad3b048e33acc5b885cd797697ca4f41995e))
9
+ * add hcaptcha to magic login methods ([#3894](https://github.com/dynamic-labs/DynamicAuth/issues/3894)) ([c76b750](https://github.com/dynamic-labs/DynamicAuth/commit/c76b750351557ad9cf5bbcc39bd7fd0970b66312))
10
+ * add need help section to sign message modal ([#3847](https://github.com/dynamic-labs/DynamicAuth/issues/3847)) ([4f90617](https://github.com/dynamic-labs/DynamicAuth/commit/4f90617bcf400a7171062435c731d95c6bbf41c7))
11
+ * add perawallet to wallet book ([#3868](https://github.com/dynamic-labs/DynamicAuth/issues/3868)) ([5f4e79d](https://github.com/dynamic-labs/DynamicAuth/commit/5f4e79df202b02088b15c5dfab7feee5789e9ece))
12
+ * add serialization to allow sending events callbacks and wallet connectors used by customers ([0077eb0](https://github.com/dynamic-labs/DynamicAuth/commit/0077eb0af05feb765d0c61911a48d5e98554760a))
13
+ * add support for dynamic domains for starknet signatures ([#3927](https://github.com/dynamic-labs/DynamicAuth/issues/3927)) ([52797ce](https://github.com/dynamic-labs/DynamicAuth/commit/52797ce867c956049bfa5021cf5b1c562e771a2e))
14
+ * add support for Pera Wallet ([#3866](https://github.com/dynamic-labs/DynamicAuth/issues/3866)) ([cb99ae7](https://github.com/dynamic-labs/DynamicAuth/commit/cb99ae77605d913932a77bf2ea565b7e7baf781a))
15
+ * add support for private starknet rpc providers ([#3881](https://github.com/dynamic-labs/DynamicAuth/issues/3881)) ([8fd5ef9](https://github.com/dynamic-labs/DynamicAuth/commit/8fd5ef902d48ef828b1cb89d0e462ea5b54f4e42))
16
+ * add zerodev to wallet book and render generic wallet icon ([#3822](https://github.com/dynamic-labs/DynamicAuth/issues/3822)) ([9c5768d](https://github.com/dynamic-labs/DynamicAuth/commit/9c5768d0fc1169c62927926c0e436b6a448d5656))
17
+ * allow updating evmNetworks in real time ([#3877](https://github.com/dynamic-labs/DynamicAuth/issues/3877)) ([b4a2521](https://github.com/dynamic-labs/DynamicAuth/commit/b4a2521830b859a129d70bad2ae1213db075550d))
18
+ * editable copies as typed data ([#3784](https://github.com/dynamic-labs/DynamicAuth/issues/3784)) ([d6c6d74](https://github.com/dynamic-labs/DynamicAuth/commit/d6c6d74e60c9c9d459414c452fbd780d3f6bc2f9))
19
+ * email inputs now use email keyboard ([#3843](https://github.com/dynamic-labs/DynamicAuth/issues/3843)) ([76926e2](https://github.com/dynamic-labs/DynamicAuth/commit/76926e26b6a188d9d8e3bba2512340610e218e9f))
20
+ * hide unlink if disabled in dashboard ([#3825](https://github.com/dynamic-labs/DynamicAuth/issues/3825)) ([a0625e6](https://github.com/dynamic-labs/DynamicAuth/commit/a0625e6fd01aa5b57e6b8542efe04e280e0c6830))
21
+ * initialize smart wallet from verified credentials ([#3790](https://github.com/dynamic-labs/DynamicAuth/issues/3790)) ([1fc5890](https://github.com/dynamic-labs/DynamicAuth/commit/1fc5890f2e0ef458bfb59d38d536c41d183bc2a2))
22
+ * set smart wallet as primary when owner is an embedded wallet ([#3898](https://github.com/dynamic-labs/DynamicAuth/issues/3898)) ([ec40172](https://github.com/dynamic-labs/DynamicAuth/commit/ec401729f38d946d5431bbbb15c5c1cdc66acb73))
23
+ * support forced network validation via DynamicContext setting ([#3879](https://github.com/dynamic-labs/DynamicAuth/issues/3879)) ([a7993b9](https://github.com/dynamic-labs/DynamicAuth/commit/a7993b9b6bdd739bcb4e66e46d14e7f8623bed66))
24
+ * **transaction:** add sponsored gas transaction ([#3869](https://github.com/dynamic-labs/DynamicAuth/issues/3869)) ([ccceb24](https://github.com/dynamic-labs/DynamicAuth/commit/ccceb2421e029dc60e53912e404b574324d6772f))
8
25
 
9
26
 
10
27
  ### Bug Fixes
11
28
 
12
- * allow user's metadata field to be updated in updateUser hook ([#3930](https://github.com/dynamic-labs/DynamicAuth/issues/3930)) ([7d00014](https://github.com/dynamic-labs/DynamicAuth/commit/7d000140f87453bd158798b973917fa8309c8e5e))
13
- * better handling of wallet disconnect state edge case ([#3940](https://github.com/dynamic-labs/DynamicAuth/issues/3940)) ([#3942](https://github.com/dynamic-labs/DynamicAuth/issues/3942)) ([e9f944c](https://github.com/dynamic-labs/DynamicAuth/commit/e9f944c2c68de446e83c1dbd62aaaedd07443326))
29
+ * **account-abstraction:** set verified credentials before setting EOA to wallet connector ([#3941](https://github.com/dynamic-labs/DynamicAuth/issues/3941)) ([7475c46](https://github.com/dynamic-labs/DynamicAuth/commit/7475c465f5ddf9e27d0b05d23e58d9b474fa8fd4))
30
+ * add brand to zerodev object ([#3828](https://github.com/dynamic-labs/DynamicAuth/issues/3828)) ([81cb237](https://github.com/dynamic-labs/DynamicAuth/commit/81cb237df4def8e1c53b4ae145afafccf3b04683))
31
+ * add spriteId to zerodev ([#3829](https://github.com/dynamic-labs/DynamicAuth/issues/3829)) ([6b87c5c](https://github.com/dynamic-labs/DynamicAuth/commit/6b87c5c3d5869f6cd15a7534fb0260932845fbb1))
32
+ * allow metadata to be updated in updateUser hook ([#3928](https://github.com/dynamic-labs/DynamicAuth/issues/3928)) ([4f39fbd](https://github.com/dynamic-labs/DynamicAuth/commit/4f39fbd757b4e816dd60651252575c1f7e4d80aa))
33
+ * blocto flow connect only infinite recursion ([#3883](https://github.com/dynamic-labs/DynamicAuth/issues/3883)) ([6c6f5ba](https://github.com/dynamic-labs/DynamicAuth/commit/6c6f5ba5dc0657cc7ffdc82a4ea7935f65686088))
34
+ * clear project settings on page refresh ([#3826](https://github.com/dynamic-labs/DynamicAuth/issues/3826)) ([da5b8f0](https://github.com/dynamic-labs/DynamicAuth/commit/da5b8f0a99bf913ea11314954e5f08c2b019f50f))
35
+ * don't call computeConnectedStateForWallets too often to avoid infinite loops ([#3946](https://github.com/dynamic-labs/DynamicAuth/issues/3946)) ([de4e61a](https://github.com/dynamic-labs/DynamicAuth/commit/de4e61a3fcdc9c25cbe030c3c25cbc2c04929a93))
36
+ * don't call disconnect multiple times ([#3940](https://github.com/dynamic-labs/DynamicAuth/issues/3940)) ([3ea8623](https://github.com/dynamic-labs/DynamicAuth/commit/3ea86233d8d07dfb3c751a5fec45d5df84e9e143))
37
+ * **embedded wallet:** stop overriding primary wallet selection ([#3796](https://github.com/dynamic-labs/DynamicAuth/issues/3796)) ([75b81e7](https://github.com/dynamic-labs/DynamicAuth/commit/75b81e74d472ce8cc493646b441d2b4fe3962373))
38
+ * exodusevm wallet connect and mobile deep linking ([#3855](https://github.com/dynamic-labs/DynamicAuth/issues/3855)) ([cf0b3f0](https://github.com/dynamic-labs/DynamicAuth/commit/cf0b3f077f935eab32ce45947f62e73342d6c169))
39
+ * handle errors properly when engaging captcha ([#3896](https://github.com/dynamic-labs/DynamicAuth/issues/3896)) ([2596315](https://github.com/dynamic-labs/DynamicAuth/commit/25963153d699b26c6e04ea38b267446d3a3af13b))
40
+ * null safe check to window object ([#3882](https://github.com/dynamic-labs/DynamicAuth/issues/3882)) ([8856b5a](https://github.com/dynamic-labs/DynamicAuth/commit/8856b5ae40d43285eac667401387971b9e3f077d))
41
+ * pass correct wallet connector onLinkSuccess ([#3904](https://github.com/dynamic-labs/DynamicAuth/issues/3904)) ([79cca69](https://github.com/dynamic-labs/DynamicAuth/commit/79cca69ed53a5ef2c4e4d712ce0934e1a4c11459))
42
+ * remove extra captcha context provider instantiation causing unecessary rerenderings ([#3914](https://github.com/dynamic-labs/DynamicAuth/issues/3914)) ([14120a6](https://github.com/dynamic-labs/DynamicAuth/commit/14120a6ac0415f9a59608b376e88de6c729d4e5d))
43
+ * remove the coming soon label ([#3860](https://github.com/dynamic-labs/DynamicAuth/issues/3860)) ([1effb7f](https://github.com/dynamic-labs/DynamicAuth/commit/1effb7f124bda66aae3e8991b5386a1cee28fd99))
44
+ * Revert "chore: fix vite build ([#3849](https://github.com/dynamic-labs/DynamicAuth/issues/3849))" ([#3870](https://github.com/dynamic-labs/DynamicAuth/issues/3870)) ([13bc424](https://github.com/dynamic-labs/DynamicAuth/commit/13bc42483bcb9338babd46eae00988acada83578))
45
+ * **single-wallet:** prompt user to select correct wallet ([#3742](https://github.com/dynamic-labs/DynamicAuth/issues/3742)) ([ccfdd3c](https://github.com/dynamic-labs/DynamicAuth/commit/ccfdd3cc6a4ac7f3b1ea13be92e58982ecfb1c59))
46
+ * update walletconnect.json and walletconnect source schema ([#3854](https://github.com/dynamic-labs/DynamicAuth/issues/3854)) ([88ee546](https://github.com/dynamic-labs/DynamicAuth/commit/88ee5468db0130b19c6637a5632e64e0bb5197ba))
47
+ * useEmailProvider not checking for enabled providers properly ([7c16edc](https://github.com/dynamic-labs/DynamicAuth/commit/7c16edc3785ba10d69762b174f054b0d10b8a072))
48
+ * **wagmi:** ensure chain is defined on wallet client ([#3888](https://github.com/dynamic-labs/DynamicAuth/issues/3888)) ([0e145f6](https://github.com/dynamic-labs/DynamicAuth/commit/0e145f6ac42f55df7a020716d4ddc023554d72f9))
14
49
 
15
- ### [0.19.2](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.1...v0.19.2) (2023-11-17)
50
+ ## [1.0.0-alpha.0](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.0...v1.0.0-alpha.0) (2023-10-31)
16
51
 
17
52
 
18
53
  ### Features
19
54
 
20
- * feat: add support for forced network validation via DynamicContext setting ([#3907](https://github.com/dynamic-labs/DynamicAuth/issues/3907)) ([87e31e4](https://github.com/dynamic-labs/DynamicAuth/commit/87e31e40b0874eb344fa161defdfb36819d9019b)), closes [#3879](https://github.com/dynamic-labs/DynamicAuth/issues/3879)
21
- * feat: add help section to sign message modal ([4e0a0c4](https://github.com/dynamic-labs/DynamicAuth/commit/4e0a0c4cde73f802bfcaa99351d295060244382f))
22
-
23
- ### Bug Fixes
24
-
25
- * fix(embedded wallets): allow switching primary wallet ([#3796](https://github.com/dynamic-labs/DynamicAuth/issues/3796)) ([#3797](https://github.com/dynamic-labs/DynamicAuth/issues/3797)) ([a01af71](https://github.com/dynamic-labs/DynamicAuth/commit/a01af71ce0c79a791c4c4bb7d3f3d41bd7fe8edf))
26
- * fix(embedded wallets): improve logic to check for enabled providers ([5189b96](https://github.com/dynamic-labs/DynamicAuth/commit/5189b96d8fa82e656c916cad130619be6e3b7afd))
27
- * fix(single wallet): improve account switching UX ([#3742](https://github.com/dynamic-labs/DynamicAuth/issues/3742)) ([#3856](https://github.com/dynamic-labs/DynamicAuth/issues/3856)) ([1efffab](https://github.com/dynamic-labs/DynamicAuth/commit/1efffabf4a668f266564ecaa4405f3fb063bbf38))
28
- * fix(wagmi): ensure chain is defined on wallet client ([#3888](https://github.com/dynamic-labs/DynamicAuth/issues/3888)) ([#3897](https://github.com/dynamic-labs/DynamicAuth/issues/3897)) ([3ee4885](https://github.com/dynamic-labs/DynamicAuth/commit/3ee4885b129ee619bc82ce09e39a3d5934afd734))
29
- * fix(ui): remove the coming soon label ([#3876](https://github.com/dynamic-labs/DynamicAuth/issues/3876)) ([298f777](https://github.com/dynamic-labs/DynamicAuth/commit/298f777e4c5923075856e8b47c792c1951615c0e)), closes [#3860](https://github.com/dynamic-labs/DynamicAuth/issues/3860)
30
- * fix(ssr): add window null check to utils ([#3882](https://github.com/dynamic-labs/DynamicAuth/issues/3882)) ([#3885](https://github.com/dynamic-labs/DynamicAuth/issues/3885)) ([bc8b8e3](https://github.com/dynamic-labs/DynamicAuth/commit/bc8b8e386fd82d9ca6b53deaa3aa852d6ebdafdc))
31
- * fix(callbacks): pass correct wallet connector onLinkSuccess ([#3904](https://github.com/dynamic-labs/DynamicAuth/issues/3904)) ([#3908](https://github.com/dynamic-labs/DynamicAuth/issues/3908)) ([f05f5f8](https://github.com/dynamic-labs/DynamicAuth/commit/f05f5f8f336c42e24a7422959ba06002aba8be02))
32
-
33
- ### [0.19.1](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.0...v0.19.1) (2023-11-03)
34
-
35
-
36
- ### Features
37
-
38
- * adding editable copies as typed data ([#3773](https://github.com/dynamic-labs/DynamicAuth/issues/3773)) ([#3793](https://github.com/dynamic-labs/DynamicAuth/issues/3793)) ([f2a4135](https://github.com/dynamic-labs/DynamicAuth/commit/f2a41356686aeb8381ee3f4ec3d1f52b7e2f6dcd))
55
+ * adding editable copies ([#3773](https://github.com/dynamic-labs/DynamicAuth/issues/3773)) ([7b61b50](https://github.com/dynamic-labs/DynamicAuth/commit/7b61b50be76d8f59a8e01ac855d044fdf4bb923e))
39
56
 
40
57
  ## [0.19.0](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.0-alpha.28...v0.19.0) (2023-10-31)
41
58
 
package/package.cjs CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "0.19.3";
5
+ var version = "1.0.0-alpha.1";
6
6
  var dependencies = {
7
- "@dynamic-labs/iconic": "0.1.37",
7
+ "@dynamic-labs/iconic": "0.1.42",
8
8
  "@dynamic-labs/sdk-api": "0.0.307",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
10
10
  "country-list": "2.3.0",
package/package.js CHANGED
@@ -1,6 +1,6 @@
1
- var version = "0.19.3";
1
+ var version = "1.0.0-alpha.1";
2
2
  var dependencies = {
3
- "@dynamic-labs/iconic": "0.1.37",
3
+ "@dynamic-labs/iconic": "0.1.42",
4
4
  "@dynamic-labs/sdk-api": "0.0.307",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
6
6
  "country-list": "2.3.0",
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "0.19.3",
3
+ "version": "1.0.0-alpha.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
7
7
  "directory": "packages/sdk-react-core"
8
8
  },
9
9
  "dependencies": {
10
- "@dynamic-labs/iconic": "0.1.37",
10
+ "@dynamic-labs/iconic": "0.1.42",
11
11
  "@dynamic-labs/sdk-api": "0.0.307",
12
12
  "@hcaptcha/react-hcaptcha": "1.4.4",
13
13
  "country-list": "2.3.0",
@@ -17,14 +17,14 @@
17
17
  "react-focus-lock": "2.9.2",
18
18
  "react-i18next": "^13.2.0",
19
19
  "yup": "0.32.11",
20
- "@dynamic-labs/ethereum": "0.19.3",
21
- "@dynamic-labs/logger": "0.19.3",
22
- "@dynamic-labs/multi-wallet": "0.19.3",
23
- "@dynamic-labs/rpc-providers": "0.19.3",
24
- "@dynamic-labs/types": "0.19.3",
25
- "@dynamic-labs/utils": "0.19.3",
26
- "@dynamic-labs/wallet-book": "0.19.3",
27
- "@dynamic-labs/wallet-connector-core": "0.19.3",
20
+ "@dynamic-labs/ethereum": "1.0.0-alpha.1",
21
+ "@dynamic-labs/logger": "1.0.0-alpha.1",
22
+ "@dynamic-labs/multi-wallet": "1.0.0-alpha.1",
23
+ "@dynamic-labs/rpc-providers": "1.0.0-alpha.1",
24
+ "@dynamic-labs/types": "1.0.0-alpha.1",
25
+ "@dynamic-labs/utils": "1.0.0-alpha.1",
26
+ "@dynamic-labs/wallet-book": "1.0.0-alpha.1",
27
+ "@dynamic-labs/wallet-connector-core": "1.0.0-alpha.1",
28
28
  "eventemitter3": "5.0.1"
29
29
  },
30
30
  "devDependencies": {
@@ -80,7 +80,8 @@ const getMagicEmailOrSocialIcon = ({ findSocialIcon, wallet, jwt, }) => {
80
80
  logger.logger.error(err);
81
81
  }
82
82
  }
83
- if (walletConnectorCore.isEmbeddedConnector(wallet.connector)) {
83
+ if (walletConnectorCore.isEmbeddedConnector(wallet.connector) ||
84
+ walletConnectorCore.isSmartWalletConnector(wallet.connector)) {
84
85
  return embeddedWalletIcon.ReactComponent;
85
86
  }
86
87
  return null;
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { WalletIcon } from '@dynamic-labs/wallet-book';
3
- import { isEmailOTPWalletConnector, isSocialWalletConnector, isEmbeddedConnector } from '@dynamic-labs/wallet-connector-core';
3
+ import { isEmailOTPWalletConnector, isSocialWalletConnector, isEmbeddedConnector, isSmartWalletConnector } from '@dynamic-labs/wallet-connector-core';
4
4
  import { SignInWithEmailIcon } from '@dynamic-labs/iconic';
5
5
  import '@dynamic-labs/sdk-api';
6
6
  import { logger } from '../../shared/logger.js';
@@ -76,7 +76,8 @@ const getMagicEmailOrSocialIcon = ({ findSocialIcon, wallet, jwt, }) => {
76
76
  logger.error(err);
77
77
  }
78
78
  }
79
- if (isEmbeddedConnector(wallet.connector)) {
79
+ if (isEmbeddedConnector(wallet.connector) ||
80
+ isSmartWalletConnector(wallet.connector)) {
80
81
  return SvgEmbeddedWalletIcon;
81
82
  }
82
83
  return null;
@@ -10,16 +10,16 @@ var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
10
10
  var ConnectButton = require('./components/ConnectButton.cjs');
11
11
 
12
12
  const DynamicConnectButton = ({ buttonContainerClassName = '', buttonClassName = '', children, }) => {
13
- const { isProjectSettingsLoading, setShowAuthFlow, setSelectedWalletConnector, } = useInternalDynamicContext.useInternalDynamicContext();
13
+ const { isProjectSettingsLoading, setShowAuthFlow, setSelectedWalletConnectorKey, } = useInternalDynamicContext.useInternalDynamicContext();
14
14
  const { setView } = ViewContext.useViewContext();
15
15
  const [didUserClick, setUserClicked] = React.useState(false);
16
16
  const handleOnClick = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
17
17
  if (!didUserClick) {
18
18
  setUserClicked(true);
19
19
  }
20
- setSelectedWalletConnector(null);
20
+ setSelectedWalletConnectorKey(null);
21
21
  setShowAuthFlow(true);
22
- }), [didUserClick, setSelectedWalletConnector, setShowAuthFlow, setView]);
22
+ }), [didUserClick, setSelectedWalletConnectorKey, setShowAuthFlow, setView]);
23
23
  return (jsxRuntime.jsx(ConnectButton.ConnectButton, { isLoading: isProjectSettingsLoading, isActive: didUserClick, onClick: handleOnClick, buttonContainerClassName: buttonContainerClassName, buttonClassName: buttonClassName, children: children }));
24
24
  };
25
25
 
@@ -6,16 +6,16 @@ import { useViewContext } from '../../context/ViewContext/ViewContext.js';
6
6
  import { ConnectButton } from './components/ConnectButton.js';
7
7
 
8
8
  const DynamicConnectButton = ({ buttonContainerClassName = '', buttonClassName = '', children, }) => {
9
- const { isProjectSettingsLoading, setShowAuthFlow, setSelectedWalletConnector, } = useInternalDynamicContext();
9
+ const { isProjectSettingsLoading, setShowAuthFlow, setSelectedWalletConnectorKey, } = useInternalDynamicContext();
10
10
  const { setView } = useViewContext();
11
11
  const [didUserClick, setUserClicked] = useState(false);
12
12
  const handleOnClick = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
13
13
  if (!didUserClick) {
14
14
  setUserClicked(true);
15
15
  }
16
- setSelectedWalletConnector(null);
16
+ setSelectedWalletConnectorKey(null);
17
17
  setShowAuthFlow(true);
18
- }), [didUserClick, setSelectedWalletConnector, setShowAuthFlow, setView]);
18
+ }), [didUserClick, setSelectedWalletConnectorKey, setShowAuthFlow, setView]);
19
19
  return (jsx(ConnectButton, { isLoading: isProjectSettingsLoading, isActive: didUserClick, onClick: handleOnClick, buttonContainerClassName: buttonContainerClassName, buttonClassName: buttonClassName, children: children }));
20
20
  };
21
21
 
@@ -4,14 +4,39 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var React = require('react');
7
+ var ViewContext = require('../ViewContext/ViewContext.cjs');
7
8
 
9
+ const CaptchaTokenLocalStorageKey = 'dynamic-captcha-token';
8
10
  const CaptchaContext = React.createContext(undefined);
9
11
  const CaptchaContextProvider = ({ children, }) => {
12
+ const { setView } = ViewContext.useViewContext();
10
13
  const [captchaToken, setCaptchaToken] = React.useState(undefined);
14
+ const [captchaAuthState, setCaptchaAuthState] = React.useState();
15
+ const setCaptchaTokenInLS = React.useCallback((token) => localStorage.setItem(CaptchaTokenLocalStorageKey, token), []);
16
+ const engageCaptcha = React.useCallback(({ authMethod, onCaptchaSuccess, }) => {
17
+ setCaptchaAuthState({ authMethod, onCaptchaSuccess });
18
+ setView('captcha');
19
+ }, [setView, setCaptchaAuthState]);
20
+ const getCaptchaToken = React.useCallback(() => {
21
+ var _a;
22
+ return (_a = captchaToken !== null && captchaToken !== void 0 ? captchaToken : localStorage.getItem(CaptchaTokenLocalStorageKey)) !== null && _a !== void 0 ? _a : undefined;
23
+ }, [captchaToken]);
11
24
  const value = React.useMemo(() => ({
25
+ captchaAuthState,
12
26
  captchaToken,
27
+ engageCaptcha,
28
+ getCaptchaToken,
29
+ setCaptchaAuthState,
13
30
  setCaptchaToken,
14
- }), [captchaToken]);
31
+ setCaptchaTokenInLS,
32
+ }), [
33
+ captchaAuthState,
34
+ captchaToken,
35
+ engageCaptcha,
36
+ setCaptchaAuthState,
37
+ setCaptchaTokenInLS,
38
+ getCaptchaToken,
39
+ ]);
15
40
  return (jsxRuntime.jsx(CaptchaContext.Provider, { value: value, children: children }));
16
41
  };
17
42
  const useCaptchaContext = () => {
@@ -24,4 +49,5 @@ const useCaptchaContext = () => {
24
49
 
25
50
  exports.CaptchaContext = CaptchaContext;
26
51
  exports.CaptchaContextProvider = CaptchaContextProvider;
52
+ exports.CaptchaTokenLocalStorageKey = CaptchaTokenLocalStorageKey;
27
53
  exports.useCaptchaContext = useCaptchaContext;
@@ -2,7 +2,21 @@ import { ReactNode, SetStateAction, Dispatch } from 'react';
2
2
  type CaptchaContextProps = {
3
3
  captchaToken: string | undefined;
4
4
  setCaptchaToken: Dispatch<SetStateAction<string | undefined>>;
5
+ captchaAuthState: CaptchaAuthenticationState | undefined;
6
+ setCaptchaAuthState: Dispatch<SetStateAction<CaptchaAuthenticationState | undefined>>;
7
+ engageCaptcha: ({ authMethod, onCaptchaSuccess, }: {
8
+ authMethod: AuthMethod;
9
+ onCaptchaSuccess: (captchaToken: string) => Promise<void>;
10
+ }) => void;
11
+ setCaptchaTokenInLS: (token: string) => void;
12
+ getCaptchaToken: () => string | undefined;
5
13
  };
14
+ export type AuthMethod = 'wallet' | 'email' | 'social';
15
+ export declare const CaptchaTokenLocalStorageKey = "dynamic-captcha-token";
16
+ interface CaptchaAuthenticationState {
17
+ authMethod: AuthMethod;
18
+ onCaptchaSuccess: (captchaToken: string) => Promise<void>;
19
+ }
6
20
  export declare const CaptchaContext: import("react").Context<CaptchaContextProps | undefined>;
7
21
  export declare const CaptchaContextProvider: ({ children, }: {
8
22
  children: ReactNode;
@@ -1,13 +1,38 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { createContext, useState, useMemo, useContext } from 'react';
2
+ import { createContext, useState, useCallback, useMemo, useContext } from 'react';
3
+ import { useViewContext } from '../ViewContext/ViewContext.js';
3
4
 
5
+ const CaptchaTokenLocalStorageKey = 'dynamic-captcha-token';
4
6
  const CaptchaContext = createContext(undefined);
5
7
  const CaptchaContextProvider = ({ children, }) => {
8
+ const { setView } = useViewContext();
6
9
  const [captchaToken, setCaptchaToken] = useState(undefined);
10
+ const [captchaAuthState, setCaptchaAuthState] = useState();
11
+ const setCaptchaTokenInLS = useCallback((token) => localStorage.setItem(CaptchaTokenLocalStorageKey, token), []);
12
+ const engageCaptcha = useCallback(({ authMethod, onCaptchaSuccess, }) => {
13
+ setCaptchaAuthState({ authMethod, onCaptchaSuccess });
14
+ setView('captcha');
15
+ }, [setView, setCaptchaAuthState]);
16
+ const getCaptchaToken = useCallback(() => {
17
+ var _a;
18
+ return (_a = captchaToken !== null && captchaToken !== void 0 ? captchaToken : localStorage.getItem(CaptchaTokenLocalStorageKey)) !== null && _a !== void 0 ? _a : undefined;
19
+ }, [captchaToken]);
7
20
  const value = useMemo(() => ({
21
+ captchaAuthState,
8
22
  captchaToken,
23
+ engageCaptcha,
24
+ getCaptchaToken,
25
+ setCaptchaAuthState,
9
26
  setCaptchaToken,
10
- }), [captchaToken]);
27
+ setCaptchaTokenInLS,
28
+ }), [
29
+ captchaAuthState,
30
+ captchaToken,
31
+ engageCaptcha,
32
+ setCaptchaAuthState,
33
+ setCaptchaTokenInLS,
34
+ getCaptchaToken,
35
+ ]);
11
36
  return (jsx(CaptchaContext.Provider, { value: value, children: children }));
12
37
  };
13
38
  const useCaptchaContext = () => {
@@ -18,4 +43,4 @@ const useCaptchaContext = () => {
18
43
  return context;
19
44
  };
20
45
 
21
- export { CaptchaContext, CaptchaContextProvider, useCaptchaContext };
46
+ export { CaptchaContext, CaptchaContextProvider, CaptchaTokenLocalStorageKey, useCaptchaContext };
@@ -47,6 +47,7 @@ var ThemeContext = require('../ThemeContext/ThemeContext.cjs');
47
47
  var useValidateSession = require('../../utils/hooks/useValidateSession/useValidateSession.cjs');
48
48
  var useEventListener = require('../../utils/hooks/useEventListener/useEventListener.cjs');
49
49
  require('@dynamic-labs/types');
50
+ var isSameWalletName = require('../../utils/functions/isSameWalletName/isSameWalletName.cjs');
50
51
  require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
51
52
  var UserFieldEditorContext = require('../UserFieldEditorContext/UserFieldEditorContext.cjs');
52
53
  require('yup');
@@ -64,7 +65,6 @@ var SyncPasskeyFlow = require('../../components/SyncPasskeyFlow/SyncPasskeyFlow.
64
65
  var ApiEndpoint = require('../../config/ApiEndpoint.cjs');
65
66
  var locale = require('../../locale/locale.cjs');
66
67
  var getMissingChains = require('../../utils/functions/getMissingChains/getMissingChains.cjs');
67
- var isSameWalletName = require('../../utils/functions/isSameWalletName/isSameWalletName.cjs');
68
68
  var parseTheme = require('../../utils/functions/parseTheme/parseTheme.cjs');
69
69
  var useMultiWalletWidgetState = require('../../utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.cjs');
70
70
  var useMultiWallet = require('../../utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs');
@@ -94,17 +94,18 @@ var FundingContext = require('../FundingContext/FundingContext.cjs');
94
94
  var SendBalanceContext = require('../SendBalanceContext/SendBalanceContext.cjs');
95
95
  var WalletContext = require('../WalletContext/WalletContext.cjs');
96
96
  var UseNetworkValidation = require('../UseNetworkValidation/UseNetworkValidation.cjs');
97
+ var handleDisconnectWallet = require('./handleDisconnectWallet/handleDisconnectWallet.cjs');
97
98
  var helpers = require('./helpers.cjs');
98
99
  var useDisplayOrderState = require('./hooks/useDisplayOrderState/useDisplayOrderState.cjs');
99
100
  var useEmailLoginState = require('./hooks/useEmailLoginState/useEmailLoginState.cjs');
100
101
  var useNameService = require('./hooks/useNameService/useNameService.cjs');
102
+ var useSelectedWalletConnector = require('./hooks/useSelectedWalletConnector/useSelectedWalletConnector.cjs');
101
103
  var useSetShowAuthFlowWithInit = require('./hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.cjs');
102
104
  var useVerificationInProgress = require('./hooks/useVerificationInProgress/useVerificationInProgress.cjs');
105
+ var internalEvents = require('./internalEvents/internalEvents.cjs');
103
106
  var useCustomerCallbacks = require('./useCustomerCallbacks/useCustomerCallbacks.cjs');
104
107
  var useCustomerAuthFlowCallbacks = require('./useCustomerCallbacks/useCustomerAuthFlowCallbacks.cjs');
105
108
  var validators = require('./validators.cjs');
106
- var internalEvents = require('./internalEvents/internalEvents.cjs');
107
- var handleDisconnectWallet = require('./handleDisconnectWallet/handleDisconnectWallet.cjs');
108
109
 
109
110
  const PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID = '2762a57b-faa4-41ce-9f16-abff9300e2c9';
110
111
  const EMPTY_INITIAL_USER = undefined;
@@ -224,13 +225,16 @@ const DynamicContextProvider = ({ children, theme, settings, locale: locale$1, }
224
225
  const missingChains = getMissingChains.getMissingChains(walletsByChain, connectedWalletsInfo);
225
226
  setWalletsToConnectByChain(missingChains);
226
227
  }, [walletsByChain]);
227
- const [selectedWalletConnector, setSelectedWalletConnector] = React.useState(null);
228
+ const { selectedWalletConnector, setSelectedWalletConnectorKey } = useSelectedWalletConnector.useSelectedWalletConnector({ wallets });
228
229
  //selected wallet to perform an action (become primary, unlink, etc)
229
230
  const [selectedWalletWithAction, setSelectedWalletWithAction] = React.useState(null);
230
231
  const removeAuthTokenAndUser = React.useCallback(() => {
231
232
  localStorage.LocalStorage.removeFromLS(localStorage$1.AUTH_TOKEN);
232
233
  removeUser();
233
234
  }, [removeUser]);
235
+ // until user completes onboarding, jwt is only stored in onboardingOnlyJwt
236
+ const authToken = (_e = getAuthToken.getAuthToken()) !== null && _e !== void 0 ? _e : onboardingOnlyJwt;
237
+ useSetWalletConnectorVerifiedCredentials.useSetWalletConnectorVerifiedCredentials(authToken, wallets);
234
238
  const { computeConnectedStateForWallets, didConnectedStateLoad, walletConnectors, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, } = useWalletConnectors.useWalletConnectors({
235
239
  authMode,
236
240
  authToken: getAuthToken.getAuthToken() || onboardingOnlyJwt,
@@ -263,9 +267,6 @@ const DynamicContextProvider = ({ children, theme, settings, locale: locale$1, }
263
267
  user,
264
268
  wallets,
265
269
  });
266
- // until user completes onboarding, jwt is only stored in onboardingOnlyJwt
267
- const authToken = (_e = getAuthToken.getAuthToken()) !== null && _e !== void 0 ? _e : onboardingOnlyJwt;
268
- useSetWalletConnectorVerifiedCredentials.useSetWalletConnectorVerifiedCredentials(authToken, wallets);
269
270
  const { getNameService, removeConnectedNameService } = useNameService.useNameService({
270
271
  authToken,
271
272
  currentWallet: primaryWallet !== null && primaryWallet !== void 0 ? primaryWallet : connectedWallet,
@@ -376,7 +377,7 @@ const DynamicContextProvider = ({ children, theme, settings, locale: locale$1, }
376
377
  selectedWalletWithAction,
377
378
  setMultiWalletWidgetState,
378
379
  setPrimaryWalletId,
379
- setSelectedWalletConnector,
380
+ setSelectedWalletConnectorKey,
380
381
  setSelectedWalletWithAction,
381
382
  user,
382
383
  });
@@ -402,7 +403,6 @@ const DynamicContextProvider = ({ children, theme, settings, locale: locale$1, }
402
403
  authMode,
403
404
  callbacks: {
404
405
  onAuthSuccess: eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onAuthSuccess,
405
- onBeforeConnectSuccessConfirmation: eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onBeforeConnectSuccessConfirmation,
406
406
  onConnect: eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onConnect,
407
407
  onEmailVerificationFailure,
408
408
  onEmailVerificationSuccess,
@@ -556,7 +556,7 @@ const DynamicContextProvider = ({ children, theme, settings, locale: locale$1, }
556
556
  setPrimaryWalletId,
557
557
  setQrcodeUri,
558
558
  setSdkHasLoaded,
559
- setSelectedWalletConnector,
559
+ setSelectedWalletConnectorKey,
560
560
  setSelectedWalletWithAction,
561
561
  setShowAuthFlow: setShowAuthFlowWithInit,
562
562
  setShowBridgeWidget,
@@ -734,7 +734,7 @@ const DynamicContextProvider = ({ children, theme, settings, locale: locale$1, }
734
734
  isBridgeFlow,
735
735
  isFullyConnected,
736
736
  isMultiWalletEnabled: multiWallet,
737
- }), internalEvents: internalEventsRef, children: [enableForcedNetworkValidation && jsxRuntime.jsx(UseNetworkValidation.UseNetworkValidation, {}), jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, { canSync: didConnectedStateLoad, children: jsxRuntime.jsx(QrCodeContext.QrCodeContextProvider, { children: jsxRuntime.jsx(EmailVerificationContext.EmailVerificationContextProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsx(WalletGroupContext.WalletGroupContextProvider, { children: jsxRuntime.jsxs(UserFieldEditorContext.UserFieldEditorContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), jsxRuntime.jsx(SyncPasskeyFlow.SyncPasskeyFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }) }));
737
+ }), internalEvents: internalEventsRef, children: [enableForcedNetworkValidation && jsxRuntime.jsx(UseNetworkValidation.UseNetworkValidation, {}), jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, { canSync: didConnectedStateLoad, children: jsxRuntime.jsx(QrCodeContext.QrCodeContextProvider, { children: jsxRuntime.jsx(EmailVerificationContext.EmailVerificationContextProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsx(WalletGroupContext.WalletGroupContextProvider, { children: jsxRuntime.jsxs(UserFieldEditorContext.UserFieldEditorContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), jsxRuntime.jsx(SyncPasskeyFlow.SyncPasskeyFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }) }));
738
738
  };
739
739
 
740
740
  exports.DynamicContext = DynamicContext;
@@ -43,6 +43,7 @@ import { ThemeContextProvider } from '../ThemeContext/ThemeContext.js';
43
43
  import { useValidateSession } from '../../utils/hooks/useValidateSession/useValidateSession.js';
44
44
  import { useEventListener } from '../../utils/hooks/useEventListener/useEventListener.js';
45
45
  import '@dynamic-labs/types';
46
+ import { isSameWalletName } from '../../utils/functions/isSameWalletName/isSameWalletName.js';
46
47
  import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
47
48
  import { UserFieldEditorContextProvider } from '../UserFieldEditorContext/UserFieldEditorContext.js';
48
49
  import 'yup';
@@ -60,7 +61,6 @@ import { SyncPasskeyFlow } from '../../components/SyncPasskeyFlow/SyncPasskeyFlo
60
61
  import ApiEndpoint from '../../config/ApiEndpoint.js';
61
62
  import { Locale } from '../../locale/locale.js';
62
63
  import { getMissingChains } from '../../utils/functions/getMissingChains/getMissingChains.js';
63
- import { isSameWalletName } from '../../utils/functions/isSameWalletName/isSameWalletName.js';
64
64
  import { parseTheme } from '../../utils/functions/parseTheme/parseTheme.js';
65
65
  import { useMultiWalletWidgetState } from '../../utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.js';
66
66
  import { useMultiWallet } from '../../utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js';
@@ -90,17 +90,18 @@ import { FundingContextProvider } from '../FundingContext/FundingContext.js';
90
90
  import { SendBalanceContextProvider } from '../SendBalanceContext/SendBalanceContext.js';
91
91
  import { WalletContextProvider } from '../WalletContext/WalletContext.js';
92
92
  import { UseNetworkValidation } from '../UseNetworkValidation/UseNetworkValidation.js';
93
+ import { handleDisconnectWallet } from './handleDisconnectWallet/handleDisconnectWallet.js';
93
94
  import { initExpirationTime, getInitialView } from './helpers.js';
94
95
  import { useDisplayOrderState } from './hooks/useDisplayOrderState/useDisplayOrderState.js';
95
96
  import { useEmailLoginState } from './hooks/useEmailLoginState/useEmailLoginState.js';
96
97
  import { useNameService } from './hooks/useNameService/useNameService.js';
98
+ import { useSelectedWalletConnector } from './hooks/useSelectedWalletConnector/useSelectedWalletConnector.js';
97
99
  import { useSetShowAuthFlowWithInit } from './hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.js';
98
100
  import { useVerificationInProgress } from './hooks/useVerificationInProgress/useVerificationInProgress.js';
101
+ import { getInternalEvents } from './internalEvents/internalEvents.js';
99
102
  import { useCustomerCallbacks } from './useCustomerCallbacks/useCustomerCallbacks.js';
100
103
  import { useCustomerAuthFlowCallbacks } from './useCustomerCallbacks/useCustomerAuthFlowCallbacks.js';
101
104
  import { validateAuthUser } from './validators.js';
102
- import { getInternalEvents } from './internalEvents/internalEvents.js';
103
- import { handleDisconnectWallet } from './handleDisconnectWallet/handleDisconnectWallet.js';
104
105
 
105
106
  const PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID = '2762a57b-faa4-41ce-9f16-abff9300e2c9';
106
107
  const EMPTY_INITIAL_USER = undefined;
@@ -220,13 +221,16 @@ const DynamicContextProvider = ({ children, theme, settings, locale, }) => {
220
221
  const missingChains = getMissingChains(walletsByChain, connectedWalletsInfo);
221
222
  setWalletsToConnectByChain(missingChains);
222
223
  }, [walletsByChain]);
223
- const [selectedWalletConnector, setSelectedWalletConnector] = useState(null);
224
+ const { selectedWalletConnector, setSelectedWalletConnectorKey } = useSelectedWalletConnector({ wallets });
224
225
  //selected wallet to perform an action (become primary, unlink, etc)
225
226
  const [selectedWalletWithAction, setSelectedWalletWithAction] = useState(null);
226
227
  const removeAuthTokenAndUser = useCallback(() => {
227
228
  LocalStorage.removeFromLS(AUTH_TOKEN);
228
229
  removeUser();
229
230
  }, [removeUser]);
231
+ // until user completes onboarding, jwt is only stored in onboardingOnlyJwt
232
+ const authToken = (_e = getAuthToken()) !== null && _e !== void 0 ? _e : onboardingOnlyJwt;
233
+ useSetWalletConnectorVerifiedCredentials(authToken, wallets);
230
234
  const { computeConnectedStateForWallets, didConnectedStateLoad, walletConnectors, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, } = useWalletConnectors({
231
235
  authMode,
232
236
  authToken: getAuthToken() || onboardingOnlyJwt,
@@ -259,9 +263,6 @@ const DynamicContextProvider = ({ children, theme, settings, locale, }) => {
259
263
  user,
260
264
  wallets,
261
265
  });
262
- // until user completes onboarding, jwt is only stored in onboardingOnlyJwt
263
- const authToken = (_e = getAuthToken()) !== null && _e !== void 0 ? _e : onboardingOnlyJwt;
264
- useSetWalletConnectorVerifiedCredentials(authToken, wallets);
265
266
  const { getNameService, removeConnectedNameService } = useNameService({
266
267
  authToken,
267
268
  currentWallet: primaryWallet !== null && primaryWallet !== void 0 ? primaryWallet : connectedWallet,
@@ -372,7 +373,7 @@ const DynamicContextProvider = ({ children, theme, settings, locale, }) => {
372
373
  selectedWalletWithAction,
373
374
  setMultiWalletWidgetState,
374
375
  setPrimaryWalletId,
375
- setSelectedWalletConnector,
376
+ setSelectedWalletConnectorKey,
376
377
  setSelectedWalletWithAction,
377
378
  user,
378
379
  });
@@ -398,7 +399,6 @@ const DynamicContextProvider = ({ children, theme, settings, locale, }) => {
398
399
  authMode,
399
400
  callbacks: {
400
401
  onAuthSuccess: eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onAuthSuccess,
401
- onBeforeConnectSuccessConfirmation: eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onBeforeConnectSuccessConfirmation,
402
402
  onConnect: eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onConnect,
403
403
  onEmailVerificationFailure,
404
404
  onEmailVerificationSuccess,
@@ -552,7 +552,7 @@ const DynamicContextProvider = ({ children, theme, settings, locale, }) => {
552
552
  setPrimaryWalletId,
553
553
  setQrcodeUri,
554
554
  setSdkHasLoaded,
555
- setSelectedWalletConnector,
555
+ setSelectedWalletConnectorKey,
556
556
  setSelectedWalletWithAction,
557
557
  setShowAuthFlow: setShowAuthFlowWithInit,
558
558
  setShowBridgeWidget,
@@ -730,7 +730,7 @@ const DynamicContextProvider = ({ children, theme, settings, locale, }) => {
730
730
  isBridgeFlow,
731
731
  isFullyConnected,
732
732
  isMultiWalletEnabled: multiWallet,
733
- }), internalEvents: internalEventsRef, children: [enableForcedNetworkValidation && jsx(UseNetworkValidation, {}), jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { canSync: didConnectedStateLoad, children: jsx(QrCodeContextProvider, { children: jsx(EmailVerificationContextProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(CaptchaContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsx(WalletGroupContextProvider, { children: jsxs(UserFieldEditorContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), jsx(SyncPasskeyFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }) }));
733
+ }), internalEvents: internalEventsRef, children: [enableForcedNetworkValidation && jsx(UseNetworkValidation, {}), jsx(CaptchaContextProvider, { children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { canSync: didConnectedStateLoad, children: jsx(QrCodeContextProvider, { children: jsx(EmailVerificationContextProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsx(WalletGroupContextProvider, { children: jsxs(UserFieldEditorContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), jsx(SyncPasskeyFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }) }));
734
734
  };
735
735
 
736
736
  export { DynamicContext, DynamicContextProvider, PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID };
@@ -1,5 +1,6 @@
1
1
  export * from './useDisplayOrderState';
2
2
  export * from './useEmailLoginState';
3
3
  export * from './useNameService';
4
+ export * from './useSelectedWalletConnector';
4
5
  export * from './useSetShowAuthFlowWithInit';
5
6
  export * from './useVerificationInProgress';
@@ -0,0 +1 @@
1
+ export * from './useSelectedWalletConnector';
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ const useSelectedWalletConnector = ({ wallets, }) => {
8
+ const [selectedWalletConnectorKey, setSelectedWalletConnectorKey] = React.useState(null);
9
+ // Instead of storing the selected connector directly, we derive it from the wallets
10
+ // This way if wallets change, the selected connector will be updated too
11
+ const selectedWalletConnector = React.useMemo(() => {
12
+ var _a, _b;
13
+ if (!selectedWalletConnectorKey)
14
+ return null;
15
+ return ((_b = (_a = wallets.find(({ walletConnector }) => walletConnector.key === selectedWalletConnectorKey)) === null || _a === void 0 ? void 0 : _a.walletConnector) !== null && _b !== void 0 ? _b : null);
16
+ }, [selectedWalletConnectorKey, wallets]);
17
+ return { selectedWalletConnector, setSelectedWalletConnectorKey };
18
+ };
19
+
20
+ exports.useSelectedWalletConnector = useSelectedWalletConnector;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { WalletOption } from '../../../../shared';
3
+ type useSelectedWalletConnectorProps = {
4
+ wallets: WalletOption[];
5
+ };
6
+ export declare const useSelectedWalletConnector: ({ wallets, }: useSelectedWalletConnectorProps) => {
7
+ selectedWalletConnector: import("dist/packages/wallet-connector-core/src").WalletConnectorCore.WalletConnector | null;
8
+ setSelectedWalletConnectorKey: import("react").Dispatch<import("react").SetStateAction<string | null>>;
9
+ };
10
+ export {};
@@ -0,0 +1,16 @@
1
+ import { useState, useMemo } from 'react';
2
+
3
+ const useSelectedWalletConnector = ({ wallets, }) => {
4
+ const [selectedWalletConnectorKey, setSelectedWalletConnectorKey] = useState(null);
5
+ // Instead of storing the selected connector directly, we derive it from the wallets
6
+ // This way if wallets change, the selected connector will be updated too
7
+ const selectedWalletConnector = useMemo(() => {
8
+ var _a, _b;
9
+ if (!selectedWalletConnectorKey)
10
+ return null;
11
+ return ((_b = (_a = wallets.find(({ walletConnector }) => walletConnector.key === selectedWalletConnectorKey)) === null || _a === void 0 ? void 0 : _a.walletConnector) !== null && _b !== void 0 ? _b : null);
12
+ }, [selectedWalletConnectorKey, wallets]);
13
+ return { selectedWalletConnector, setSelectedWalletConnectorKey };
14
+ };
15
+
16
+ export { useSelectedWalletConnector };