@dynamic-labs/sdk-react-core 0.18.0-RC.16 → 0.18.0-RC.18

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 (358) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +8 -8
  5. package/src/index.cjs +3 -0
  6. package/src/index.js +2 -0
  7. package/src/lib/Main.cjs +1 -0
  8. package/src/lib/Main.js +1 -0
  9. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.cjs +1 -0
  10. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.js +1 -0
  11. package/src/lib/components/AnimatePresence/AnimatePresence.cjs +1 -0
  12. package/src/lib/components/AnimatePresence/AnimatePresence.js +1 -0
  13. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +1 -0
  14. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +1 -0
  15. package/src/lib/components/Button/Button.cjs +12 -4
  16. package/src/lib/components/Button/Button.d.ts +3 -2
  17. package/src/lib/components/Button/Button.js +12 -4
  18. package/src/lib/components/ChainCard/ChainCard.cjs +1 -1
  19. package/src/lib/components/ChainCard/ChainCard.js +1 -1
  20. package/src/lib/components/Divider/Divider.cjs +1 -0
  21. package/src/lib/components/Divider/Divider.js +1 -0
  22. package/src/lib/components/IconWithSpinner/IconWithSpinner.cjs +2 -2
  23. package/src/lib/components/IconWithSpinner/IconWithSpinner.js +2 -2
  24. package/src/lib/components/LegacySafariCssOverrides/LegacySafariCssOverrides.cjs +9 -0
  25. package/src/lib/components/LegacySafariCssOverrides/LegacySafariCssOverrides.d.ts +2 -0
  26. package/src/lib/components/LegacySafariCssOverrides/LegacySafariCssOverrides.js +5 -0
  27. package/src/lib/components/LegacySafariCssOverrides/index.d.ts +1 -0
  28. package/src/lib/components/MenuList/Dropdown/Dropdown.cjs +85 -0
  29. package/src/lib/components/MenuList/Dropdown/Dropdown.d.ts +16 -0
  30. package/src/lib/components/MenuList/Dropdown/Dropdown.js +81 -0
  31. package/src/lib/components/MenuList/Dropdown/index.d.ts +1 -0
  32. package/src/lib/components/MenuList/MenuList/MenuList.cjs +34 -0
  33. package/src/lib/components/MenuList/MenuList/MenuList.d.ts +15 -0
  34. package/src/lib/components/MenuList/MenuList/MenuList.js +30 -0
  35. package/src/lib/components/MenuList/MenuList/index.d.ts +1 -0
  36. package/src/lib/components/MenuList/index.d.ts +1 -0
  37. package/src/lib/components/MenuList/utils/index.d.ts +1 -0
  38. package/src/lib/components/{Popper → MenuList}/utils/watchToScrollInHierarchy/watchToScrollInHierarchy.cjs +6 -1
  39. package/src/lib/components/MenuList/utils/watchToScrollInHierarchy/watchToScrollInHierarchy.d.ts +5 -0
  40. package/src/lib/components/{Popper → MenuList}/utils/watchToScrollInHierarchy/watchToScrollInHierarchy.js +6 -1
  41. package/src/lib/components/Modal/Modal.cjs +1 -0
  42. package/src/lib/components/Modal/Modal.js +1 -0
  43. package/src/lib/components/NetworkPicker/NetworkPicker.cjs +9 -12
  44. package/src/lib/components/NetworkPicker/NetworkPicker.js +9 -12
  45. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +1 -0
  46. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +1 -0
  47. package/src/lib/components/NetworkPicker/components/Network/Network.cjs +1 -0
  48. package/src/lib/components/NetworkPicker/components/Network/Network.js +1 -0
  49. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.cjs +1 -0
  50. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.js +1 -0
  51. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +1 -0
  52. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +1 -0
  53. package/src/lib/components/OverlayCard/OverlayCard.cjs +10 -11
  54. package/src/lib/components/OverlayCard/OverlayCard.d.ts +4 -2
  55. package/src/lib/components/OverlayCard/OverlayCard.js +11 -11
  56. package/src/lib/components/Popper/Popper/Popper.cjs +12 -12
  57. package/src/lib/components/Popper/Popper/Popper.d.ts +7 -4
  58. package/src/lib/components/Popper/Popper/Popper.js +12 -12
  59. package/src/lib/components/Popper/PopperContent/PopperContent.cjs +1 -1
  60. package/src/lib/components/Popper/PopperContent/PopperContent.d.ts +2 -1
  61. package/src/lib/components/Popper/PopperContent/PopperContent.js +1 -1
  62. package/src/lib/components/Popper/utils/getChildPosition/getChildPosition.cjs +1 -0
  63. package/src/lib/components/Popper/utils/getChildPosition/getChildPosition.d.ts +1 -0
  64. package/src/lib/components/Popper/utils/getChildPosition/getChildPosition.js +1 -0
  65. package/src/lib/components/Popper/utils/index.d.ts +0 -1
  66. package/src/lib/components/Portal/Portal.cjs +3 -2
  67. package/src/lib/components/Portal/Portal.js +3 -2
  68. package/src/lib/components/ShadowDOM/ShadowDOM.cjs +4 -2
  69. package/src/lib/components/ShadowDOM/ShadowDOM.js +4 -2
  70. package/src/lib/components/Tooltip/Tooltip.cjs +1 -0
  71. package/src/lib/components/Tooltip/Tooltip.js +1 -0
  72. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +1 -0
  73. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +1 -0
  74. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.cjs +1 -0
  75. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.js +1 -0
  76. package/src/lib/components/UserAddress/UserAddress.cjs +1 -0
  77. package/src/lib/components/UserAddress/UserAddress.js +1 -0
  78. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -0
  79. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -0
  80. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.cjs +1 -0
  81. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.js +1 -0
  82. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +1 -0
  83. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +1 -0
  84. package/src/lib/components/index.d.ts +1 -0
  85. package/src/lib/context/DynamicContext/DynamicContext.cjs +80 -49
  86. package/src/lib/context/DynamicContext/DynamicContext.d.ts +7 -134
  87. package/src/lib/context/DynamicContext/DynamicContext.js +81 -50
  88. package/src/lib/context/DynamicContext/types/index.d.ts +144 -0
  89. package/src/lib/context/DynamicContext/useCustomerCallbacks/types.d.ts +5 -2
  90. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.cjs +1 -0
  91. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.js +1 -0
  92. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +9 -3
  93. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.d.ts +2 -2
  94. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +9 -3
  95. package/src/lib/context/DynamicContext/useCustomerCallbacks/utils/disableAuthVerificationFlag/disableAuthVerificationFlag.cjs +27 -0
  96. package/src/lib/context/DynamicContext/useCustomerCallbacks/utils/disableAuthVerificationFlag/disableAuthVerificationFlag.d.ts +3 -0
  97. package/src/lib/context/DynamicContext/useCustomerCallbacks/utils/disableAuthVerificationFlag/disableAuthVerificationFlag.js +23 -0
  98. package/src/lib/context/DynamicContext/useCustomerCallbacks/utils/disableAuthVerificationFlag/index.d.ts +1 -0
  99. package/src/lib/context/DynamicContext/useCustomerCallbacks/utils/index.d.ts +1 -0
  100. package/src/lib/context/DynamicContext/useDynamicContext.cjs +5 -1
  101. package/src/lib/context/DynamicContext/useDynamicContext.d.ts +4 -2
  102. package/src/lib/context/DynamicContext/useDynamicContext.js +5 -1
  103. package/src/lib/context/DynamicContext/useInternalDynamicContext.d.ts +1 -1
  104. package/src/lib/context/QrCodeContext/QrCodeContext.cjs +1 -0
  105. package/src/lib/context/QrCodeContext/QrCodeContext.js +1 -0
  106. package/src/lib/context/SendBalanceContext/SendBalanceContext.cjs +1 -0
  107. package/src/lib/context/SendBalanceContext/SendBalanceContext.js +1 -0
  108. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +2 -1
  109. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +2 -1
  110. package/src/lib/context/WalletContext/WalletContext.cjs +3 -3
  111. package/src/lib/context/WalletContext/WalletContext.d.ts +1 -3
  112. package/src/lib/context/WalletContext/WalletContext.js +3 -3
  113. package/src/lib/data/api.cjs +14 -0
  114. package/src/lib/data/api.d.ts +1 -0
  115. package/src/lib/data/api.js +14 -1
  116. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +1 -0
  117. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +1 -0
  118. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +2 -1
  119. package/src/lib/layout/DynamicAuthLayout/Header/header.js +2 -1
  120. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.cjs +2 -1
  121. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.js +2 -1
  122. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.cjs +1 -0
  123. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.js +1 -0
  124. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +1 -0
  125. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +1 -0
  126. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.cjs +1 -0
  127. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.js +1 -0
  128. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.cjs +1 -0
  129. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.js +1 -0
  130. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.cjs +1 -0
  131. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.js +1 -0
  132. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.cjs +1 -0
  133. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.js +1 -0
  134. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +1 -0
  135. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +1 -0
  136. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +1 -0
  137. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +1 -0
  138. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +1 -0
  139. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +1 -0
  140. package/src/lib/modals/SendBalanceModal/SendBalanceModal.cjs +1 -0
  141. package/src/lib/modals/SendBalanceModal/SendBalanceModal.js +1 -0
  142. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +1 -0
  143. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +1 -0
  144. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +1 -0
  145. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +1 -0
  146. package/src/lib/shared/types/index.d.ts +2 -1
  147. package/src/lib/shared/utils/hooks/index.d.ts +1 -0
  148. package/src/lib/shared/utils/hooks/useForwardedRef/index.d.ts +1 -0
  149. package/src/lib/shared/utils/hooks/useForwardedRef/useForwardedRef.cjs +25 -0
  150. package/src/lib/shared/utils/hooks/useForwardedRef/useForwardedRef.d.ts +2 -0
  151. package/src/lib/shared/utils/hooks/useForwardedRef/useForwardedRef.js +21 -0
  152. package/src/lib/styles/index.shadow.cjs +1 -1
  153. package/src/lib/styles/index.shadow.js +1 -1
  154. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -1
  155. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -1
  156. package/src/lib/utils/functions/getMissingChains/getMissingChains.cjs +1 -1
  157. package/src/lib/utils/functions/getMissingChains/getMissingChains.d.ts +1 -1
  158. package/src/lib/utils/functions/getMissingChains/getMissingChains.js +1 -1
  159. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +9 -2
  160. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +9 -2
  161. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +7 -1
  162. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +7 -1
  163. package/src/lib/utils/hooks/index.d.ts +0 -1
  164. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +3 -3
  165. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.d.ts +3 -3
  166. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +3 -3
  167. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.cjs +8 -11
  168. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js +8 -11
  169. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +97 -84
  170. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +5 -7
  171. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +99 -86
  172. package/src/lib/utils/hooks/useConnectWithEmail/useConnectWithEmail.cjs +5 -0
  173. package/src/lib/utils/hooks/useConnectWithEmail/useConnectWithEmail.js +5 -0
  174. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +69 -0
  175. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.d.ts +1 -0
  176. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +65 -0
  177. package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.cjs +2 -1
  178. package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.d.ts +3 -1
  179. package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.js +3 -2
  180. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.cjs +5 -0
  181. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.js +5 -0
  182. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs +20 -3
  183. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.d.ts +4 -0
  184. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js +20 -3
  185. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +3 -1
  186. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +3 -1
  187. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +11 -2
  188. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.d.ts +3 -2
  189. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +11 -2
  190. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +18 -8
  191. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +3 -3
  192. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +18 -8
  193. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +4 -4
  194. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +4 -4
  195. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +1 -0
  196. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +1 -0
  197. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +2 -1
  198. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +2 -1
  199. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +1 -0
  200. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +1 -0
  201. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +9 -2
  202. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +9 -2
  203. package/src/lib/views/CollectUserDataView/UserDataFields/index.cjs +1 -0
  204. package/src/lib/views/CollectUserDataView/UserDataFields/index.js +1 -0
  205. package/src/lib/views/CollectUserDataView/fieldsConfig.cjs +8 -4
  206. package/src/lib/views/CollectUserDataView/fieldsConfig.js +8 -4
  207. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.cjs +1 -0
  208. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.js +1 -0
  209. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +1 -0
  210. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +1 -0
  211. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +1 -0
  212. package/src/lib/views/EmailUpdate/EmailUpdate.js +1 -0
  213. package/src/lib/views/EmailVerification/EmailVerification.cjs +1 -0
  214. package/src/lib/views/EmailVerification/EmailVerification.js +1 -0
  215. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +1 -0
  216. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +1 -0
  217. package/src/lib/views/LoginWithEmailView/components/ListItemButton/ListItemButton.cjs +1 -0
  218. package/src/lib/views/LoginWithEmailView/components/ListItemButton/ListItemButton.js +1 -0
  219. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs +1 -0
  220. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js +1 -0
  221. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.cjs +1 -0
  222. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.js +1 -0
  223. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +9 -10
  224. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +10 -11
  225. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +12 -12
  226. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +13 -13
  227. package/src/lib/views/NoAccess/NoAccess.cjs +1 -0
  228. package/src/lib/views/NoAccess/NoAccess.js +1 -0
  229. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.cjs +1 -0
  230. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.js +1 -0
  231. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.cjs +1 -0
  232. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.js +1 -0
  233. package/src/lib/views/PendingConnectView/PendingConnectView.cjs +1 -0
  234. package/src/lib/views/PendingConnectView/PendingConnectView.js +1 -0
  235. package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +1 -0
  236. package/src/lib/views/PendingSignatureView/PendingSignatureView.js +1 -0
  237. package/src/lib/views/QrCodeView/QRCode.cjs +1 -0
  238. package/src/lib/views/QrCodeView/QRCode.js +1 -0
  239. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +1 -0
  240. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +1 -0
  241. package/src/lib/views/QrCodeView/QrCodeView.cjs +1 -0
  242. package/src/lib/views/QrCodeView/QrCodeView.js +1 -0
  243. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +1 -0
  244. package/src/lib/views/SendBalanceView/SendBalanceView.js +1 -0
  245. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +1 -0
  246. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +1 -0
  247. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.cjs +1 -0
  248. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.js +1 -0
  249. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +1 -0
  250. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +1 -0
  251. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.cjs +1 -0
  252. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.js +1 -0
  253. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.cjs +1 -0
  254. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.js +1 -0
  255. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +2 -1
  256. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +2 -1
  257. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +1 -0
  258. package/src/lib/views/WalletLockedView/WalletLockedView.js +1 -0
  259. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +1 -0
  260. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +1 -0
  261. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +1 -0
  262. package/src/lib/views/WalletUsedView/WalletUsedView.js +1 -0
  263. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs +2 -1
  264. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js +2 -1
  265. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +1 -0
  266. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +1 -0
  267. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.cjs +1 -0
  268. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.js +1 -0
  269. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +1 -0
  270. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +1 -0
  271. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.cjs +1 -0
  272. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.js +1 -0
  273. package/src/lib/widgets/DynamicBridgeWidget/context/DynamicBridgeWidgetContext/DynamicBridgeWidgetContext.cjs +2 -0
  274. package/src/lib/widgets/DynamicBridgeWidget/context/DynamicBridgeWidgetContext/DynamicBridgeWidgetContext.js +2 -0
  275. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +2 -1
  276. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +2 -1
  277. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs +1 -1
  278. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js +1 -1
  279. package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +10 -3
  280. package/src/lib/widgets/DynamicWidget/DynamicWidget.js +12 -5
  281. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.cjs +1 -0
  282. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.js +1 -0
  283. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +5 -4
  284. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +5 -4
  285. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.cjs +1 -0
  286. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.js +1 -0
  287. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.cjs +5 -4
  288. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.d.ts +4 -7
  289. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.js +5 -4
  290. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.cjs +1 -0
  291. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.js +1 -0
  292. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +4 -1
  293. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +4 -1
  294. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +1 -0
  295. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +1 -0
  296. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +4 -3
  297. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +4 -3
  298. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.cjs +1 -0
  299. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.js +1 -0
  300. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.cjs +1 -0
  301. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.js +1 -0
  302. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +1 -0
  303. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +1 -0
  304. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.cjs +1 -0
  305. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.js +1 -0
  306. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +1 -0
  307. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +1 -0
  308. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.cjs +1 -0
  309. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.js +1 -0
  310. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.cjs +1 -0
  311. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.js +1 -0
  312. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +2 -1
  313. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +2 -1
  314. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.cjs +1 -0
  315. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.js +1 -0
  316. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +1 -0
  317. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +1 -0
  318. package/src/lib/widgets/DynamicWidget/helpers/helpers.cjs +17 -1
  319. package/src/lib/widgets/DynamicWidget/helpers/helpers.js +17 -1
  320. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.cjs +1 -0
  321. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.js +1 -0
  322. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +1 -0
  323. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +1 -0
  324. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.cjs +1 -0
  325. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.js +1 -0
  326. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.cjs +1 -0
  327. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.js +1 -0
  328. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +1 -0
  329. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +1 -0
  330. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.cjs +1 -0
  331. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.js +1 -0
  332. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +1 -0
  333. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +1 -0
  334. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +1 -0
  335. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +1 -0
  336. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +1 -0
  337. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +1 -0
  338. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +1 -0
  339. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +1 -0
  340. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +1 -0
  341. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +1 -0
  342. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +1 -0
  343. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +1 -0
  344. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.cjs +1 -0
  345. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.js +1 -0
  346. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +1 -0
  347. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +1 -0
  348. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.cjs +1 -0
  349. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.js +1 -0
  350. package/src/lib/components/NetworkPicker/components/ActionList/ActionList.cjs +0 -71
  351. package/src/lib/components/NetworkPicker/components/ActionList/ActionList.d.ts +0 -12
  352. package/src/lib/components/NetworkPicker/components/ActionList/ActionList.js +0 -65
  353. package/src/lib/components/NetworkPicker/components/ActionList/index.d.ts +0 -1
  354. package/src/lib/components/Popper/utils/watchToScrollInHierarchy/watchToScrollInHierarchy.d.ts +0 -1
  355. package/src/lib/utils/hooks/useWalletConnectorEvents/useWalletConnectorEvents.cjs +0 -17
  356. package/src/lib/utils/hooks/useWalletConnectorEvents/useWalletConnectorEvents.d.ts +0 -2
  357. package/src/lib/utils/hooks/useWalletConnectorEvents/useWalletConnectorEvents.js +0 -13
  358. /package/src/lib/components/{Popper → MenuList}/utils/watchToScrollInHierarchy/index.d.ts +0 -0
@@ -7,6 +7,18 @@ import { isEmailVerificationRequired } from '../../functions/authenication/isEma
7
7
  import { useEmailVerificationContext } from '../../../context/EmailVerificationContext/EmailVerificationContext.js';
8
8
  import { useEmailVerificationRequest } from '../authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.js';
9
9
  import { useUpdateUserProfileByJWTCallback } from '../useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.js';
10
+ import { decodeJwt } from '../../../shared/utils/functions/decodeJwt/decodeJwt.js';
11
+ import '@dynamic-labs/iconic';
12
+ import '@dynamic-labs/wallet-connector-core';
13
+ import 'react/jsx-runtime';
14
+ import '../../../context/ViewContext/ViewContext.js';
15
+ import '../../../shared/logger.js';
16
+ import '@dynamic-labs/wallet-book';
17
+ import '@dynamic-labs/utils';
18
+ import '../../constants/colors.js';
19
+ import '../../../shared/utils/classes/storage/localStorage.js';
20
+ import 'ethers';
21
+ import '../../../shared/consts/index.js';
10
22
 
11
23
  // User Fields Schema without captchaToken and policiesConsent properties
12
24
  const userFieldsSchema = object().shape({
@@ -29,11 +41,14 @@ const useUserUpdateRequestInternal = ({ validationSchemaStripUnknown, }) => {
29
41
  const { verifyEmail: verifyEmailFn } = useEmailVerificationRequest();
30
42
  const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback();
31
43
  const updateUser = useCallback((userFields, userEnvironmentId) => __awaiter(void 0, void 0, void 0, function* () {
32
- var _a, _b;
44
+ var _a, _b, _c;
33
45
  const validatedUserFields = yield userFieldsSchema.validate(userFields, {
34
46
  stripUnknown: validationSchemaStripUnknown,
35
47
  });
36
48
  const updateUserProfileResponse = yield updateUserProfileFields(jwtToken, userEnvironmentId || environmentId, validatedUserFields);
49
+ // check if decoded JWT still somehow has missing fields, we can't proceed if it does
50
+ const decodedJwt = decodeJwt(updateUserProfileResponse.jwt);
51
+ const userProfileHasMissingFields = ((_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) !== null && _a !== void 0 ? _a : []).length > 0;
37
52
  const _isEmailVerificationRequired = isEmailVerificationRequired(updateUserProfileResponse);
38
53
  if (!_isEmailVerificationRequired) {
39
54
  // If email verification is not needed then we can update the user profile immediately.
@@ -41,11 +56,12 @@ const useUserUpdateRequestInternal = ({ validationSchemaStripUnknown, }) => {
41
56
  return {
42
57
  isEmailVerificationRequired: _isEmailVerificationRequired,
43
58
  updateUserProfileResponse,
59
+ userProfileHasMissingFields,
44
60
  };
45
61
  }
46
62
  // We update EmailContext to use this information in the Email Verification view
47
- setEmail((_a = updateUserProfileResponse.emailVerification) === null || _a === void 0 ? void 0 : _a.email);
48
- setVerificationUUID((_b = updateUserProfileResponse.emailVerification) === null || _b === void 0 ? void 0 : _b.verificationUUID);
63
+ setEmail((_b = updateUserProfileResponse.emailVerification) === null || _b === void 0 ? void 0 : _b.email);
64
+ setVerificationUUID((_c = updateUserProfileResponse.emailVerification) === null || _c === void 0 ? void 0 : _c.verificationUUID);
49
65
  // DYN-2046 - Customers have the opportunity to programmatically use our email verification and profile editing.
50
66
  // VerifyEmailFN was scoped to bypass the problem with memoization of the state at the beginning of Promise.
51
67
  // setEmail and setVerificationUUID in the above lines will are not visible in this promise.
@@ -56,6 +72,7 @@ const useUserUpdateRequestInternal = ({ validationSchemaStripUnknown, }) => {
56
72
  return {
57
73
  isEmailVerificationRequired: _isEmailVerificationRequired,
58
74
  updateUserProfileResponse,
75
+ userProfileHasMissingFields,
59
76
  verifyEmailFn: scopedVerifyEmailFn,
60
77
  };
61
78
  }), [
@@ -36,7 +36,7 @@ const useVerifyWallet = ({ consumeNonce, displayTermsOfService, environmentId, p
36
36
  const { setDeniedAddress, setDeniedOauthProvider } = AccessDeniedContext.useAccessDeniedContext();
37
37
  const { setView, goToInitialView } = ViewContext.useViewContext();
38
38
  const { setErrorMessage, setError } = ErrorContext.useErrorContext();
39
- const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, } = useInternalDynamicContext.useInternalDynamicContext();
39
+ const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, ongoingVerifications, } = useInternalDynamicContext.useInternalDynamicContext();
40
40
  // If the user is not already logged it means that we only need to verify
41
41
  // We need this boolean for the part of the logic where we already persisted a new authToken,
42
42
  // and need to distinguish between logic for verify or linking.
@@ -90,6 +90,8 @@ const useVerifyWallet = ({ consumeNonce, displayTermsOfService, environmentId, p
90
90
  };
91
91
  const handleError = (e, walletConnector, address, oauth) => {
92
92
  removeConnectedWalletsInfo();
93
+ // Ensure auth verification flag is taken down
94
+ ongoingVerifications.setAuthVerification(false);
93
95
  // This is a special case where the user is trying to link a wallet
94
96
  // and the wallet is already linked and we don't want to kill the session.
95
97
  if (e instanceof utils.WalletUsedError) {
@@ -32,7 +32,7 @@ const useVerifyWallet = ({ consumeNonce, displayTermsOfService, environmentId, p
32
32
  const { setDeniedAddress, setDeniedOauthProvider } = useAccessDeniedContext();
33
33
  const { setView, goToInitialView } = useViewContext();
34
34
  const { setErrorMessage, setError } = useErrorContext();
35
- const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, } = useInternalDynamicContext();
35
+ const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, ongoingVerifications, } = useInternalDynamicContext();
36
36
  // If the user is not already logged it means that we only need to verify
37
37
  // We need this boolean for the part of the logic where we already persisted a new authToken,
38
38
  // and need to distinguish between logic for verify or linking.
@@ -86,6 +86,8 @@ const useVerifyWallet = ({ consumeNonce, displayTermsOfService, environmentId, p
86
86
  };
87
87
  const handleError = (e, walletConnector, address, oauth) => {
88
88
  removeConnectedWalletsInfo();
89
+ // Ensure auth verification flag is taken down
90
+ ongoingVerifications.setAuthVerification(false);
89
91
  // This is a special case where the user is trying to link a wallet
90
92
  // and the wallet is already linked and we don't want to kill the session.
91
93
  if (e instanceof WalletUsedError) {
@@ -21,7 +21,7 @@ var useWalletsConnectionState = require('../useWalletsConnectionState/useWallets
21
21
  var createLinkedWalletsFromWalletOptions = require('./utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.cjs');
22
22
  var reconnectSocialWallet = require('./reconnectSocialWallet.cjs');
23
23
 
24
- const useWalletConnectors = ({ authMode, authToken, connectedWallets, wallets: availableWallets, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, }) => {
24
+ const useWalletConnectors = ({ authMode, authToken, connectedWallets, wallets: availableWallets, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, user, }) => {
25
25
  const [showQrcodeModal, setShowQrcodeModal] = React.useState(false);
26
26
  const linkedWallets = React.useMemo(() => {
27
27
  if (!authToken) {
@@ -33,7 +33,16 @@ const useWalletConnectors = ({ authMode, authToken, connectedWallets, wallets: a
33
33
  walletOptions: availableWallets,
34
34
  });
35
35
  }, [authToken, primaryWalletId, availableWallets]);
36
- const walletsBasedOnAuthMode = React.useMemo(() => (authMode === 'connect-only' ? connectedWallets : linkedWallets), [authMode, connectedWallets, linkedWallets]);
36
+ const walletsBasedOnAuthMode = React.useMemo(() => {
37
+ // Before signing the first message we are using connected wallets list
38
+ // This is because we want the first connected wallet to have events applied by useWalletEventListeners
39
+ // In connect-and-sign mode, events are only applied after the message is signed.
40
+ // This change ensures that events will be applied even before the signature.
41
+ if (authMode === 'connect-and-sign' && user) {
42
+ return linkedWallets;
43
+ }
44
+ return connectedWallets;
45
+ }, [authMode, connectedWallets, linkedWallets, user]);
37
46
  const { connectedWalletMap, computeConnectedStateForWallets, didConnectedStateLoad, } = useWalletsConnectionState.useWalletsConnectionState(walletsBasedOnAuthMode);
38
47
  const wallets = React.useMemo(() => walletsBasedOnAuthMode.map((wallet) => (Object.assign(Object.assign({}, wallet), { connected: Boolean(connectedWalletMap[wallet.id]) }))), [connectedWalletMap, walletsBasedOnAuthMode]);
39
48
  React.useEffect(() => {
@@ -1,5 +1,5 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
- import { WalletOption, Wallet, MultiWalletWidgetState, AuthModeType } from '../../../shared';
2
+ import { WalletOption, Wallet, MultiWalletWidgetState, AuthModeType, UserProfile } from '../../../shared';
3
3
  import { MultiWalletWidgetStateSetter } from '../multiWallet';
4
4
  import { WalletConnector } from '../../../..';
5
5
  type Props = {
@@ -13,6 +13,7 @@ type Props = {
13
13
  wallets: WalletOption[];
14
14
  setPrimaryWalletId: (walletId: string) => void;
15
15
  primaryWalletId: string | undefined;
16
+ user?: UserProfile;
16
17
  };
17
18
  export interface UseWalletConnectors {
18
19
  computeConnectedStateForWallets: () => Promise<void>;
@@ -27,5 +28,5 @@ export interface UseWalletConnectors {
27
28
  walletConnectors: WalletConnector[];
28
29
  wallets: Wallet[];
29
30
  }
30
- export declare const useWalletConnectors: ({ authMode, authToken, connectedWallets, wallets: availableWallets, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, }: Props) => UseWalletConnectors;
31
+ export declare const useWalletConnectors: ({ authMode, authToken, connectedWallets, wallets: availableWallets, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, user, }: Props) => UseWalletConnectors;
31
32
  export {};
@@ -17,7 +17,7 @@ import { useWalletsConnectionState } from '../useWalletsConnectionState/useWalle
17
17
  import { createLinkedWalletsFromWalletOptions } from './utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.js';
18
18
  import { reconnectSocialWallet } from './reconnectSocialWallet.js';
19
19
 
20
- const useWalletConnectors = ({ authMode, authToken, connectedWallets, wallets: availableWallets, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, }) => {
20
+ const useWalletConnectors = ({ authMode, authToken, connectedWallets, wallets: availableWallets, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, user, }) => {
21
21
  const [showQrcodeModal, setShowQrcodeModal] = useState(false);
22
22
  const linkedWallets = useMemo(() => {
23
23
  if (!authToken) {
@@ -29,7 +29,16 @@ const useWalletConnectors = ({ authMode, authToken, connectedWallets, wallets: a
29
29
  walletOptions: availableWallets,
30
30
  });
31
31
  }, [authToken, primaryWalletId, availableWallets]);
32
- const walletsBasedOnAuthMode = useMemo(() => (authMode === 'connect-only' ? connectedWallets : linkedWallets), [authMode, connectedWallets, linkedWallets]);
32
+ const walletsBasedOnAuthMode = useMemo(() => {
33
+ // Before signing the first message we are using connected wallets list
34
+ // This is because we want the first connected wallet to have events applied by useWalletEventListeners
35
+ // In connect-and-sign mode, events are only applied after the message is signed.
36
+ // This change ensures that events will be applied even before the signature.
37
+ if (authMode === 'connect-and-sign' && user) {
38
+ return linkedWallets;
39
+ }
40
+ return connectedWallets;
41
+ }, [authMode, connectedWallets, linkedWallets, user]);
33
42
  const { connectedWalletMap, computeConnectedStateForWallets, didConnectedStateLoad, } = useWalletsConnectionState(walletsBasedOnAuthMode);
34
43
  const wallets = useMemo(() => walletsBasedOnAuthMode.map((wallet) => (Object.assign(Object.assign({}, wallet), { connected: Boolean(connectedWalletMap[wallet.id]) }))), [connectedWalletMap, walletsBasedOnAuthMode]);
35
44
  useEffect(() => {
@@ -18,7 +18,7 @@ require('ethers');
18
18
  require('../../../shared/consts/index.cjs');
19
19
 
20
20
  const orderedSecondaryWalletAddresses = (wallets) => wallets.map((wallet) => wallet.address).sort();
21
- const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnector, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, connectWalletByAddressAndChain, authMode, }) => {
21
+ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnector, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
22
22
  const [loadingNetwork, setLoadingNetwork] = React.useState(true);
23
23
  const [network, setNetwork] = React.useState(undefined);
24
24
  React.useEffect(() => {
@@ -96,7 +96,7 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
96
96
  const [newAddress] = accounts;
97
97
  const newWallet = secondaryWallets.find((wallet) => walletConnectorCore.isSameAddress(wallet.address, newAddress, wallet.chain));
98
98
  if (authMode === 'connect-only') {
99
- connectWalletByAddressAndChain(primaryWallet.connector.name, newAddress, primaryWallet.chain);
99
+ refreshConnectedWallet(primaryWallet.id, primaryWallet.connector);
100
100
  return;
101
101
  }
102
102
  if (walletConnectorCore.isSameAddress(newAddress, primaryWallet.address, primaryWallet.chain)) {
@@ -119,7 +119,6 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
119
119
  yield computeConnectedStateForWallets();
120
120
  return;
121
121
  }
122
- connectWalletByAddressAndChain(primaryWallet.connector.name, newAddress, primaryWallet.chain);
123
122
  }
124
123
  else {
125
124
  logger.logger.error(`Unexpected multiWalletWidgetState (${multiWalletWidgetState}) and onAccountChange combination. Resetting state to idle.`);
@@ -128,6 +127,11 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
128
127
  yield computeConnectedStateForWallets();
129
128
  }),
130
129
  onChainChange: (chain) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
130
+ if (!primaryWallet) {
131
+ return;
132
+ }
133
+ refreshConnectedWallet(primaryWallet.id, primaryWallet.connector);
134
+ // https://linear.app/dynamic-labs/issue/QNTM-84/breaking-change-rename-network-to-primarywalletnetwork
131
135
  if (primaryWallet.chain === 'starknet') {
132
136
  setNetwork(chain);
133
137
  }
@@ -145,19 +149,18 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
145
149
  user,
146
150
  computeConnectedStateForWallets,
147
151
  handleLogOut,
148
- connectWalletByAddressAndChain,
149
152
  multiWalletWidgetState,
150
153
  secondaryWallets,
151
154
  setSelectedWalletConnector,
152
155
  handleAccountChangeWhenAwaitingAccountSwitch,
153
156
  setPrimaryWalletId,
157
+ refreshConnectedWallet,
154
158
  ]);
155
159
  const addSecondaryWalletEventListeners = React.useCallback((seen) => {
156
160
  const secondaryListeners = {
157
- onAccountChange: (accounts) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
161
+ onAccountChange: () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
158
162
  if (authMode === 'connect-only' && secondaryWallets.length) {
159
- const [newAddress] = accounts;
160
- connectWalletByAddressAndChain(secondaryWallets[0].connector.name, newAddress, secondaryWallets[0].chain);
163
+ refreshConnectedWallet(secondaryWallets[0].id, secondaryWallets[0].connector);
161
164
  return;
162
165
  }
163
166
  if (multiWalletWidgetState === 'awaiting_account_switch') {
@@ -165,6 +168,13 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
165
168
  }
166
169
  yield computeConnectedStateForWallets();
167
170
  }),
171
+ onChainChange: () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
172
+ // We should pass the proper walletId here
173
+ if (!secondaryWallets.length) {
174
+ return;
175
+ }
176
+ refreshConnectedWallet(secondaryWallets[0].id, secondaryWallets[0].connector);
177
+ }),
168
178
  onDisconnect: () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
169
179
  yield computeConnectedStateForWallets();
170
180
  }),
@@ -183,12 +193,12 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
183
193
  }, [
184
194
  authMode,
185
195
  computeConnectedStateForWallets,
186
- connectWalletByAddressAndChain,
187
196
  selectedWalletConnector,
188
197
  selectedWalletWithAction,
189
198
  handleAccountChangeWhenAwaitingAccountSwitch,
190
199
  multiWalletWidgetState,
191
200
  secondaryWallets,
201
+ refreshConnectedWallet,
192
202
  ]);
193
203
  return {
194
204
  loadingNetwork,
@@ -1,10 +1,9 @@
1
1
  /// <reference types="react" />
2
- import type { Chain, WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
+ import type { WalletConnector } from '@dynamic-labs/wallet-connector-core';
3
3
  import { AuthModeType, MultiWalletWidgetState, UserProfile, Wallet, WalletWithAction } from '../../../shared';
4
4
  import { MultiWalletWidgetStateSetter } from '../multiWallet';
5
5
  export type UseWalletEventListenersArgs = {
6
6
  computeConnectedStateForWallets(): Promise<void>;
7
- connectWalletByAddressAndChain: (name: string, address: string, chain: Chain) => Promise<void>;
8
7
  handleLogOut(): Promise<void>;
9
8
  multiWallet: boolean;
10
9
  multiWalletWidgetState: MultiWalletWidgetState;
@@ -18,8 +17,9 @@ export type UseWalletEventListenersArgs = {
18
17
  setSelectedWalletWithAction(walletWithAction: WalletWithAction | null): void;
19
18
  user: UserProfile | undefined;
20
19
  authMode: AuthModeType;
20
+ refreshConnectedWallet: (walletId: string, walletConnector: WalletConnector) => Promise<void>;
21
21
  };
22
- export declare const useWalletEventListeners: ({ computeConnectedStateForWallets, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnector, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, connectWalletByAddressAndChain, authMode, }: UseWalletEventListenersArgs) => {
22
+ export declare const useWalletEventListeners: ({ computeConnectedStateForWallets, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnector, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }: UseWalletEventListenersArgs) => {
23
23
  loadingNetwork: boolean;
24
24
  network: string | number | undefined;
25
25
  setNetwork: import("react").Dispatch<import("react").SetStateAction<string | number | undefined>>;
@@ -14,7 +14,7 @@ import 'ethers';
14
14
  import '../../../shared/consts/index.js';
15
15
 
16
16
  const orderedSecondaryWalletAddresses = (wallets) => wallets.map((wallet) => wallet.address).sort();
17
- const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnector, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, connectWalletByAddressAndChain, authMode, }) => {
17
+ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnector, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
18
18
  const [loadingNetwork, setLoadingNetwork] = useState(true);
19
19
  const [network, setNetwork] = useState(undefined);
20
20
  useEffect(() => {
@@ -92,7 +92,7 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
92
92
  const [newAddress] = accounts;
93
93
  const newWallet = secondaryWallets.find((wallet) => isSameAddress(wallet.address, newAddress, wallet.chain));
94
94
  if (authMode === 'connect-only') {
95
- connectWalletByAddressAndChain(primaryWallet.connector.name, newAddress, primaryWallet.chain);
95
+ refreshConnectedWallet(primaryWallet.id, primaryWallet.connector);
96
96
  return;
97
97
  }
98
98
  if (isSameAddress(newAddress, primaryWallet.address, primaryWallet.chain)) {
@@ -115,7 +115,6 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
115
115
  yield computeConnectedStateForWallets();
116
116
  return;
117
117
  }
118
- connectWalletByAddressAndChain(primaryWallet.connector.name, newAddress, primaryWallet.chain);
119
118
  }
120
119
  else {
121
120
  logger.error(`Unexpected multiWalletWidgetState (${multiWalletWidgetState}) and onAccountChange combination. Resetting state to idle.`);
@@ -124,6 +123,11 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
124
123
  yield computeConnectedStateForWallets();
125
124
  }),
126
125
  onChainChange: (chain) => __awaiter(void 0, void 0, void 0, function* () {
126
+ if (!primaryWallet) {
127
+ return;
128
+ }
129
+ refreshConnectedWallet(primaryWallet.id, primaryWallet.connector);
130
+ // https://linear.app/dynamic-labs/issue/QNTM-84/breaking-change-rename-network-to-primarywalletnetwork
127
131
  if (primaryWallet.chain === 'starknet') {
128
132
  setNetwork(chain);
129
133
  }
@@ -141,19 +145,18 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
141
145
  user,
142
146
  computeConnectedStateForWallets,
143
147
  handleLogOut,
144
- connectWalletByAddressAndChain,
145
148
  multiWalletWidgetState,
146
149
  secondaryWallets,
147
150
  setSelectedWalletConnector,
148
151
  handleAccountChangeWhenAwaitingAccountSwitch,
149
152
  setPrimaryWalletId,
153
+ refreshConnectedWallet,
150
154
  ]);
151
155
  const addSecondaryWalletEventListeners = useCallback((seen) => {
152
156
  const secondaryListeners = {
153
- onAccountChange: (accounts) => __awaiter(void 0, void 0, void 0, function* () {
157
+ onAccountChange: () => __awaiter(void 0, void 0, void 0, function* () {
154
158
  if (authMode === 'connect-only' && secondaryWallets.length) {
155
- const [newAddress] = accounts;
156
- connectWalletByAddressAndChain(secondaryWallets[0].connector.name, newAddress, secondaryWallets[0].chain);
159
+ refreshConnectedWallet(secondaryWallets[0].id, secondaryWallets[0].connector);
157
160
  return;
158
161
  }
159
162
  if (multiWalletWidgetState === 'awaiting_account_switch') {
@@ -161,6 +164,13 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
161
164
  }
162
165
  yield computeConnectedStateForWallets();
163
166
  }),
167
+ onChainChange: () => __awaiter(void 0, void 0, void 0, function* () {
168
+ // We should pass the proper walletId here
169
+ if (!secondaryWallets.length) {
170
+ return;
171
+ }
172
+ refreshConnectedWallet(secondaryWallets[0].id, secondaryWallets[0].connector);
173
+ }),
164
174
  onDisconnect: () => __awaiter(void 0, void 0, void 0, function* () {
165
175
  yield computeConnectedStateForWallets();
166
176
  }),
@@ -179,12 +189,12 @@ const useWalletEventListeners = ({ computeConnectedStateForWallets, handleLogOut
179
189
  }, [
180
190
  authMode,
181
191
  computeConnectedStateForWallets,
182
- connectWalletByAddressAndChain,
183
192
  selectedWalletConnector,
184
193
  selectedWalletWithAction,
185
194
  handleAccountChangeWhenAwaitingAccountSwitch,
186
195
  multiWalletWidgetState,
187
196
  secondaryWallets,
197
+ refreshConnectedWallet,
188
198
  ]);
189
199
  return {
190
200
  loadingNetwork,
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _tslib = require('../../../../../_virtual/_tslib.cjs');
6
6
  var utils = require('@dynamic-labs/utils');
7
- var MockContext = require('../../../context/MockContext/MockContext.cjs');
8
7
  var useInternalDynamicContext = require('../../../context/DynamicContext/useInternalDynamicContext.cjs');
9
8
  var ErrorContext = require('../../../context/ErrorContext/ErrorContext.cjs');
9
+ var MockContext = require('../../../context/MockContext/MockContext.cjs');
10
10
  var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
11
11
  require('@dynamic-labs/sdk-api');
12
12
  require('../../../shared/logger.cjs');
@@ -21,14 +21,14 @@ require('ethers');
21
21
  require('../../../shared/consts/index.cjs');
22
22
  require('@dynamic-labs/multi-wallet');
23
23
  var requiresTwoStepAuthentication = require('../../functions/requiresTwoStepAuthentication/requiresTwoStepAuthentication.cjs');
24
+ var isSelectedWalletAlreadyConnected = require('../../functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.cjs');
24
25
  var useConnectAndSign = require('../authenticationHooks/useConnectAndSign/useConnectAndSign.cjs');
25
26
  require('../../../config/ApiEndpoint.cjs');
26
27
  require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
27
28
  var useConnectAndSignSplitSteps = require('../authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs');
28
- var isSelectedWalletAlreadyConnected = require('../../functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.cjs');
29
29
 
30
30
  const useWalletItemActions = () => {
31
- const { setMultiWalletWidgetState, setShowAuthFlow, setSelectedWalletConnector, wallets, setQrcodeUri, setDesktopUri, user, linkedWallets, setIsVerifying, } = useInternalDynamicContext.useInternalDynamicContext();
31
+ const { setMultiWalletWidgetState, setShowAuthFlow, setSelectedWalletConnector, wallets, setQrcodeUri, setDesktopUri, user, linkedWallets, ongoingVerifications, } = useInternalDynamicContext.useInternalDynamicContext();
32
32
  const { mockedSDK } = MockContext.useMockContext();
33
33
  const { setError } = ErrorContext.useErrorContext();
34
34
  const { setView } = ViewContext.useViewContext();
@@ -111,7 +111,7 @@ const useWalletItemActions = () => {
111
111
  if (walletConnector.connectedChain === 'FLOW') {
112
112
  yield walletConnector.endSession();
113
113
  }
114
- setIsVerifying(false);
114
+ ongoingVerifications.setConnectAndSignVerification(false);
115
115
  if (isSelectedWalletAlreadyConnected.isSelectedWalletAlreadyConnected(linkedWallets, walletConnector, user) &&
116
116
  walletConnector.connectedChain !== 'FLOW') {
117
117
  // wallet is already connected
@@ -1,8 +1,8 @@
1
1
  import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
2
  import { isMobile } from '@dynamic-labs/utils';
3
- import { useMockContext } from '../../../context/MockContext/MockContext.js';
4
3
  import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
5
4
  import { useErrorContext } from '../../../context/ErrorContext/ErrorContext.js';
5
+ import { useMockContext } from '../../../context/MockContext/MockContext.js';
6
6
  import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
7
7
  import '@dynamic-labs/sdk-api';
8
8
  import '../../../shared/logger.js';
@@ -17,14 +17,14 @@ import 'ethers';
17
17
  import '../../../shared/consts/index.js';
18
18
  import '@dynamic-labs/multi-wallet';
19
19
  import { requiresTwoStepAuthentication } from '../../functions/requiresTwoStepAuthentication/requiresTwoStepAuthentication.js';
20
+ import { isSelectedWalletAlreadyConnected } from '../../functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.js';
20
21
  import { useConnectAndSign } from '../authenticationHooks/useConnectAndSign/useConnectAndSign.js';
21
22
  import '../../../config/ApiEndpoint.js';
22
23
  import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
23
24
  import { useConnectAndSignSplitSteps } from '../authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js';
24
- import { isSelectedWalletAlreadyConnected } from '../../functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.js';
25
25
 
26
26
  const useWalletItemActions = () => {
27
- const { setMultiWalletWidgetState, setShowAuthFlow, setSelectedWalletConnector, wallets, setQrcodeUri, setDesktopUri, user, linkedWallets, setIsVerifying, } = useInternalDynamicContext();
27
+ const { setMultiWalletWidgetState, setShowAuthFlow, setSelectedWalletConnector, wallets, setQrcodeUri, setDesktopUri, user, linkedWallets, ongoingVerifications, } = useInternalDynamicContext();
28
28
  const { mockedSDK } = useMockContext();
29
29
  const { setError } = useErrorContext();
30
30
  const { setView } = useViewContext();
@@ -107,7 +107,7 @@ const useWalletItemActions = () => {
107
107
  if (walletConnector.connectedChain === 'FLOW') {
108
108
  yield walletConnector.endSession();
109
109
  }
110
- setIsVerifying(false);
110
+ ongoingVerifications.setConnectAndSignVerification(false);
111
111
  if (isSelectedWalletAlreadyConnected(linkedWallets, walletConnector, user) &&
112
112
  walletConnector.connectedChain !== 'FLOW') {
113
113
  // wallet is already connected
@@ -43,6 +43,7 @@ require('../../../components/Popper/PopperContext/PopperContext.cjs');
43
43
  require('formik');
44
44
  require('yup');
45
45
  require('../../../components/InlineWidget/InlineWidget.cjs');
46
+ require('../../../components/MenuList/Dropdown/Dropdown.cjs');
46
47
 
47
48
  const useWalletUiUtils = ({ appLogoUrl, appName, getAppOrigin, }) => {
48
49
  const confirmationStateRef = React.useRef('enabled');
@@ -39,6 +39,7 @@ import '../../../components/Popper/PopperContext/PopperContext.js';
39
39
  import 'formik';
40
40
  import 'yup';
41
41
  import '../../../components/InlineWidget/InlineWidget.js';
42
+ import '../../../components/MenuList/Dropdown/Dropdown.js';
42
43
 
43
44
  const useWalletUiUtils = ({ appLogoUrl, appName, getAppOrigin, }) => {
44
45
  const confirmationStateRef = useRef('enabled');
@@ -34,8 +34,8 @@ var useVerifyWallet = require('../../utils/hooks/useVerifyWallet/useVerifyWallet
34
34
  require('../../components/IconButton/IconButton.cjs');
35
35
  var PoweredByDynamic = require('../../components/PoweredByDynamic/PoweredByDynamic.cjs');
36
36
  require('../../components/Alert/Alert.cjs');
37
- require('../../context/MockContext/MockContext.cjs');
38
37
  require('../../context/ErrorContext/ErrorContext.cjs');
38
+ require('../../context/MockContext/MockContext.cjs');
39
39
  var CaptchaContext = require('../../context/CaptchaContext/CaptchaContext.cjs');
40
40
  require('../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
41
41
  require('../../components/Popper/Popper/Popper.cjs');
@@ -43,6 +43,7 @@ require('../../components/Popper/PopperContext/PopperContext.cjs');
43
43
  require('formik');
44
44
  require('yup');
45
45
  require('../../components/InlineWidget/InlineWidget.cjs');
46
+ require('../../components/MenuList/Dropdown/Dropdown.cjs');
46
47
  var Captcha = require('../../components/Captcha/Captcha.cjs');
47
48
 
48
49
  const CaptchaVerifyUser = () => {
@@ -30,8 +30,8 @@ import { useVerifyWallet } from '../../utils/hooks/useVerifyWallet/useVerifyWall
30
30
  import '../../components/IconButton/IconButton.js';
31
31
  import { PoweredByDynamic } from '../../components/PoweredByDynamic/PoweredByDynamic.js';
32
32
  import '../../components/Alert/Alert.js';
33
- import '../../context/MockContext/MockContext.js';
34
33
  import '../../context/ErrorContext/ErrorContext.js';
34
+ import '../../context/MockContext/MockContext.js';
35
35
  import { useCaptchaContext } from '../../context/CaptchaContext/CaptchaContext.js';
36
36
  import '../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
37
37
  import '../../components/Popper/Popper/Popper.js';
@@ -39,6 +39,7 @@ import '../../components/Popper/PopperContext/PopperContext.js';
39
39
  import 'formik';
40
40
  import 'yup';
41
41
  import '../../components/InlineWidget/InlineWidget.js';
42
+ import '../../components/MenuList/Dropdown/Dropdown.js';
42
43
  import { Captcha } from '../../components/Captcha/Captcha.js';
43
44
 
44
45
  const CaptchaVerifyUser = () => {
@@ -44,6 +44,7 @@ require('../../components/Popper/PopperContext/PopperContext.cjs');
44
44
  require('formik');
45
45
  require('yup');
46
46
  require('../../components/InlineWidget/InlineWidget.cjs');
47
+ require('../../components/MenuList/Dropdown/Dropdown.cjs');
47
48
  var NetworkPicker = require('../../components/NetworkPicker/NetworkPicker.cjs');
48
49
  var UserAddress = require('../../components/UserAddress/UserAddress.cjs');
49
50
  var useFetchNameService = require('../../widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs');
@@ -40,6 +40,7 @@ import '../../components/Popper/PopperContext/PopperContext.js';
40
40
  import 'formik';
41
41
  import 'yup';
42
42
  import '../../components/InlineWidget/InlineWidget.js';
43
+ import '../../components/MenuList/Dropdown/Dropdown.js';
43
44
  import { NetworkPicker } from '../../components/NetworkPicker/NetworkPicker.js';
44
45
  import { UserAddress } from '../../components/UserAddress/UserAddress.js';
45
46
  import { useFetchNameService } from '../../widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js';
@@ -42,18 +42,25 @@ require('../../../components/Popper/Popper/Popper.cjs');
42
42
  require('../../../components/Popper/PopperContext/PopperContext.cjs');
43
43
  require('yup');
44
44
  require('../../../components/InlineWidget/InlineWidget.cjs');
45
+ require('../../../components/MenuList/Dropdown/Dropdown.cjs');
45
46
  var index = require('../UserDataFields/index.cjs');
46
47
  var useUserDataForm = require('../../../utils/hooks/useUserDataForm/useUserDataForm.cjs');
47
48
 
48
49
  const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
49
50
  const { policiesConsentInnerComponent, onboardingOnlyJwt, setShowAuthFlow, setCallback, } = useInternalDynamicContext.useInternalDynamicContext();
50
- const { setView } = ViewContext.useViewContext();
51
+ const { setView, view } = ViewContext.useViewContext();
51
52
  const decodedJwt = decodeJwt.decodeJwt(onboardingOnlyJwt);
52
53
  const { updateUser } = useUserUpdateRequest.useUserUpdateRequestInternal({
53
54
  validationSchemaStripUnknown: false,
54
55
  });
55
56
  const onSubmit = React.useCallback((formValues) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
56
- const { isEmailVerificationRequired } = yield updateUser(formValues);
57
+ const { isEmailVerificationRequired, userProfileHasMissingFields } = yield updateUser(formValues);
58
+ if (userProfileHasMissingFields) {
59
+ // make sure we capture the fields that are required and still missing!
60
+ // do not change the view, just use the current one
61
+ setView(view);
62
+ return;
63
+ }
57
64
  if (isEmailVerificationRequired) {
58
65
  setView('verify-email');
59
66
  return;
@@ -38,18 +38,25 @@ import '../../../components/Popper/Popper/Popper.js';
38
38
  import '../../../components/Popper/PopperContext/PopperContext.js';
39
39
  import 'yup';
40
40
  import '../../../components/InlineWidget/InlineWidget.js';
41
+ import '../../../components/MenuList/Dropdown/Dropdown.js';
41
42
  import { UserDataFields } from '../UserDataFields/index.js';
42
43
  import { useUserDataForm } from '../../../utils/hooks/useUserDataForm/useUserDataForm.js';
43
44
 
44
45
  const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
45
46
  const { policiesConsentInnerComponent, onboardingOnlyJwt, setShowAuthFlow, setCallback, } = useInternalDynamicContext();
46
- const { setView } = useViewContext();
47
+ const { setView, view } = useViewContext();
47
48
  const decodedJwt = decodeJwt(onboardingOnlyJwt);
48
49
  const { updateUser } = useUserUpdateRequestInternal({
49
50
  validationSchemaStripUnknown: false,
50
51
  });
51
52
  const onSubmit = useCallback((formValues) => __awaiter(void 0, void 0, void 0, function* () {
52
- const { isEmailVerificationRequired } = yield updateUser(formValues);
53
+ const { isEmailVerificationRequired, userProfileHasMissingFields } = yield updateUser(formValues);
54
+ if (userProfileHasMissingFields) {
55
+ // make sure we capture the fields that are required and still missing!
56
+ // do not change the view, just use the current one
57
+ setView(view);
58
+ return;
59
+ }
53
60
  if (isEmailVerificationRequired) {
54
61
  setView('verify-email');
55
62
  return;
@@ -44,6 +44,7 @@ require('../../../components/Popper/Popper/Popper.cjs');
44
44
  require('../../../components/Popper/PopperContext/PopperContext.cjs');
45
45
  require('yup');
46
46
  require('../../../components/InlineWidget/InlineWidget.cjs');
47
+ require('../../../components/MenuList/Dropdown/Dropdown.cjs');
47
48
  var fieldsConfig = require('../fieldsConfig.cjs');
48
49
  var getDisplayErrorMessage = require('./utils/getDisplayErrorMessage/getDisplayErrorMessage.cjs');
49
50
 
@@ -40,6 +40,7 @@ import '../../../components/Popper/Popper/Popper.js';
40
40
  import '../../../components/Popper/PopperContext/PopperContext.js';
41
41
  import 'yup';
42
42
  import '../../../components/InlineWidget/InlineWidget.js';
43
+ import '../../../components/MenuList/Dropdown/Dropdown.js';
43
44
  import { fieldsConfig } from '../fieldsConfig.js';
44
45
  import { getDisplayErrorMessage } from './utils/getDisplayErrorMessage/getDisplayErrorMessage.js';
45
46