@dynamic-labs/sdk-react-core 0.18.0-RC.15 → 0.18.0-RC.17

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 (361) hide show
  1. package/CHANGELOG.md +37 -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/LogoutButton/LogoutButton.cjs +17 -3
  29. package/src/lib/components/LogoutButton/LogoutButton.js +17 -3
  30. package/src/lib/components/MenuList/Dropdown/Dropdown.cjs +85 -0
  31. package/src/lib/components/MenuList/Dropdown/Dropdown.d.ts +16 -0
  32. package/src/lib/components/MenuList/Dropdown/Dropdown.js +81 -0
  33. package/src/lib/components/MenuList/Dropdown/index.d.ts +1 -0
  34. package/src/lib/components/MenuList/MenuList/MenuList.cjs +34 -0
  35. package/src/lib/components/MenuList/MenuList/MenuList.d.ts +15 -0
  36. package/src/lib/components/MenuList/MenuList/MenuList.js +30 -0
  37. package/src/lib/components/MenuList/MenuList/index.d.ts +1 -0
  38. package/src/lib/components/MenuList/index.d.ts +1 -0
  39. package/src/lib/components/MenuList/utils/index.d.ts +1 -0
  40. package/src/lib/components/{Popper → MenuList}/utils/watchToScrollInHierarchy/watchToScrollInHierarchy.cjs +6 -1
  41. package/src/lib/components/MenuList/utils/watchToScrollInHierarchy/watchToScrollInHierarchy.d.ts +5 -0
  42. package/src/lib/components/{Popper → MenuList}/utils/watchToScrollInHierarchy/watchToScrollInHierarchy.js +6 -1
  43. package/src/lib/components/Modal/Modal.cjs +1 -0
  44. package/src/lib/components/Modal/Modal.js +1 -0
  45. package/src/lib/components/NetworkPicker/NetworkPicker.cjs +9 -12
  46. package/src/lib/components/NetworkPicker/NetworkPicker.js +9 -12
  47. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +1 -0
  48. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +1 -0
  49. package/src/lib/components/NetworkPicker/components/Network/Network.cjs +1 -0
  50. package/src/lib/components/NetworkPicker/components/Network/Network.js +1 -0
  51. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.cjs +1 -0
  52. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.js +1 -0
  53. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +1 -0
  54. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +1 -0
  55. package/src/lib/components/OverlayCard/OverlayCard.cjs +10 -11
  56. package/src/lib/components/OverlayCard/OverlayCard.d.ts +4 -2
  57. package/src/lib/components/OverlayCard/OverlayCard.js +11 -11
  58. package/src/lib/components/Popper/Popper/Popper.cjs +12 -12
  59. package/src/lib/components/Popper/Popper/Popper.d.ts +7 -4
  60. package/src/lib/components/Popper/Popper/Popper.js +12 -12
  61. package/src/lib/components/Popper/PopperContent/PopperContent.cjs +1 -1
  62. package/src/lib/components/Popper/PopperContent/PopperContent.d.ts +2 -1
  63. package/src/lib/components/Popper/PopperContent/PopperContent.js +1 -1
  64. package/src/lib/components/Popper/utils/getChildPosition/getChildPosition.cjs +1 -0
  65. package/src/lib/components/Popper/utils/getChildPosition/getChildPosition.d.ts +1 -0
  66. package/src/lib/components/Popper/utils/getChildPosition/getChildPosition.js +1 -0
  67. package/src/lib/components/Popper/utils/index.d.ts +0 -1
  68. package/src/lib/components/Portal/Portal.cjs +3 -2
  69. package/src/lib/components/Portal/Portal.js +3 -2
  70. package/src/lib/components/PoweredByDynamic/PoweredByDynamic.cjs +2 -1
  71. package/src/lib/components/PoweredByDynamic/PoweredByDynamic.js +2 -1
  72. package/src/lib/components/ShadowDOM/ShadowDOM.cjs +4 -2
  73. package/src/lib/components/ShadowDOM/ShadowDOM.js +4 -2
  74. package/src/lib/components/Tooltip/Tooltip.cjs +1 -0
  75. package/src/lib/components/Tooltip/Tooltip.js +1 -0
  76. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +1 -0
  77. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +1 -0
  78. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.cjs +1 -0
  79. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.js +1 -0
  80. package/src/lib/components/UserAddress/UserAddress.cjs +1 -0
  81. package/src/lib/components/UserAddress/UserAddress.js +1 -0
  82. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -0
  83. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -0
  84. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.cjs +1 -0
  85. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.js +1 -0
  86. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +1 -0
  87. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +1 -0
  88. package/src/lib/components/index.d.ts +1 -0
  89. package/src/lib/context/DynamicContext/DynamicContext.cjs +80 -48
  90. package/src/lib/context/DynamicContext/DynamicContext.d.ts +7 -134
  91. package/src/lib/context/DynamicContext/DynamicContext.js +81 -49
  92. package/src/lib/context/DynamicContext/types/index.d.ts +144 -0
  93. package/src/lib/context/DynamicContext/useCustomerCallbacks/types.d.ts +5 -1
  94. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.cjs +1 -0
  95. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.js +1 -0
  96. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +9 -3
  97. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.d.ts +2 -2
  98. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +9 -3
  99. package/src/lib/context/DynamicContext/useCustomerCallbacks/utils/disableAuthVerificationFlag/disableAuthVerificationFlag.cjs +27 -0
  100. package/src/lib/context/DynamicContext/useCustomerCallbacks/utils/disableAuthVerificationFlag/disableAuthVerificationFlag.d.ts +3 -0
  101. package/src/lib/context/DynamicContext/useCustomerCallbacks/utils/disableAuthVerificationFlag/disableAuthVerificationFlag.js +23 -0
  102. package/src/lib/context/DynamicContext/useCustomerCallbacks/utils/disableAuthVerificationFlag/index.d.ts +1 -0
  103. package/src/lib/context/DynamicContext/useCustomerCallbacks/utils/index.d.ts +1 -0
  104. package/src/lib/context/DynamicContext/useDynamicContext.cjs +5 -1
  105. package/src/lib/context/DynamicContext/useDynamicContext.d.ts +4 -2
  106. package/src/lib/context/DynamicContext/useDynamicContext.js +5 -1
  107. package/src/lib/context/DynamicContext/useInternalDynamicContext.d.ts +1 -1
  108. package/src/lib/context/QrCodeContext/QrCodeContext.cjs +1 -0
  109. package/src/lib/context/QrCodeContext/QrCodeContext.js +1 -0
  110. package/src/lib/context/SendBalanceContext/SendBalanceContext.cjs +1 -0
  111. package/src/lib/context/SendBalanceContext/SendBalanceContext.js +1 -0
  112. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +2 -1
  113. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +2 -1
  114. package/src/lib/context/WalletContext/WalletContext.cjs +3 -3
  115. package/src/lib/context/WalletContext/WalletContext.d.ts +1 -3
  116. package/src/lib/context/WalletContext/WalletContext.js +3 -3
  117. package/src/lib/data/api.cjs +14 -0
  118. package/src/lib/data/api.d.ts +1 -0
  119. package/src/lib/data/api.js +14 -1
  120. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +1 -0
  121. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +1 -0
  122. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +2 -1
  123. package/src/lib/layout/DynamicAuthLayout/Header/header.js +2 -1
  124. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.cjs +2 -1
  125. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.js +2 -1
  126. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.cjs +1 -0
  127. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.js +1 -0
  128. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +1 -0
  129. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +1 -0
  130. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.cjs +1 -0
  131. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.js +1 -0
  132. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.cjs +1 -0
  133. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.js +1 -0
  134. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.cjs +1 -0
  135. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.js +1 -0
  136. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.cjs +1 -0
  137. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.js +1 -0
  138. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +1 -0
  139. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +1 -0
  140. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +1 -0
  141. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +1 -0
  142. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +1 -0
  143. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +1 -0
  144. package/src/lib/modals/SendBalanceModal/SendBalanceModal.cjs +1 -0
  145. package/src/lib/modals/SendBalanceModal/SendBalanceModal.js +1 -0
  146. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +1 -0
  147. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +1 -0
  148. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +1 -0
  149. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +1 -0
  150. package/src/lib/shared/types/index.d.ts +2 -1
  151. package/src/lib/shared/utils/hooks/index.d.ts +1 -0
  152. package/src/lib/shared/utils/hooks/useForwardedRef/index.d.ts +1 -0
  153. package/src/lib/shared/utils/hooks/useForwardedRef/useForwardedRef.cjs +25 -0
  154. package/src/lib/shared/utils/hooks/useForwardedRef/useForwardedRef.d.ts +2 -0
  155. package/src/lib/shared/utils/hooks/useForwardedRef/useForwardedRef.js +21 -0
  156. package/src/lib/styles/index.shadow.cjs +1 -1
  157. package/src/lib/styles/index.shadow.js +1 -1
  158. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -1
  159. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -1
  160. package/src/lib/utils/functions/getMissingChains/getMissingChains.cjs +1 -1
  161. package/src/lib/utils/functions/getMissingChains/getMissingChains.d.ts +1 -1
  162. package/src/lib/utils/functions/getMissingChains/getMissingChains.js +1 -1
  163. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +5 -1
  164. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +5 -1
  165. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +7 -1
  166. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +7 -1
  167. package/src/lib/utils/hooks/index.d.ts +0 -1
  168. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +3 -3
  169. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.d.ts +3 -3
  170. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +3 -3
  171. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.cjs +8 -11
  172. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js +8 -11
  173. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +97 -84
  174. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +5 -7
  175. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +99 -86
  176. package/src/lib/utils/hooks/useConnectWithEmail/useConnectWithEmail.cjs +5 -0
  177. package/src/lib/utils/hooks/useConnectWithEmail/useConnectWithEmail.js +5 -0
  178. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +69 -0
  179. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.d.ts +1 -0
  180. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +65 -0
  181. package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.cjs +2 -1
  182. package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.d.ts +3 -1
  183. package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.js +3 -2
  184. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.cjs +5 -0
  185. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.js +5 -0
  186. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +3 -1
  187. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +3 -1
  188. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +11 -2
  189. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.d.ts +3 -2
  190. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +11 -2
  191. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +18 -8
  192. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +3 -3
  193. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +18 -8
  194. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +4 -4
  195. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +4 -4
  196. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +1 -0
  197. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +1 -0
  198. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +2 -1
  199. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +2 -1
  200. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +1 -0
  201. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +1 -0
  202. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +1 -0
  203. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +1 -0
  204. package/src/lib/views/CollectUserDataView/UserDataFields/index.cjs +1 -0
  205. package/src/lib/views/CollectUserDataView/UserDataFields/index.js +1 -0
  206. package/src/lib/views/CollectUserDataView/fieldsConfig.cjs +8 -4
  207. package/src/lib/views/CollectUserDataView/fieldsConfig.js +8 -4
  208. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.cjs +1 -0
  209. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.js +1 -0
  210. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +1 -0
  211. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +1 -0
  212. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +1 -0
  213. package/src/lib/views/EmailUpdate/EmailUpdate.js +1 -0
  214. package/src/lib/views/EmailVerification/EmailVerification.cjs +1 -0
  215. package/src/lib/views/EmailVerification/EmailVerification.js +1 -0
  216. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +1 -0
  217. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +1 -0
  218. package/src/lib/views/LoginWithEmailView/components/ListItemButton/ListItemButton.cjs +1 -0
  219. package/src/lib/views/LoginWithEmailView/components/ListItemButton/ListItemButton.js +1 -0
  220. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs +1 -0
  221. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js +1 -0
  222. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.cjs +1 -0
  223. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.js +1 -0
  224. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +9 -10
  225. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +10 -11
  226. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +12 -12
  227. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +13 -13
  228. package/src/lib/views/NoAccess/NoAccess.cjs +1 -0
  229. package/src/lib/views/NoAccess/NoAccess.js +1 -0
  230. package/src/lib/views/NoAccess/useNoAccessText.cjs +1 -1
  231. package/src/lib/views/NoAccess/useNoAccessText.js +1 -1
  232. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.cjs +1 -0
  233. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.js +1 -0
  234. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.cjs +1 -0
  235. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.js +1 -0
  236. package/src/lib/views/PendingConnectView/PendingConnectView.cjs +1 -0
  237. package/src/lib/views/PendingConnectView/PendingConnectView.js +1 -0
  238. package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +1 -0
  239. package/src/lib/views/PendingSignatureView/PendingSignatureView.js +1 -0
  240. package/src/lib/views/QrCodeView/QRCode.cjs +1 -0
  241. package/src/lib/views/QrCodeView/QRCode.js +1 -0
  242. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +1 -0
  243. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +1 -0
  244. package/src/lib/views/QrCodeView/QrCodeView.cjs +1 -0
  245. package/src/lib/views/QrCodeView/QrCodeView.js +1 -0
  246. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +1 -0
  247. package/src/lib/views/SendBalanceView/SendBalanceView.js +1 -0
  248. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +1 -0
  249. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +1 -0
  250. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.cjs +1 -0
  251. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.js +1 -0
  252. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +1 -0
  253. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +1 -0
  254. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.cjs +1 -0
  255. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.js +1 -0
  256. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.cjs +1 -0
  257. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.js +1 -0
  258. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +2 -1
  259. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +2 -1
  260. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +1 -0
  261. package/src/lib/views/WalletLockedView/WalletLockedView.js +1 -0
  262. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +1 -0
  263. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +1 -0
  264. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +1 -0
  265. package/src/lib/views/WalletUsedView/WalletUsedView.js +1 -0
  266. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs +2 -1
  267. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js +2 -1
  268. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +1 -0
  269. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +1 -0
  270. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.cjs +1 -0
  271. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.js +1 -0
  272. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +1 -0
  273. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +1 -0
  274. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.cjs +1 -0
  275. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.js +1 -0
  276. package/src/lib/widgets/DynamicBridgeWidget/context/DynamicBridgeWidgetContext/DynamicBridgeWidgetContext.cjs +2 -0
  277. package/src/lib/widgets/DynamicBridgeWidget/context/DynamicBridgeWidgetContext/DynamicBridgeWidgetContext.js +2 -0
  278. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +2 -1
  279. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +2 -1
  280. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs +1 -1
  281. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js +1 -1
  282. package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +10 -3
  283. package/src/lib/widgets/DynamicWidget/DynamicWidget.js +12 -5
  284. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.cjs +1 -0
  285. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.js +1 -0
  286. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +5 -4
  287. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +5 -4
  288. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.cjs +1 -0
  289. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.js +1 -0
  290. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.cjs +5 -4
  291. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.d.ts +4 -7
  292. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.js +5 -4
  293. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.cjs +1 -0
  294. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.js +1 -0
  295. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +4 -1
  296. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +4 -1
  297. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +1 -0
  298. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +1 -0
  299. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +4 -3
  300. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +4 -3
  301. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.cjs +1 -0
  302. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.js +1 -0
  303. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.cjs +1 -0
  304. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.js +1 -0
  305. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +1 -0
  306. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +1 -0
  307. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.cjs +1 -0
  308. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.js +1 -0
  309. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +1 -0
  310. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +1 -0
  311. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.cjs +1 -0
  312. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.js +1 -0
  313. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.cjs +1 -0
  314. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.js +1 -0
  315. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +2 -1
  316. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +2 -1
  317. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.cjs +1 -0
  318. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.js +1 -0
  319. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +1 -0
  320. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +1 -0
  321. package/src/lib/widgets/DynamicWidget/helpers/helpers.cjs +17 -1
  322. package/src/lib/widgets/DynamicWidget/helpers/helpers.js +17 -1
  323. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.cjs +1 -0
  324. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.js +1 -0
  325. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +1 -0
  326. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +1 -0
  327. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.cjs +1 -0
  328. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.js +1 -0
  329. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.cjs +1 -0
  330. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.js +1 -0
  331. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +1 -0
  332. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +1 -0
  333. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.cjs +1 -0
  334. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.js +1 -0
  335. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +1 -0
  336. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +1 -0
  337. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +1 -0
  338. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +1 -0
  339. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +1 -0
  340. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +1 -0
  341. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +1 -0
  342. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +1 -0
  343. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +1 -0
  344. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +1 -0
  345. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +1 -0
  346. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +1 -0
  347. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.cjs +1 -0
  348. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.js +1 -0
  349. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +1 -0
  350. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +1 -0
  351. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.cjs +1 -0
  352. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.js +1 -0
  353. package/src/lib/components/NetworkPicker/components/ActionList/ActionList.cjs +0 -71
  354. package/src/lib/components/NetworkPicker/components/ActionList/ActionList.d.ts +0 -12
  355. package/src/lib/components/NetworkPicker/components/ActionList/ActionList.js +0 -65
  356. package/src/lib/components/NetworkPicker/components/ActionList/index.d.ts +0 -1
  357. package/src/lib/components/Popper/utils/watchToScrollInHierarchy/watchToScrollInHierarchy.d.ts +0 -1
  358. package/src/lib/utils/hooks/useWalletConnectorEvents/useWalletConnectorEvents.cjs +0 -17
  359. package/src/lib/utils/hooks/useWalletConnectorEvents/useWalletConnectorEvents.d.ts +0 -2
  360. package/src/lib/utils/hooks/useWalletConnectorEvents/useWalletConnectorEvents.js +0 -13
  361. /package/src/lib/components/{Popper → MenuList}/utils/watchToScrollInHierarchy/index.d.ts +0 -0
@@ -8,14 +8,14 @@ var isWalletLinked = require('../../../functions/isWalletLinked/isWalletLinked.c
8
8
  var ViewContext = require('../../../../context/ViewContext/ViewContext.cjs');
9
9
  var useInternalDynamicContext = require('../../../../context/DynamicContext/useInternalDynamicContext.cjs');
10
10
 
11
- const useSyncPrimaryWallet = ({ computeConnectedStateForWallets, connectWalletByAddressAndChain, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showWidgetStatePopup, canSync = true, authMode, }) => {
11
+ const useSyncPrimaryWallet = ({ connectWallet, computeConnectedStateForWallets, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showWidgetStatePopup, canSync = true, authMode, }) => {
12
12
  const { setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
13
13
  const { setView } = ViewContext.useViewContext();
14
14
  const handlePrimaryWalletNotActive = React.useCallback((connectedAddress) => {
15
15
  if (!primaryWallet)
16
16
  return;
17
17
  if (authMode === 'connect-only') {
18
- connectWalletByAddressAndChain(primaryWallet.connector.name, connectedAddress, primaryWallet.chain);
18
+ connectWallet(primaryWallet.connector);
19
19
  return;
20
20
  }
21
21
  const connectedWalletIsLinked = isWalletLinked.isWalletLinked(connectedAddress, [
@@ -56,10 +56,10 @@ const useSyncPrimaryWallet = ({ computeConnectedStateForWallets, connectWalletBy
56
56
  secondaryWallets,
57
57
  showWidgetStatePopup,
58
58
  setMultiWalletWidgetState,
59
- connectWalletByAddressAndChain,
60
59
  setPrimaryWallet,
61
60
  computeConnectedStateForWallets,
62
61
  setShowWidgetStatePopup,
62
+ connectWallet,
63
63
  ]);
64
64
  React.useEffect(() => {
65
65
  if (!canSync)
@@ -1,11 +1,11 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
- import { Chain } from '@dynamic-labs/wallet-connector-core';
2
+ import { FetchPublicAddressOpts, WalletConnector } from '@dynamic-labs/wallet-connector-core';
3
3
  import { AuthModeType, MultiWalletWidgetState, Wallet } from '../../../../shared/types';
4
4
  import { MultiWalletWidgetStateSetter } from '../useMultiWalletWidgetState';
5
5
  export type UseSyncPrimaryWalletArgs = {
6
6
  canSync?: boolean;
7
+ connectWallet: (walletConnector: WalletConnector, fetchPublicAddressOpts?: FetchPublicAddressOpts) => Promise<string>;
7
8
  computeConnectedStateForWallets: () => Promise<void>;
8
- connectWalletByAddressAndChain: (name: string, address: string, chain: Chain) => Promise<void>;
9
9
  handleLogOut: () => Promise<void>;
10
10
  multiWalletWidgetState: MultiWalletWidgetState;
11
11
  primaryWallet: Wallet | null;
@@ -16,4 +16,4 @@ export type UseSyncPrimaryWalletArgs = {
16
16
  showWidgetStatePopup: boolean;
17
17
  authMode: AuthModeType;
18
18
  };
19
- export declare const useSyncPrimaryWallet: ({ computeConnectedStateForWallets, connectWalletByAddressAndChain, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showWidgetStatePopup, canSync, authMode, }: UseSyncPrimaryWalletArgs) => void;
19
+ export declare const useSyncPrimaryWallet: ({ connectWallet, computeConnectedStateForWallets, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showWidgetStatePopup, canSync, authMode, }: UseSyncPrimaryWalletArgs) => void;
@@ -4,14 +4,14 @@ import { isWalletLinked } from '../../../functions/isWalletLinked/isWalletLinked
4
4
  import { useViewContext } from '../../../../context/ViewContext/ViewContext.js';
5
5
  import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
6
6
 
7
- const useSyncPrimaryWallet = ({ computeConnectedStateForWallets, connectWalletByAddressAndChain, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showWidgetStatePopup, canSync = true, authMode, }) => {
7
+ const useSyncPrimaryWallet = ({ connectWallet, computeConnectedStateForWallets, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showWidgetStatePopup, canSync = true, authMode, }) => {
8
8
  const { setShowAuthFlow } = useInternalDynamicContext();
9
9
  const { setView } = useViewContext();
10
10
  const handlePrimaryWalletNotActive = useCallback((connectedAddress) => {
11
11
  if (!primaryWallet)
12
12
  return;
13
13
  if (authMode === 'connect-only') {
14
- connectWalletByAddressAndChain(primaryWallet.connector.name, connectedAddress, primaryWallet.chain);
14
+ connectWallet(primaryWallet.connector);
15
15
  return;
16
16
  }
17
17
  const connectedWalletIsLinked = isWalletLinked(connectedAddress, [
@@ -52,10 +52,10 @@ const useSyncPrimaryWallet = ({ computeConnectedStateForWallets, connectWalletBy
52
52
  secondaryWallets,
53
53
  showWidgetStatePopup,
54
54
  setMultiWalletWidgetState,
55
- connectWalletByAddressAndChain,
56
55
  setPrimaryWallet,
57
56
  computeConnectedStateForWallets,
58
57
  setShowWidgetStatePopup,
58
+ connectWallet,
59
59
  ]);
60
60
  useEffect(() => {
61
61
  if (!canSync)
@@ -25,24 +25,22 @@ require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
25
25
  require('../../../../context/CaptchaContext/CaptchaContext.cjs');
26
26
 
27
27
  const useVerifyOnAwaitingSignature = () => {
28
- const { awaitingSignatureState, multiWalletWidgetState, setMultiWalletWidgetState, isVerifying, setIsVerifying, selectedWalletConnector, } = useInternalDynamicContext.useInternalDynamicContext();
28
+ const { awaitingSignatureState, multiWalletWidgetState, setMultiWalletWidgetState, ongoingVerifications, selectedWalletConnector, } = useInternalDynamicContext.useInternalDynamicContext();
29
29
  const triggerConnectAndSign = useConnectAndSign.useConnectAndSign();
30
30
  React.useEffect(() => {
31
- if (!isVerifying &&
31
+ if (!ongoingVerifications.connectAndSignVerification &&
32
32
  multiWalletWidgetState === 'awaiting_signature' &&
33
33
  selectedWalletConnector &&
34
34
  awaitingSignatureState === 'linking_new_wallet' &&
35
35
  !requiresTwoStepAuthentication.requiresTwoStepAuthentication(selectedWalletConnector)) {
36
- setIsVerifying(true);
36
+ ongoingVerifications.setConnectAndSignVerification(true);
37
37
  triggerConnectAndSign({ walletConnector: selectedWalletConnector })
38
- .then(() => {
39
- setMultiWalletWidgetState('idle');
40
- setIsVerifying(false);
41
- })
42
38
  .catch((e) => {
43
- setMultiWalletWidgetState('idle');
44
- setIsVerifying(false);
45
39
  logger.logger.error(e);
40
+ })
41
+ .finally(() => {
42
+ setMultiWalletWidgetState('idle');
43
+ ongoingVerifications.setConnectAndSignVerification(false);
46
44
  });
47
45
  }
48
46
  }, [
@@ -50,8 +48,7 @@ const useVerifyOnAwaitingSignature = () => {
50
48
  selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.name,
51
49
  multiWalletWidgetState,
52
50
  setMultiWalletWidgetState,
53
- isVerifying,
54
- setIsVerifying,
51
+ ongoingVerifications,
55
52
  ]);
56
53
  };
57
54
 
@@ -21,24 +21,22 @@ import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
21
21
  import '../../../../context/CaptchaContext/CaptchaContext.js';
22
22
 
23
23
  const useVerifyOnAwaitingSignature = () => {
24
- const { awaitingSignatureState, multiWalletWidgetState, setMultiWalletWidgetState, isVerifying, setIsVerifying, selectedWalletConnector, } = useInternalDynamicContext();
24
+ const { awaitingSignatureState, multiWalletWidgetState, setMultiWalletWidgetState, ongoingVerifications, selectedWalletConnector, } = useInternalDynamicContext();
25
25
  const triggerConnectAndSign = useConnectAndSign();
26
26
  useEffect(() => {
27
- if (!isVerifying &&
27
+ if (!ongoingVerifications.connectAndSignVerification &&
28
28
  multiWalletWidgetState === 'awaiting_signature' &&
29
29
  selectedWalletConnector &&
30
30
  awaitingSignatureState === 'linking_new_wallet' &&
31
31
  !requiresTwoStepAuthentication(selectedWalletConnector)) {
32
- setIsVerifying(true);
32
+ ongoingVerifications.setConnectAndSignVerification(true);
33
33
  triggerConnectAndSign({ walletConnector: selectedWalletConnector })
34
- .then(() => {
35
- setMultiWalletWidgetState('idle');
36
- setIsVerifying(false);
37
- })
38
34
  .catch((e) => {
39
- setMultiWalletWidgetState('idle');
40
- setIsVerifying(false);
41
35
  logger.error(e);
36
+ })
37
+ .finally(() => {
38
+ setMultiWalletWidgetState('idle');
39
+ ongoingVerifications.setConnectAndSignVerification(false);
42
40
  });
43
41
  }
44
42
  }, [
@@ -46,8 +44,7 @@ const useVerifyOnAwaitingSignature = () => {
46
44
  selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.name,
47
45
  multiWalletWidgetState,
48
46
  setMultiWalletWidgetState,
49
- isVerifying,
50
- setIsVerifying,
47
+ ongoingVerifications,
51
48
  ]);
52
49
  };
53
50
 
@@ -25,10 +25,52 @@ var shouldManuallyReconnectOnRefresh = require('../../functions/shouldManuallyRe
25
25
 
26
26
  const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, wallets, onUnlink, }) => {
27
27
  const [connectedWalletsInfo, setConnectedWalletsInfo, removeConnectedWalletsInfo,] = useLocalStorage.useLocalStorage(localStorage.CONNECTED_WALLETS_INFO, []);
28
+ const [connectedWallets, setConnectedWallets] = React.useState([]);
29
+ // The function to update and define the connectedWallets list.
30
+ // It uses walletConnector to get the current wallet address and network
31
+ // The address and network in the runtime are updated by the event listeners
32
+ // The event listeners are updating `connectedWallets` list.
33
+ // It should be called on the first render and when connectedWalletsInfo updates
34
+ const updateConnectedWalletsList = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
35
+ const walletConnectors = wallets.map((wallet) => wallet.walletConnector);
36
+ if (!walletConnectors.length) {
37
+ return;
38
+ }
39
+ const nextConnectedWallets = (yield Promise.all(connectedWalletsInfo.map((storedConnectedWalletInfo) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
40
+ const walletConnector = walletConnectorCore.getWalletConnectorByName(walletConnectors, storedConnectedWalletInfo.walletConnectorKey);
41
+ if (!walletConnector) {
42
+ walletConnectorCore.logger.error('Could not find walletConnector: ' +
43
+ storedConnectedWalletInfo.walletConnectorKey);
44
+ return Promise.resolve(null);
45
+ }
46
+ const [walletAddress] = yield walletConnector.getConnectedAccounts();
47
+ const walletNetwork = yield walletConnector.getNetwork();
48
+ const walletChain = walletConnector.connectedChain;
49
+ const walletObject = {
50
+ address:
51
+ // We use `storedConnectedWalletInfo.lastWalletAddress` as a workaround to Braavos issue
52
+ // Braavos during initialization returns an empty string as a wallet address
53
+ walletAddress ||
54
+ storedConnectedWalletInfo.lastWalletAddress ||
55
+ '',
56
+ chain: walletChain || '',
57
+ connected: true,
58
+ connector: walletConnector,
59
+ id: storedConnectedWalletInfo.id,
60
+ network: walletNetwork,
61
+ };
62
+ return Promise.resolve(walletObject);
63
+ })))).filter((wallet) => Boolean(wallet));
64
+ setConnectedWallets(nextConnectedWallets);
65
+ }), [connectedWalletsInfo, wallets]);
66
+ // Generate the connectedWallets list when connectedWalletsInfo (localStorage) or memoized wallet connector updates
67
+ React.useEffect(() => {
68
+ updateConnectedWalletsList();
69
+ }, [updateConnectedWalletsList]);
28
70
  const getNextIdAvailable = React.useCallback((currentWallets) => {
29
71
  const existingIds = currentWallets.map(({ id }) => id);
30
72
  const sortedIds = existingIds
31
- .map((id) => Number(id.replace('connect-only-wallet-', '')))
73
+ .map((id) => Number(id.replace('connect-wallet-', '')))
32
74
  .sort((a, b) => a - b);
33
75
  for (let i = 0; i < sortedIds.length; i++) {
34
76
  if (sortedIds[i] !== i) {
@@ -37,82 +79,44 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
37
79
  }
38
80
  return sortedIds.length;
39
81
  }, []);
40
- const connectedWallets = React.useMemo(() => connectedWalletsInfo
41
- .map((connectedWallet) => {
42
- const walletConnector = walletConnectorCore.getWalletConnectorByName(wallets.map((wallet) => wallet.walletConnector), connectedWallet.name);
43
- if (!walletConnector) {
44
- return null;
82
+ const updateConnectedWalletById = React.useCallback((walletId, walletObject) => {
83
+ const clonedConnectedWalletsList = [...connectedWallets];
84
+ const connectedWalletIndex = clonedConnectedWalletsList.findIndex((connectedWallet) => connectedWallet.id === walletId);
85
+ if (connectedWalletIndex > -1) {
86
+ clonedConnectedWalletsList[connectedWalletIndex] = Object.assign(Object.assign({}, clonedConnectedWalletsList[connectedWalletIndex]), walletObject);
87
+ setConnectedWallets(clonedConnectedWalletsList);
45
88
  }
46
- const connectedWalletInfo = {
47
- address: connectedWallet.walletPublicKey,
48
- chain: connectedWallet.chain,
49
- connected: true,
50
- connector: walletConnector,
51
- id: connectedWallet.id,
52
- network: connectedWallet.network,
53
- };
54
- return connectedWalletInfo;
55
- })
56
- .filter((wc) => wc !== null), [connectedWalletsInfo, wallets]);
57
- const updateConnectedWalletById = React.useCallback((walletId, connectedWalletConnectorObject) => {
58
- setConnectedWalletsInfo((currentWallets) => currentWallets.map((currentWallet) => {
59
- if (currentWallet.id === walletId) {
60
- return Object.assign(Object.assign({}, currentWallet), connectedWalletConnectorObject);
61
- }
62
- return currentWallet;
63
- }));
64
- }, [setConnectedWalletsInfo]);
89
+ }, [connectedWallets]);
65
90
  const connectedWallet = connectedWallets[0] || null;
66
- const setConnectedStates = React.useCallback((walletConnector, address, chain, walletConnectorNetwork) => {
67
- setConnectedWalletsInfo((currentWallets) => {
68
- const existingWalletIndex = currentWallets.findIndex((currentWallet) => currentWallet.name === walletConnector.name);
69
- const exists = currentWallets.some((currentWallet) => currentWallet.walletPublicKey === address);
70
- // this is done, to make sure we're not adding two wallets with the same address to the array
71
- if (exists) {
72
- return currentWallets;
73
- }
74
- // when calling this function with a new wallet that has the same wallet connector as
75
- // an existing one in the array, we intend to replace the existing wallet with the new one.
76
- if (existingWalletIndex !== -1) {
77
- const updatedWallets = [...currentWallets];
78
- updatedWallets[existingWalletIndex] = Object.assign(Object.assign({}, updatedWallets[existingWalletIndex]), { chain, provider: getWalletProvider.getWalletProvider(walletConnector), walletPublicKey: address });
79
- return updatedWallets;
80
- }
81
- // otherwise, add new wallet to connectedWalletsInfo array
82
- return [
83
- ...currentWallets,
84
- {
85
- chain,
86
- id: `connect-only-wallet-${getNextIdAvailable(currentWallets)}`,
87
- name: walletConnector.name,
88
- network: walletConnectorNetwork,
89
- provider: getWalletProvider.getWalletProvider(walletConnector),
90
- walletPublicKey: address,
91
- },
92
- ];
91
+ // Keeps connected wallet data inside localStorage
92
+ const applyConnectedWalletToStore = ({ walletId, walletAddress, walletConnectorKey, walletChain, provider, }) => {
93
+ const nextConnectedWalletsInfo = [...connectedWalletsInfo];
94
+ nextConnectedWalletsInfo.push({
95
+ id: walletId,
96
+ lastWalletAddress: walletAddress,
97
+ provider,
98
+ walletChain,
99
+ walletConnectorKey,
93
100
  });
94
- }, [getNextIdAvailable, setConnectedWalletsInfo]);
95
- const connectWalletByAddressAndChain = React.useCallback((name, address, chain) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
96
- const walletConnector = walletConnectorCore.getWalletConnectorByName(wallets.map((wallet) => wallet.walletConnector), name);
97
- if (walletConnector) {
98
- if (shouldManuallyReconnectOnRefresh.shouldManuallyReconnectOnRefresh(walletConnector)) {
99
- yield walletConnector.connect();
100
- }
101
- const connectedAccounts = yield walletConnector.getConnectedAccounts();
102
- const result = connectedAccounts.filter((account) => walletConnectorCore.isSameAddress(account, address, chain));
103
- const walletNetwork = yield walletConnector.getNetwork();
104
- if (result.length > 0) {
105
- walletConnector.connect();
106
- setConnectedStates(walletConnector, address, chain, walletNetwork);
107
- }
108
- else {
109
- removeConnectedWalletsInfo();
110
- }
101
+ setConnectedWalletsInfo(nextConnectedWalletsInfo);
102
+ return Promise.resolve();
103
+ };
104
+ // Updates connected wallet (network and address) and verifies connected wallet connection
105
+ const refreshConnectedWallet = (walletId, walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
106
+ if (shouldManuallyReconnectOnRefresh.shouldManuallyReconnectOnRefresh(walletConnector)) {
107
+ yield walletConnector.connect();
111
108
  }
112
- else {
113
- removeConnectedWalletsInfo();
109
+ const currentWalletConnectorAddress = yield walletConnector.fetchPublicAddress();
110
+ if (!currentWalletConnectorAddress) {
111
+ walletConnectorCore.logger.error('Could not refresh the wallet. The wallet address is not available');
112
+ return;
114
113
  }
115
- }), [removeConnectedWalletsInfo, setConnectedStates, wallets]);
114
+ const currentWalletConnectoNetwork = yield walletConnector.getNetwork();
115
+ updateConnectedWalletById(walletId, {
116
+ address: currentWalletConnectorAddress,
117
+ network: currentWalletConnectoNetwork,
118
+ });
119
+ });
116
120
  const shouldSkipCreatingVisit = React.useMemo(() => (authMode === 'connect-only' && !enableVisitTrackingOnConnectOnly) ||
117
121
  connectedWallet, [authMode, connectedWallet, enableVisitTrackingOnConnectOnly]);
118
122
  const connectWallet = (walletConnector, fetchPublicAddressOpts) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
@@ -122,29 +126,39 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
122
126
  error.code = 'missing-public-address';
123
127
  throw error;
124
128
  }
125
- const chain = walletConnector.connectedChain || '';
126
- const walletConnectorNetwork = yield walletConnector.getNetwork();
127
- // when we connect first wallet, it should be set as a primary wallet
128
- const shouldSetPrimaryWalletId = authMode === 'connect-only' && !primaryWalletId;
129
- if (shouldSetPrimaryWalletId) {
130
- setPrimaryWalletId(`connect-only-wallet-${getNextIdAvailable(connectedWalletsInfo)}`);
129
+ const walletId = `connect-wallet-${getNextIdAvailable(connectedWalletsInfo)}`;
130
+ if (!primaryWalletId) {
131
+ setPrimaryWalletId(walletId);
132
+ }
133
+ const walletChain = walletConnector.connectedChain;
134
+ const isWalletStored = connectedWalletsInfo.some(({ walletConnectorKey: storedWalletConnectorKey }) => storedWalletConnectorKey === walletConnector.name);
135
+ if (isWalletStored) {
136
+ yield updateConnectedWalletsList();
137
+ }
138
+ else {
139
+ applyConnectedWalletToStore({
140
+ provider: getWalletProvider.getWalletProvider(walletConnector),
141
+ walletAddress: publicWalletAddress,
142
+ walletChain,
143
+ walletConnectorKey: walletConnector.name,
144
+ walletId,
145
+ });
131
146
  }
132
- setConnectedStates(walletConnector, publicWalletAddress, chain, walletConnectorNetwork);
133
147
  if (shouldSkipCreatingVisit) {
134
- return publicWalletAddress;
148
+ return Promise.resolve(publicWalletAddress);
135
149
  }
136
150
  // send information to backend to kick off background jobs
137
151
  // so verify/sign on the next step could go by more quickly
138
152
  // this is async work, but DO NOT AWAIT
139
153
  api.createVisit({
140
154
  authMode,
141
- chain,
155
+ chain: walletChain || '',
142
156
  environmentId,
143
157
  publicWalletAddress,
144
158
  walletName: walletConnector.name,
145
159
  walletProvider: getWalletProvider.getWalletProvider(walletConnector),
146
160
  });
147
- return publicWalletAddress;
161
+ return Promise.resolve(publicWalletAddress);
148
162
  });
149
163
  const unlinkConnectedWallet = (walletId) => {
150
164
  const filteredWallets = connectedWalletsInfo.filter((wallet) => wallet.id !== walletId);
@@ -157,14 +171,13 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
157
171
  const getConnectedWalletById = React.useCallback((walletId) => connectedWallets.find((wallet) => wallet.id === walletId), [connectedWallets]);
158
172
  return {
159
173
  connectWallet,
160
- connectWalletByAddressAndChain,
161
174
  connectedWallet,
162
175
  connectedWallets,
163
176
  connectedWalletsInfo,
164
177
  getConnectedWalletById,
178
+ refreshConnectedWallet,
165
179
  removeConnectedWalletsInfo,
166
180
  unlinkConnectedWallet,
167
- updateConnectedWalletById,
168
181
  };
169
182
  };
170
183
 
@@ -1,12 +1,11 @@
1
1
  import { Chain, FetchPublicAddressOpts, WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
2
  import { AuthModeType, Wallet, WalletOption } from '../../../shared';
3
3
  export type ConnectedWalletConnectorType = {
4
- chain: Chain | undefined;
5
- name: string;
6
- provider: string;
7
- walletPublicKey: string;
8
4
  id: string;
9
- network?: string | number;
5
+ walletChain?: Chain;
6
+ walletConnectorKey: string;
7
+ provider: string;
8
+ lastWalletAddress?: string;
10
9
  };
11
10
  type Props = {
12
11
  authMode: AuthModeType;
@@ -20,13 +19,12 @@ type Props = {
20
19
  };
21
20
  export declare const useConnectWallet: ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, wallets, onUnlink, }: Props) => {
22
21
  connectWallet: (walletConnector: WalletConnector, fetchPublicAddressOpts?: FetchPublicAddressOpts) => Promise<string>;
23
- connectWalletByAddressAndChain: (name: string, address: string, chain: Chain) => Promise<void>;
24
22
  connectedWallet: Wallet;
25
23
  connectedWallets: Wallet[];
26
24
  connectedWalletsInfo: ConnectedWalletConnectorType[] | [];
27
25
  getConnectedWalletById: (walletId: string) => Wallet | undefined;
26
+ refreshConnectedWallet: (walletId: string, walletConnector: WalletConnector) => Promise<void>;
28
27
  removeConnectedWalletsInfo: () => void;
29
28
  unlinkConnectedWallet: (walletId: string) => void;
30
- updateConnectedWalletById: (walletId: string, connectedWalletConnectorObject: Partial<ConnectedWalletConnectorType>) => void;
31
29
  };
32
30
  export {};