@dynamic-labs/sdk-react-core 0.18.100-viem.0 → 0.18.100-viem.10

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 (220) hide show
  1. package/CHANGELOG.md +111 -1
  2. package/package.cjs +3 -3
  3. package/package.js +3 -3
  4. package/package.json +10 -10
  5. package/src/index.cjs +4 -0
  6. package/src/index.js +2 -0
  7. package/src/lib/Main.cjs +5 -0
  8. package/src/lib/Main.js +5 -0
  9. package/src/lib/components/Button/Button.cjs +10 -7
  10. package/src/lib/components/Button/Button.js +10 -7
  11. package/src/lib/components/DynamicConnectButton/components/ConnectButton.cjs +1 -1
  12. package/src/lib/components/DynamicConnectButton/components/ConnectButton.js +1 -1
  13. package/src/lib/components/ErrorContainer/ErrorContainer.d.ts +1 -1
  14. package/src/lib/components/ListTile/ListTile.cjs +1 -1
  15. package/src/lib/components/ListTile/ListTile.js +1 -1
  16. package/src/lib/components/ListTile/ListTile.types.d.ts +1 -0
  17. package/src/lib/components/MenuList/Dropdown/Dropdown.cjs +1 -1
  18. package/src/lib/components/MenuList/Dropdown/Dropdown.js +1 -1
  19. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.cjs +6 -2
  20. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.d.ts +2 -1
  21. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.js +6 -2
  22. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +5 -3
  23. package/src/lib/components/OTPVerificationView/OTPVerificationView.d.ts +2 -0
  24. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +5 -3
  25. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +3 -1
  26. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +3 -1
  27. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +2 -2
  28. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +2 -2
  29. package/src/lib/components/Typography/Typography.cjs +1 -0
  30. package/src/lib/components/Typography/Typography.js +1 -0
  31. package/src/lib/components/Typography/Typography.types.d.ts +1 -1
  32. package/src/lib/components/UserProfile/UserProfile.cjs +1 -1
  33. package/src/lib/components/UserProfile/UserProfile.js +1 -1
  34. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +1 -1
  35. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +1 -1
  36. package/src/lib/context/DynamicContext/DynamicContext.cjs +15 -4
  37. package/src/lib/context/DynamicContext/DynamicContext.js +17 -6
  38. package/src/lib/context/DynamicContext/hooks/useVerificationInProgress/useVerificationInProgress.cjs +13 -3
  39. package/src/lib/context/DynamicContext/hooks/useVerificationInProgress/useVerificationInProgress.js +13 -3
  40. package/src/lib/context/DynamicContext/internalEvents/index.d.ts +2 -0
  41. package/src/lib/context/DynamicContext/internalEvents/internalEvents.cjs +14 -0
  42. package/src/lib/context/DynamicContext/internalEvents/internalEvents.d.ts +8 -0
  43. package/src/lib/context/DynamicContext/internalEvents/internalEvents.js +6 -0
  44. package/src/lib/context/DynamicContext/types/index.d.ts +6 -3
  45. package/src/lib/context/DynamicContext/useDynamicContext.cjs +2 -1
  46. package/src/lib/context/DynamicContext/useDynamicContext.d.ts +1 -1
  47. package/src/lib/context/DynamicContext/useDynamicContext.js +2 -1
  48. package/src/lib/context/SendBalanceContext/SendBalanceContext.types.d.ts +2 -2
  49. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +2 -1
  50. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +2 -1
  51. package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
  52. package/src/lib/data/api.cjs +33 -1
  53. package/src/lib/data/api.d.ts +3 -1
  54. package/src/lib/data/api.js +34 -4
  55. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +10 -2
  56. package/src/lib/layout/DynamicAuthLayout/Header/header.js +10 -2
  57. package/src/lib/main.global.cjs +1 -1
  58. package/src/lib/main.global.js +1 -1
  59. package/src/lib/modals/SendBalanceModal/SendBalanceModal.d.ts +2 -2
  60. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +11 -2
  61. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +11 -2
  62. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.types.d.ts +6 -3
  63. package/src/lib/shared/assets/double-arrow-right.cjs +53 -0
  64. package/src/lib/shared/assets/double-arrow-right.js +29 -0
  65. package/src/lib/shared/assets/index.d.ts +1 -0
  66. package/src/lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.cjs +28 -2
  67. package/src/lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.js +28 -2
  68. package/src/lib/styles/index.shadow.cjs +1 -1
  69. package/src/lib/styles/index.shadow.js +1 -1
  70. package/src/lib/utils/constants/errors.cjs +7 -0
  71. package/src/lib/utils/constants/errors.d.ts +1 -0
  72. package/src/lib/utils/constants/errors.js +3 -0
  73. package/src/lib/utils/constants/index.d.ts +1 -1
  74. package/src/lib/utils/constants/localStorage.cjs +2 -0
  75. package/src/lib/utils/constants/localStorage.d.ts +1 -0
  76. package/src/lib/utils/constants/localStorage.js +2 -1
  77. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -1
  78. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -1
  79. package/src/lib/utils/functions/digestSHA256/digestSHA256.cjs +11 -0
  80. package/src/lib/utils/functions/digestSHA256/digestSHA256.d.ts +1 -0
  81. package/src/lib/utils/functions/digestSHA256/digestSHA256.js +7 -0
  82. package/src/lib/utils/functions/digestSHA256/index.d.ts +1 -0
  83. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.cjs +14 -0
  84. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.d.ts +1 -0
  85. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.js +10 -0
  86. package/src/lib/utils/functions/encodeBase64URL/index.d.ts +1 -0
  87. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.cjs +33 -0
  88. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.d.ts +1 -0
  89. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.js +29 -0
  90. package/src/lib/utils/functions/getRedirectURIOrigin/index.d.ts +1 -0
  91. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.cjs +14 -2
  92. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.d.ts +3 -2
  93. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.js +14 -2
  94. package/src/lib/utils/functions/index.d.ts +7 -0
  95. package/src/lib/utils/functions/isMagicConnector/index.d.ts +1 -0
  96. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.cjs +10 -0
  97. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.d.ts +2 -0
  98. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.js +6 -0
  99. package/src/lib/utils/functions/randomString/index.d.ts +1 -0
  100. package/src/lib/utils/functions/randomString/randomString.cjs +14 -0
  101. package/src/lib/utils/functions/randomString/randomString.d.ts +1 -0
  102. package/src/lib/utils/functions/randomString/randomString.js +10 -0
  103. package/src/lib/utils/functions/sendTransactionWithAutoNonce/index.d.ts +1 -0
  104. package/src/lib/utils/functions/sendTransactionWithAutoNonce/sendTransactionWithAutoNonce.cjs +48 -0
  105. package/src/lib/utils/functions/sendTransactionWithAutoNonce/sendTransactionWithAutoNonce.d.ts +18 -0
  106. package/src/lib/utils/functions/sendTransactionWithAutoNonce/sendTransactionWithAutoNonce.js +43 -0
  107. package/src/lib/utils/functions/stringifyURIQuery/index.d.ts +1 -0
  108. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.cjs +13 -0
  109. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.d.ts +1 -0
  110. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.js +9 -0
  111. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +10 -4
  112. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.d.ts +2 -1
  113. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +11 -5
  114. package/src/lib/utils/hooks/index.d.ts +2 -0
  115. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +19 -3
  116. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +1 -2
  117. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +20 -4
  118. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +15 -9
  119. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.d.ts +1 -1
  120. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +15 -9
  121. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -1
  122. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -1
  123. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +16 -18
  124. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +1 -1
  125. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +17 -19
  126. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +7 -6
  127. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +7 -6
  128. package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.cjs +2 -7
  129. package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.js +2 -7
  130. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/index.d.ts +1 -0
  131. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/index.d.ts +1 -0
  132. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.cjs +16 -0
  133. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.d.ts +2 -0
  134. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.js +12 -0
  135. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +6 -2
  136. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +2 -1
  137. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +6 -2
  138. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +149 -26
  139. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +5 -1
  140. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +151 -28
  141. package/src/lib/utils/hooks/useTransactionEstimatedGas/index.d.ts +1 -0
  142. package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.cjs +31 -0
  143. package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.d.ts +20 -0
  144. package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.js +27 -0
  145. package/src/lib/utils/hooks/useTransactionWithGasPrice/index.d.ts +1 -0
  146. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.cjs +56 -0
  147. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.d.ts +32 -0
  148. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.js +52 -0
  149. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +1 -0
  150. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +1 -0
  151. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +1 -1
  152. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +2 -2
  153. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.d.ts +5 -1
  154. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +2 -2
  155. package/src/lib/utils/hooks/useWallets/useWallets.d.ts +2 -2
  156. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +9 -3
  157. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +9 -3
  158. package/src/lib/views/CollectUserDataView/UserDataFields/index.cjs +4 -0
  159. package/src/lib/views/CollectUserDataView/UserDataFields/index.js +4 -0
  160. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +13 -4
  161. package/src/lib/views/EmailUpdate/EmailUpdate.js +13 -4
  162. package/src/lib/views/EmailVerification/EmailVerification.cjs +12 -1
  163. package/src/lib/views/EmailVerification/EmailVerification.js +14 -3
  164. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +3 -2
  165. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +3 -2
  166. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailWalletList/LoginWithEmailWalletList.cjs +4 -1
  167. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailWalletList/LoginWithEmailWalletList.js +4 -1
  168. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.cjs +1 -1
  169. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.js +1 -1
  170. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +111 -0
  171. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +2 -0
  172. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +107 -0
  173. package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
  174. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +4 -2
  175. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +4 -2
  176. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +4 -2
  177. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +4 -2
  178. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +14 -35
  179. package/src/lib/views/SendBalanceView/SendBalanceView.d.ts +2 -2
  180. package/src/lib/views/SendBalanceView/SendBalanceView.js +15 -36
  181. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.cjs +67 -0
  182. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.d.ts +8 -0
  183. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.js +63 -0
  184. package/src/lib/views/SendBalanceView/components/TransactionStage/index.d.ts +1 -0
  185. package/src/lib/views/SendBalanceView/components/index.d.ts +1 -0
  186. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +1 -2
  187. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +1 -2
  188. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +31 -8
  189. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.d.ts +4 -3
  190. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +32 -9
  191. package/src/lib/views/TransactionConfirmationView/hooks/index.d.ts +2 -1
  192. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/index.d.ts +1 -0
  193. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.cjs +69 -0
  194. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.d.ts +11 -0
  195. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.js +65 -0
  196. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/index.d.ts +1 -0
  197. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.cjs +14 -0
  198. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.d.ts +6 -0
  199. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.js +10 -0
  200. package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.cjs +1 -0
  201. package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.js +1 -0
  202. package/src/lib/views/WalletList/WalletList.cjs +4 -1
  203. package/src/lib/views/WalletList/WalletList.js +4 -1
  204. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +1 -1
  205. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +1 -1
  206. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +20 -4
  207. package/src/lib/views/WalletLockedView/WalletLockedView.js +20 -4
  208. package/src/lib/views/viewToComponentMap.cjs +2 -0
  209. package/src/lib/views/viewToComponentMap.js +2 -0
  210. package/src/lib/widgets/DynamicWidget/hooks/useFetchCurrency/useFetchCurrency.cjs +4 -1
  211. package/src/lib/widgets/DynamicWidget/hooks/useFetchCurrency/useFetchCurrency.js +4 -1
  212. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.cjs +13 -0
  213. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.d.ts +2 -0
  214. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.js +9 -0
  215. package/src/lib/widgets/OAuthIFrameContainer/index.d.ts +1 -0
  216. package/src/lib/widgets/index.d.ts +1 -0
  217. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/index.d.ts +0 -1
  218. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.cjs +0 -104
  219. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.d.ts +0 -17
  220. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.js +0 -100
@@ -32,7 +32,9 @@ import { PoweredByDynamic } from '../PoweredByDynamic/PoweredByDynamic.js';
32
32
  const TransactionConfirmationPageLayout = ({ onClickClose, isLoading, onClickBack, title, error, appOrigin, appLogoUrl, appName, onClickSend, disableSendButton, displayPoweredByDynamicFooter = false, warningMessage, children, }) => {
33
33
  const closeButton = onClickClose && (jsx(IconButton, { type: 'button', onClick: onClickClose, "data-testid": 'close', disabled: isLoading, children: jsx(SvgClose, {}) }));
34
34
  const backButton = onClickBack && (jsx(IconButton, { type: 'button', onClick: onClickBack, "data-testid": 'back-button', children: jsx(SvgChevronLeft, {}) }));
35
- return (jsxs(Fragment, { children: [jsx(ModalHeader, { trailing: closeButton, leading: backButton, alignContent: 'bottom', children: jsx(IconWithSpinner, { Icon: (props) => (jsx(Icon, { color: 'brand-primary', children: jsx(SvgSignCircle, Object.assign({}, props)) })), iconSize: 64, isSpinning: true }) }), jsxs("div", { className: 'transaction-confirmation__body', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'transaction-confirmation__title', children: title }), jsx(AnimatePresence, { animationComponent: jsx(VerticalDrawerTransition, {}), children: error && (jsx("div", { className: 'transaction-confirmation__error', children: jsx(Alert, { icon: 'error', variant: 'error', children: error }) })) }), jsxs("div", { className: 'transaction-confirmation__content', children: [jsx("div", { className: 'transaction-confirmation__app-origin-tile', children: jsx(AppOriginTile, { appLogoUrl: appLogoUrl, appName: appName, appOrigin: appOrigin }) }), jsx("div", { className: 'transaction-confirmation__rows', children: children })] }), jsx(AnimatePresence, { animationComponent: jsx(VerticalDrawerTransition, {}), children: warningMessage && (jsx("div", { className: 'transaction-confirmation__warning', children: jsx(Alert, { icon: 'error', variant: 'warning', contentDataTestId: 'warning_content', children: warningMessage }) })) }), jsxs("div", { className: 'transaction-confirmation__actions', children: [onClickClose && (jsx(Button, { buttonVariant: 'secondary', onClick: onClickClose, expanded: true, buttonPadding: 'large', buttonRounded: 'default', disabled: isLoading, children: "Cancel" })), jsx(Button, { buttonVariant: 'primary', buttonPadding: 'large', onClick: onClickSend, expanded: true, buttonRounded: 'default', loading: isLoading, disabled: disableSendButton, children: "Send" })] }), displayPoweredByDynamicFooter && (jsx(PoweredByDynamic, { classNameRoot: 'transaction-confirmation__footer' }))] })] }));
35
+ return (jsxs(Fragment, { children: [jsx(ModalHeader, { trailing: closeButton, leading: backButton, alignContent: 'bottom', children: jsx(IconWithSpinner, { Icon: (props) => (jsx(Icon, { color: 'brand-primary', children: jsx(SvgSignCircle, Object.assign({}, props)) })), iconSize: 64, isSpinning: true }) }), jsxs("div", { className: 'transaction-confirmation__body', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'transaction-confirmation__title', children: title }), jsx(AnimatePresence, { animationComponent: jsx(VerticalDrawerTransition, {}), children: error && (jsx("div", { className: 'transaction-confirmation__error', children: jsx(Alert, { icon: 'error', variant: 'error', children: error }) })) }), jsxs("div", { className: 'transaction-confirmation__content', children: [jsx("div", { className: 'transaction-confirmation__app-origin-tile', children: jsx(AppOriginTile, { appLogoUrl: appLogoUrl, appName: appName, appOrigin: appOrigin }) }), jsx("div", { className: 'transaction-confirmation__rows', children: children })] }), jsx(AnimatePresence, { animationComponent: jsx(VerticalDrawerTransition, {}), children: warningMessage && (jsx("div", { className: 'transaction-confirmation__warning', children: jsx(Alert, { icon: 'error', variant: 'warning', contentDataTestId: 'warning_content', children: warningMessage }) })) }), jsxs("div", { className: 'transaction-confirmation__actions', children: [onClickClose && (jsx(Button, { buttonVariant: 'secondary', onClick: onClickClose, expanded: true, buttonPadding: 'large', buttonRounded: 'default', disabled: isLoading, children: "Cancel" })), jsx(Button, { buttonVariant: 'primary', buttonPadding: 'large', onClick: (event) => {
36
+ onClickSend === null || onClickSend === void 0 ? void 0 : onClickSend(event);
37
+ }, expanded: true, buttonRounded: 'default', loading: isLoading, disabled: disableSendButton, children: "Send" })] }), displayPoweredByDynamicFooter && (jsx(PoweredByDynamic, { classNameRoot: 'transaction-confirmation__footer' }))] })] }));
36
38
  };
37
39
 
38
40
  export { TransactionConfirmationPageLayout };
@@ -54,8 +54,8 @@ var TransactionRow = require('../TransactionConfirmationPageLayout/components/Tr
54
54
 
55
55
  const TransactionStatusLayout = ({ destinationAddress, amount, networkName, networkCurrency, NetworkIcon, onDone, displayPoweredByDynamicFooter = true, onClickClose, }) => {
56
56
  const closeButton = onClickClose && (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: onClickClose, "data-testid": 'close', children: jsxRuntime.jsx(close.ReactComponent, {}) }));
57
- const networkIcon = (jsxRuntime.jsx("div", { className: 'transaction-status-layout__network-icon', children: NetworkIcon }));
58
- return (jsxRuntime.jsxs("div", { className: 'transaction-status-layout', children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { trailing: closeButton, alignContent: 'bottom', children: jsxRuntime.jsx(IconWithStatus.IconWithStatus, { containerClassName: 'transaction-status-layout__status-icon', iconSize: 50, Icon: signCircle.ReactComponent, InnerIcon: check.ReactComponent }) }), jsxRuntime.jsxs("div", { className: 'transaction-status-layout__body', children: [jsxRuntime.jsx(Typography.Typography, { weight: 'medium', variant: 'title', color: 'primary', className: 'transaction-status-layout__title', children: "Transaction successfully sent" }), jsxRuntime.jsx("div", { className: 'transaction-status-layout__content', children: jsxRuntime.jsxs("div", { className: 'transaction-status-layout__rows', children: [jsxRuntime.jsx(TransactionRow.TransactionRow, { label: 'Recipient', children: shortenWalletAddress.shortenWalletAddress(destinationAddress, 3, 3) }), jsxRuntime.jsxs(TransactionRow.TransactionRow, { label: 'Network', children: [networkIcon, jsxRuntime.jsx("span", { className: 'transaction-status-layout__network-name', children: networkName })] }), jsxRuntime.jsxs(TransactionRow.TransactionRow, { label: 'Total amount', children: [amount, jsxRuntime.jsx(Typography.Typography, { as: 'span', color: 'secondary', className: 'transaction-status-layout__network-currency', children: networkCurrency })] })] }) }), jsxRuntime.jsx("div", { className: 'transaction-status-layout__actions', children: jsxRuntime.jsx(Button.Button, { buttonVariant: 'primary', buttonPadding: 'large', expanded: true, buttonRounded: 'default', onClick: onDone, children: "Continue" }) }), displayPoweredByDynamicFooter && (jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, { classNameRoot: 'transaction-status-layout__footer' }))] })] }));
57
+ const networkIcon = (jsxRuntime.jsx("span", { className: 'transaction-status-layout__network-icon', children: NetworkIcon }));
58
+ return (jsxRuntime.jsxs("div", { className: 'transaction-status-layout', children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { trailing: closeButton, alignContent: 'bottom', children: jsxRuntime.jsx(IconWithStatus.IconWithStatus, { containerClassName: 'transaction-status-layout__status-icon', iconSize: 50, Icon: signCircle.ReactComponent, InnerIcon: check.ReactComponent }) }), jsxRuntime.jsxs("div", { className: 'transaction-status-layout__body', children: [jsxRuntime.jsx(Typography.Typography, { weight: 'medium', variant: 'title', color: 'primary', className: 'transaction-status-layout__title', children: "Transaction successfully sent" }), jsxRuntime.jsx("div", { className: 'transaction-status-layout__content', children: jsxRuntime.jsxs("div", { className: 'transaction-status-layout__rows', children: [jsxRuntime.jsx(TransactionRow.TransactionRow, { label: 'Recipient', children: shortenWalletAddress.shortenWalletAddress(destinationAddress, 3, 3) }), jsxRuntime.jsxs(TransactionRow.TransactionRow, { label: 'Network', children: [networkIcon, jsxRuntime.jsx("span", { className: 'transaction-status-layout__network-name', children: networkName })] }), jsxRuntime.jsxs(TransactionRow.TransactionRow, { label: 'Total amount', children: [amount, jsxRuntime.jsx(Typography.Typography, { as: 'span', color: 'secondary', className: 'transaction-status-layout__network-currency', children: networkCurrency })] })] }) }), jsxRuntime.jsx("div", { className: 'transaction-status-layout__actions', children: jsxRuntime.jsx(Button.Button, { buttonVariant: 'primary', buttonPadding: 'large', expanded: true, buttonRounded: 'default', onClick: onDone, loading: false, children: "Continue" }) }), displayPoweredByDynamicFooter && (jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, { classNameRoot: 'transaction-status-layout__footer' }))] })] }));
59
59
  };
60
60
 
61
61
  exports.TransactionStatusLayout = TransactionStatusLayout;
@@ -50,8 +50,8 @@ import { TransactionRow } from '../TransactionConfirmationPageLayout/components/
50
50
 
51
51
  const TransactionStatusLayout = ({ destinationAddress, amount, networkName, networkCurrency, NetworkIcon, onDone, displayPoweredByDynamicFooter = true, onClickClose, }) => {
52
52
  const closeButton = onClickClose && (jsx(IconButton, { type: 'button', onClick: onClickClose, "data-testid": 'close', children: jsx(SvgClose, {}) }));
53
- const networkIcon = (jsx("div", { className: 'transaction-status-layout__network-icon', children: NetworkIcon }));
54
- return (jsxs("div", { className: 'transaction-status-layout', children: [jsx(ModalHeader, { trailing: closeButton, alignContent: 'bottom', children: jsx(IconWithStatus, { containerClassName: 'transaction-status-layout__status-icon', iconSize: 50, Icon: SvgSignCircle, InnerIcon: SvgCheck }) }), jsxs("div", { className: 'transaction-status-layout__body', children: [jsx(Typography, { weight: 'medium', variant: 'title', color: 'primary', className: 'transaction-status-layout__title', children: "Transaction successfully sent" }), jsx("div", { className: 'transaction-status-layout__content', children: jsxs("div", { className: 'transaction-status-layout__rows', children: [jsx(TransactionRow, { label: 'Recipient', children: shortenWalletAddress(destinationAddress, 3, 3) }), jsxs(TransactionRow, { label: 'Network', children: [networkIcon, jsx("span", { className: 'transaction-status-layout__network-name', children: networkName })] }), jsxs(TransactionRow, { label: 'Total amount', children: [amount, jsx(Typography, { as: 'span', color: 'secondary', className: 'transaction-status-layout__network-currency', children: networkCurrency })] })] }) }), jsx("div", { className: 'transaction-status-layout__actions', children: jsx(Button, { buttonVariant: 'primary', buttonPadding: 'large', expanded: true, buttonRounded: 'default', onClick: onDone, children: "Continue" }) }), displayPoweredByDynamicFooter && (jsx(PoweredByDynamic, { classNameRoot: 'transaction-status-layout__footer' }))] })] }));
53
+ const networkIcon = (jsx("span", { className: 'transaction-status-layout__network-icon', children: NetworkIcon }));
54
+ return (jsxs("div", { className: 'transaction-status-layout', children: [jsx(ModalHeader, { trailing: closeButton, alignContent: 'bottom', children: jsx(IconWithStatus, { containerClassName: 'transaction-status-layout__status-icon', iconSize: 50, Icon: SvgSignCircle, InnerIcon: SvgCheck }) }), jsxs("div", { className: 'transaction-status-layout__body', children: [jsx(Typography, { weight: 'medium', variant: 'title', color: 'primary', className: 'transaction-status-layout__title', children: "Transaction successfully sent" }), jsx("div", { className: 'transaction-status-layout__content', children: jsxs("div", { className: 'transaction-status-layout__rows', children: [jsx(TransactionRow, { label: 'Recipient', children: shortenWalletAddress(destinationAddress, 3, 3) }), jsxs(TransactionRow, { label: 'Network', children: [networkIcon, jsx("span", { className: 'transaction-status-layout__network-name', children: networkName })] }), jsxs(TransactionRow, { label: 'Total amount', children: [amount, jsx(Typography, { as: 'span', color: 'secondary', className: 'transaction-status-layout__network-currency', children: networkCurrency })] })] }) }), jsx("div", { className: 'transaction-status-layout__actions', children: jsx(Button, { buttonVariant: 'primary', buttonPadding: 'large', expanded: true, buttonRounded: 'default', onClick: onDone, loading: false, children: "Continue" }) }), displayPoweredByDynamicFooter && (jsx(PoweredByDynamic, { classNameRoot: 'transaction-status-layout__footer' }))] })] }));
55
55
  };
56
56
 
57
57
  export { TransactionStatusLayout };
@@ -29,6 +29,7 @@ const Typography = (_a) => {
29
29
  'brand-primary': 'typography--brand-primary',
30
30
  'error-1': 'typography--dynamic-error-1',
31
31
  'error-2': 'typography--dynamic-error-2',
32
+ 'green-1': 'typography--connection-green-1',
32
33
  link: 'typography--link',
33
34
  primary: 'typography--primary',
34
35
  secondary: 'typography--secondary',
@@ -25,6 +25,7 @@ const Typography = (_a) => {
25
25
  'brand-primary': 'typography--brand-primary',
26
26
  'error-1': 'typography--dynamic-error-1',
27
27
  'error-2': 'typography--dynamic-error-2',
28
+ 'green-1': 'typography--connection-green-1',
28
29
  link: 'typography--link',
29
30
  primary: 'typography--primary',
30
31
  secondary: 'typography--secondary',
@@ -1,7 +1,7 @@
1
1
  import { ComponentPropsWithoutRef, ElementType, ReactElement } from 'react';
2
2
  export type TypographyTag = ElementType;
3
3
  export type TypographyVariant = 'title' | 'body_normal' | 'body_small' | 'body_mini' | 'button_primary' | 'button_secondary' | 'button_tertiary' | 'numbers_big' | 'numbers_medium' | 'numbers_small';
4
- export type TypographyColor = 'primary' | 'secondary' | 'brand-primary' | 'tertiary' | 'link' | 'error-1' | 'error-2' | 'tooltip';
4
+ export type TypographyColor = 'primary' | 'secondary' | 'brand-primary' | 'tertiary' | 'link' | 'error-1' | 'error-2' | 'tooltip' | 'green-1';
5
5
  export type TypographyWeight = 'regular' | 'medium' | 'bold';
6
6
  export type TypographyTransform = 'uppercase';
7
7
  export type TypographyProps<TAG extends ElementType = 'p'> = {
@@ -43,7 +43,7 @@ const UserProfile = ({ rootClassName }) => {
43
43
  const { label } = index$1.getValueByKey(fieldsConfig.fieldsConfig, name);
44
44
  const value = mapFieldKeyToValue(name);
45
45
  return (jsxRuntime.jsx(UserProfileField.UserProfileField, { name: name, label: label, value: value }, name));
46
- }) }) })), (providers === null || providers === void 0 ? void 0 : providers.length) > 0 && (jsxRuntime.jsx(UserProfileSection.UserProfileSection, { title: 'Social accounts', children: jsxRuntime.jsx("div", { className: 'user-profile__social-accounts', children: providers.map(({ authorizationUrl, provider }) => (jsxRuntime.jsx(UserProfileSocialAccount.UserProfileSocialAccount, { provider: provider }, provider))) }) }))] }));
46
+ }) }) })), (providers === null || providers === void 0 ? void 0 : providers.length) > 0 && (jsxRuntime.jsx(UserProfileSection.UserProfileSection, { title: 'Social accounts', children: jsxRuntime.jsx("div", { className: 'user-profile__social-accounts', children: providers.map(({ provider }) => (jsxRuntime.jsx(UserProfileSocialAccount.UserProfileSocialAccount, { provider: provider }, provider))) }) }))] }));
47
47
  };
48
48
 
49
49
  exports.UserProfile = UserProfile;
@@ -39,7 +39,7 @@ const UserProfile = ({ rootClassName }) => {
39
39
  const { label } = getValueByKey(fieldsConfig, name);
40
40
  const value = mapFieldKeyToValue(name);
41
41
  return (jsx(UserProfileField, { name: name, label: label, value: value }, name));
42
- }) }) })), (providers === null || providers === void 0 ? void 0 : providers.length) > 0 && (jsx(UserProfileSection, { title: 'Social accounts', children: jsx("div", { className: 'user-profile__social-accounts', children: providers.map(({ authorizationUrl, provider }) => (jsx(UserProfileSocialAccount, { provider: provider }, provider))) }) }))] }));
42
+ }) }) })), (providers === null || providers === void 0 ? void 0 : providers.length) > 0 && (jsx(UserProfileSection, { title: 'Social accounts', children: jsx("div", { className: 'user-profile__social-accounts', children: providers.map(({ provider }) => (jsx(UserProfileSocialAccount, { provider: provider }, provider))) }) }))] }));
43
43
  };
44
44
 
45
45
  export { UserProfile };
@@ -57,7 +57,7 @@ const UserProfileSocialAccount = ({ provider, }) => {
57
57
  const isProviderLinked = isLinked(provider);
58
58
  const connectedAccountInfo = getLinkedAccountInformation(provider);
59
59
  const iconThemeVariant = useIconThemeVariant.useIconThemeVariant();
60
- return (jsxRuntime.jsxs("div", { className: 'user-profile-social-account', "data-testid": `social-account-${provider}`, children: [jsxRuntime.jsx("div", { className: 'user-profile-social-account__icon', children: isProviderLinked ? (jsxRuntime.jsx(ConnectedAccountAvatar.ConnectedAccountAvatar, { provider: provider, avatarUrl: connectedAccountInfo === null || connectedAccountInfo === void 0 ? void 0 : connectedAccountInfo.avatar, iconThemeVariant: iconThemeVariant })) : (jsxRuntime.jsx(iconic.SocialIcon, { name: provider, variant: iconThemeVariant })) }), jsxRuntime.jsx("div", { className: 'user-profile-social-account__label', children: jsxRuntime.jsx(Typography.Typography, { weight: 'medium', variant: 'body_normal', color: 'primary', children: (_a = connectedAccountInfo === null || connectedAccountInfo === void 0 ? void 0 : connectedAccountInfo.publicIdentifier) !== null && _a !== void 0 ? _a : helpers.capitalize(provider) }) }), isProviderLinked ? (jsxRuntime.jsx(Button.Button, { buttonClassName: 'user-profile-social-account__button', buttonVariant: 'secondary', buttonRounded: 'small', buttonPadding: 'none', onClick: () => unlinkSocialAccount(provider), loading: isProcessing, dataTestId: 'social-account-disconnect-button', typographyProps: {
60
+ return (jsxRuntime.jsxs("div", { className: 'user-profile-social-account', "data-testid": `social-account-${provider}`, children: [jsxRuntime.jsx("div", { className: 'user-profile-social-account__icon', children: isProviderLinked ? (jsxRuntime.jsx(ConnectedAccountAvatar.ConnectedAccountAvatar, { provider: provider, avatarUrl: connectedAccountInfo === null || connectedAccountInfo === void 0 ? void 0 : connectedAccountInfo.avatar })) : (jsxRuntime.jsx(iconic.SocialIcon, { name: provider, variant: iconThemeVariant })) }), jsxRuntime.jsx("div", { className: 'user-profile-social-account__label', children: jsxRuntime.jsx(Typography.Typography, { weight: 'medium', variant: 'body_normal', color: 'primary', children: (_a = connectedAccountInfo === null || connectedAccountInfo === void 0 ? void 0 : connectedAccountInfo.publicIdentifier) !== null && _a !== void 0 ? _a : helpers.capitalize(provider) }) }), isProviderLinked ? (jsxRuntime.jsx(Button.Button, { buttonClassName: 'user-profile-social-account__button', buttonVariant: 'secondary', buttonRounded: 'small', buttonPadding: 'none', onClick: () => unlinkSocialAccount(provider), loading: isProcessing, dataTestId: 'social-account-disconnect-button', typographyProps: {
61
61
  color: 'secondary',
62
62
  variant: 'button_tertiary',
63
63
  }, startSlot:
@@ -53,7 +53,7 @@ const UserProfileSocialAccount = ({ provider, }) => {
53
53
  const isProviderLinked = isLinked(provider);
54
54
  const connectedAccountInfo = getLinkedAccountInformation(provider);
55
55
  const iconThemeVariant = useIconThemeVariant();
56
- return (jsxs("div", { className: 'user-profile-social-account', "data-testid": `social-account-${provider}`, children: [jsx("div", { className: 'user-profile-social-account__icon', children: isProviderLinked ? (jsx(ConnectedAccountAvatar, { provider: provider, avatarUrl: connectedAccountInfo === null || connectedAccountInfo === void 0 ? void 0 : connectedAccountInfo.avatar, iconThemeVariant: iconThemeVariant })) : (jsx(SocialIcon, { name: provider, variant: iconThemeVariant })) }), jsx("div", { className: 'user-profile-social-account__label', children: jsx(Typography, { weight: 'medium', variant: 'body_normal', color: 'primary', children: (_a = connectedAccountInfo === null || connectedAccountInfo === void 0 ? void 0 : connectedAccountInfo.publicIdentifier) !== null && _a !== void 0 ? _a : capitalize(provider) }) }), isProviderLinked ? (jsx(Button, { buttonClassName: 'user-profile-social-account__button', buttonVariant: 'secondary', buttonRounded: 'small', buttonPadding: 'none', onClick: () => unlinkSocialAccount(provider), loading: isProcessing, dataTestId: 'social-account-disconnect-button', typographyProps: {
56
+ return (jsxs("div", { className: 'user-profile-social-account', "data-testid": `social-account-${provider}`, children: [jsx("div", { className: 'user-profile-social-account__icon', children: isProviderLinked ? (jsx(ConnectedAccountAvatar, { provider: provider, avatarUrl: connectedAccountInfo === null || connectedAccountInfo === void 0 ? void 0 : connectedAccountInfo.avatar })) : (jsx(SocialIcon, { name: provider, variant: iconThemeVariant })) }), jsx("div", { className: 'user-profile-social-account__label', children: jsx(Typography, { weight: 'medium', variant: 'body_normal', color: 'primary', children: (_a = connectedAccountInfo === null || connectedAccountInfo === void 0 ? void 0 : connectedAccountInfo.publicIdentifier) !== null && _a !== void 0 ? _a : capitalize(provider) }) }), isProviderLinked ? (jsx(Button, { buttonClassName: 'user-profile-social-account__button', buttonVariant: 'secondary', buttonRounded: 'small', buttonPadding: 'none', onClick: () => unlinkSocialAccount(provider), loading: isProcessing, dataTestId: 'social-account-disconnect-button', typographyProps: {
57
57
  color: 'secondary',
58
58
  variant: 'button_tertiary',
59
59
  }, startSlot:
@@ -79,6 +79,7 @@ require('../../views/CollectUserDataView/fieldsConfig.cjs');
79
79
  require('../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
80
80
  var FundingWidget = require('../../widgets/FundingWidget/FundingWidget.cjs');
81
81
  var DynamicBridgeWidgetContext = require('../../widgets/DynamicBridgeWidget/context/DynamicBridgeWidgetContext/DynamicBridgeWidgetContext.cjs');
82
+ var OAuthIFrameContainer = require('../../widgets/OAuthIFrameContainer/OAuthIFrameContainer.cjs');
82
83
  var EmailVerificationContext = require('../EmailVerificationContext/EmailVerificationContext.cjs');
83
84
  var FundingContext = require('../FundingContext/FundingContext.cjs');
84
85
  var SendBalanceContext = require('../SendBalanceContext/SendBalanceContext.cjs');
@@ -93,6 +94,7 @@ var useVerificationInProgress = require('./hooks/useVerificationInProgress/useVe
93
94
  var useCustomerCallbacks = require('./useCustomerCallbacks/useCustomerCallbacks.cjs');
94
95
  var useCustomerAuthFlowCallbacks = require('./useCustomerCallbacks/useCustomerAuthFlowCallbacks.cjs');
95
96
  var validators = require('./validators.cjs');
97
+ var internalEvents = require('./internalEvents/internalEvents.cjs');
96
98
 
97
99
  const PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID = '2762a57b-faa4-41ce-9f16-abff9300e2c9';
98
100
  const EMPTY_INITIAL_USER = undefined;
@@ -100,6 +102,9 @@ const DynamicContext = React.createContext(undefined);
100
102
  const DynamicContextProvider = ({ children, theme, settings, }) => {
101
103
  var _a, _b, _c, _d, _e, _f, _g, _h;
102
104
  const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, } = settings;
105
+ // The following event related methods are temporary and should be removed after QNTM-180 is done
106
+ // ============ START REMOVE AFTER QNTM-180 ============
107
+ const internalEventsRef = React.useRef(internalEvents.getInternalEvents());
103
108
  let { walletConnectV1Bridge, appLogoUrl = 'https://demo.dynamic.xyz/assets/dynamic-logo.svg', appName = 'Dynamic Example', } = settings;
104
109
  if (!environmentId) {
105
110
  throw new utils.MissingEnvironmentIdError();
@@ -178,7 +183,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
178
183
  walletUiUtils,
179
184
  });
180
185
  const [authMode, setAuthMode] = useLocalStorage.useLocalStorage(localStorage$1.AUTH_MODE, initialAuthenticationMode);
181
- const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId.usePrimaryWalletId();
186
+ const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId.usePrimaryWalletId(internalEventsRef.current);
182
187
  const { connectWallet, removeConnectedWalletsInfo, connectedWalletsInfo, connectedWallet, getConnectedWalletById, connectedWallets, unlinkConnectedWallet, refreshConnectedWallet, } = useConnectWallet.useConnectWallet({
183
188
  authMode,
184
189
  clearPrimaryWalletId,
@@ -250,6 +255,9 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
250
255
  setWalletsToConnectByChain(walletsByChain);
251
256
  setShowBridgeWidget(false);
252
257
  localStorage.LocalStorage.removeFromLS(localStorage$1.WALLET_PICKER_SEARCH_KEY);
258
+ if (!toolkitEnabled) {
259
+ localStorage.LocalStorage.removeFromLS(localStorage$1.IS_MULTI_WALLET_ENABLED);
260
+ }
253
261
  const jwt = getAuthToken.getAuthToken();
254
262
  if (jwt && user) {
255
263
  // do not await this async call - just fire and forget
@@ -261,7 +269,8 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
261
269
  yield ((_j = connectedWallet === null || connectedWallet === void 0 ? void 0 : connectedWallet.connector) === null || _j === void 0 ? void 0 : _j.endSession());
262
270
  // Necessary when user logs out in user data collection view
263
271
  // Dont require flag to be set though
264
- setIsVerificationInProgress(false, false);
272
+ if (isVerificationInProgress)
273
+ setIsVerificationInProgress(false);
265
274
  setLegacyIsVerifying(false);
266
275
  setAuthMode(initialAuthenticationMode);
267
276
  setShowAuthFlow(false);
@@ -367,7 +376,8 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
367
376
  const clearStatesOnBackClick = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
368
377
  setDesktopUri('');
369
378
  // Clear verification flag but dont require it to be set
370
- setIsVerificationInProgress(false, false);
379
+ if (isVerificationInProgress)
380
+ setIsVerificationInProgress(false);
371
381
  setLegacyIsVerifying(false);
372
382
  if (!user) {
373
383
  clearAllWalletConnectSessions();
@@ -440,6 +450,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
440
450
  handleUnlinkWallet: authMode === 'connect-only'
441
451
  ? unlinkConnectedWallet
442
452
  : handleUnlinkWallet,
453
+ internalEvents: internalEventsRef,
443
454
  isAuthenticated,
444
455
  isBridgeFlow,
445
456
  isFullyConnected,
@@ -668,7 +679,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
668
679
  isBridgeFlow,
669
680
  isFullyConnected,
670
681
  loginWithEmail,
671
- }), children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, { canSync: didConnectedStateLoad, children: jsxRuntime.jsx(QrCodeContext.QrCodeContextProvider, { children: jsxRuntime.jsx(EmailVerificationContext.EmailVerificationContextProvider, { children: jsxRuntime.jsx(ErrorContext.ErrorContextProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsxs(WalletGroupContext.WalletGroupContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }));
682
+ }), children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, { canSync: didConnectedStateLoad, children: jsxRuntime.jsx(QrCodeContext.QrCodeContextProvider, { children: jsxRuntime.jsx(EmailVerificationContext.EmailVerificationContextProvider, { children: jsxRuntime.jsx(ErrorContext.ErrorContextProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsxs(WalletGroupContext.WalletGroupContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), jsxRuntime.jsx(OAuthIFrameContainer.OAuthIFrameContainer, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }));
672
683
  };
673
684
 
674
685
  exports.DynamicContext = DynamicContext;
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from '../../../../_virtual/_tslib.js';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { createContext, useState, useEffect, useCallback, useMemo } from 'react';
3
+ import { createContext, useRef, useState, useEffect, useCallback, useMemo } from 'react';
4
4
  import { ICONIC_SPRITE_URL } from '@dynamic-labs/iconic';
5
5
  import { MissingEnvironmentIdError } from '@dynamic-labs/utils';
6
6
  import { useWalletBookCdn, getWalletBookCdnUrl, WalletBookContextProvider } from '@dynamic-labs/wallet-book';
@@ -10,7 +10,7 @@ import { Toolkit } from '../../components/Toolkit/Toolkit.js';
10
10
  import { decodeJwt } from '../../shared/utils/functions/decodeJwt/decodeJwt.js';
11
11
  import { ViewContextProvider } from '../ViewContext/ViewContext.js';
12
12
  import { logger } from '../../shared/logger.js';
13
- import { IS_FULLY_CONNECTED, AUTH_TOKEN, AUTH_USER, AUTH_MODE, WALLET_PICKER_SEARCH_KEY } from '../../utils/constants/localStorage.js';
13
+ import { IS_FULLY_CONNECTED, AUTH_TOKEN, AUTH_USER, AUTH_MODE, WALLET_PICKER_SEARCH_KEY, IS_MULTI_WALLET_ENABLED } from '../../utils/constants/localStorage.js';
14
14
  import '../../utils/constants/colors.js';
15
15
  import { DEFAULT_NUMBER_OF_WALLETS_TO_SHOW } from '../../utils/constants/values.js';
16
16
  import { LocalStorage } from '../../shared/utils/classes/storage/localStorage.js';
@@ -75,6 +75,7 @@ import '../../views/CollectUserDataView/fieldsConfig.js';
75
75
  import '../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
76
76
  import { FundingWidget } from '../../widgets/FundingWidget/FundingWidget.js';
77
77
  import { DynamicBridgeWidgetContextProvider } from '../../widgets/DynamicBridgeWidget/context/DynamicBridgeWidgetContext/DynamicBridgeWidgetContext.js';
78
+ import { OAuthIFrameContainer } from '../../widgets/OAuthIFrameContainer/OAuthIFrameContainer.js';
78
79
  import { EmailVerificationContextProvider } from '../EmailVerificationContext/EmailVerificationContext.js';
79
80
  import { FundingContextProvider } from '../FundingContext/FundingContext.js';
80
81
  import { SendBalanceContextProvider } from '../SendBalanceContext/SendBalanceContext.js';
@@ -89,6 +90,7 @@ import { useVerificationInProgress } from './hooks/useVerificationInProgress/use
89
90
  import { useCustomerCallbacks } from './useCustomerCallbacks/useCustomerCallbacks.js';
90
91
  import { useCustomerAuthFlowCallbacks } from './useCustomerCallbacks/useCustomerAuthFlowCallbacks.js';
91
92
  import { validateAuthUser } from './validators.js';
93
+ import { getInternalEvents } from './internalEvents/internalEvents.js';
92
94
 
93
95
  const PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID = '2762a57b-faa4-41ce-9f16-abff9300e2c9';
94
96
  const EMPTY_INITIAL_USER = undefined;
@@ -96,6 +98,9 @@ const DynamicContext = createContext(undefined);
96
98
  const DynamicContextProvider = ({ children, theme, settings, }) => {
97
99
  var _a, _b, _c, _d, _e, _f, _g, _h;
98
100
  const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, } = settings;
101
+ // The following event related methods are temporary and should be removed after QNTM-180 is done
102
+ // ============ START REMOVE AFTER QNTM-180 ============
103
+ const internalEventsRef = useRef(getInternalEvents());
99
104
  let { walletConnectV1Bridge, appLogoUrl = 'https://demo.dynamic.xyz/assets/dynamic-logo.svg', appName = 'Dynamic Example', } = settings;
100
105
  if (!environmentId) {
101
106
  throw new MissingEnvironmentIdError();
@@ -174,7 +179,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
174
179
  walletUiUtils,
175
180
  });
176
181
  const [authMode, setAuthMode] = useLocalStorage(AUTH_MODE, initialAuthenticationMode);
177
- const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId();
182
+ const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId(internalEventsRef.current);
178
183
  const { connectWallet, removeConnectedWalletsInfo, connectedWalletsInfo, connectedWallet, getConnectedWalletById, connectedWallets, unlinkConnectedWallet, refreshConnectedWallet, } = useConnectWallet({
179
184
  authMode,
180
185
  clearPrimaryWalletId,
@@ -246,6 +251,9 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
246
251
  setWalletsToConnectByChain(walletsByChain);
247
252
  setShowBridgeWidget(false);
248
253
  LocalStorage.removeFromLS(WALLET_PICKER_SEARCH_KEY);
254
+ if (!toolkitEnabled) {
255
+ LocalStorage.removeFromLS(IS_MULTI_WALLET_ENABLED);
256
+ }
249
257
  const jwt = getAuthToken();
250
258
  if (jwt && user) {
251
259
  // do not await this async call - just fire and forget
@@ -257,7 +265,8 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
257
265
  yield ((_j = connectedWallet === null || connectedWallet === void 0 ? void 0 : connectedWallet.connector) === null || _j === void 0 ? void 0 : _j.endSession());
258
266
  // Necessary when user logs out in user data collection view
259
267
  // Dont require flag to be set though
260
- setIsVerificationInProgress(false, false);
268
+ if (isVerificationInProgress)
269
+ setIsVerificationInProgress(false);
261
270
  setLegacyIsVerifying(false);
262
271
  setAuthMode(initialAuthenticationMode);
263
272
  setShowAuthFlow(false);
@@ -363,7 +372,8 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
363
372
  const clearStatesOnBackClick = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
364
373
  setDesktopUri('');
365
374
  // Clear verification flag but dont require it to be set
366
- setIsVerificationInProgress(false, false);
375
+ if (isVerificationInProgress)
376
+ setIsVerificationInProgress(false);
367
377
  setLegacyIsVerifying(false);
368
378
  if (!user) {
369
379
  clearAllWalletConnectSessions();
@@ -436,6 +446,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
436
446
  handleUnlinkWallet: authMode === 'connect-only'
437
447
  ? unlinkConnectedWallet
438
448
  : handleUnlinkWallet,
449
+ internalEvents: internalEventsRef,
439
450
  isAuthenticated,
440
451
  isBridgeFlow,
441
452
  isFullyConnected,
@@ -664,7 +675,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
664
675
  isBridgeFlow,
665
676
  isFullyConnected,
666
677
  loginWithEmail,
667
- }), children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { canSync: didConnectedStateLoad, children: jsx(QrCodeContextProvider, { children: jsx(EmailVerificationContextProvider, { children: jsx(ErrorContextProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(CaptchaContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsxs(WalletGroupContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }));
678
+ }), children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { canSync: didConnectedStateLoad, children: jsx(QrCodeContextProvider, { children: jsx(EmailVerificationContextProvider, { children: jsx(ErrorContextProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(CaptchaContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsxs(WalletGroupContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), jsx(OAuthIFrameContainer, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }));
668
679
  };
669
680
 
670
681
  export { DynamicContext, DynamicContextProvider, PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID };
@@ -22,10 +22,20 @@ const useVerificationInProgress = () => {
22
22
  // because when modal is closed manually, the flag will be false at the moment of onAuthModalClose.
23
23
  // If it was closed due to a verification process, it will be true.
24
24
  const [isVerificationInProgress, _setIsVerificationInProgress] = React.useState(false);
25
- const setIsVerificationInProgress = (newValue, checkWasSetOnDisable = true) => {
26
- if (checkWasSetOnDisable && !newValue && !isVerificationInProgress)
25
+ // Detects whether the flag is being set to false when it was already false
26
+ const detectRedundantDisable = (newValue, oldValue) => {
27
+ if (!newValue && !oldValue)
27
28
  logger.logger.debug('The "isVerificationInProgress" flag had not been previously enabled at the time of being disabled. Please ensure to set it to true whenever any kind of verification process is started');
28
- _setIsVerificationInProgress(newValue);
29
+ };
30
+ // eslint-disable-next-line multiline-comment-style
31
+ /** Setter for isVerificationInProgress that also logs a debug message if
32
+ * it is set to false without having been set to true before */
33
+ const setIsVerificationInProgress = (newValue) => {
34
+ // Calls original setter with a callback. This prevents accessing an outdated value of isVerificationInProgress
35
+ _setIsVerificationInProgress((oldValue) => {
36
+ detectRedundantDisable(newValue, oldValue);
37
+ return newValue;
38
+ });
29
39
  };
30
40
  return [isVerificationInProgress, setIsVerificationInProgress];
31
41
  };
@@ -18,10 +18,20 @@ const useVerificationInProgress = () => {
18
18
  // because when modal is closed manually, the flag will be false at the moment of onAuthModalClose.
19
19
  // If it was closed due to a verification process, it will be true.
20
20
  const [isVerificationInProgress, _setIsVerificationInProgress] = useState(false);
21
- const setIsVerificationInProgress = (newValue, checkWasSetOnDisable = true) => {
22
- if (checkWasSetOnDisable && !newValue && !isVerificationInProgress)
21
+ // Detects whether the flag is being set to false when it was already false
22
+ const detectRedundantDisable = (newValue, oldValue) => {
23
+ if (!newValue && !oldValue)
23
24
  logger.debug('The "isVerificationInProgress" flag had not been previously enabled at the time of being disabled. Please ensure to set it to true whenever any kind of verification process is started');
24
- _setIsVerificationInProgress(newValue);
25
+ };
26
+ // eslint-disable-next-line multiline-comment-style
27
+ /** Setter for isVerificationInProgress that also logs a debug message if
28
+ * it is set to false without having been set to true before */
29
+ const setIsVerificationInProgress = (newValue) => {
30
+ // Calls original setter with a callback. This prevents accessing an outdated value of isVerificationInProgress
31
+ _setIsVerificationInProgress((oldValue) => {
32
+ detectRedundantDisable(newValue, oldValue);
33
+ return newValue;
34
+ });
25
35
  };
26
36
  return [isVerificationInProgress, setIsVerificationInProgress];
27
37
  };
@@ -0,0 +1,2 @@
1
+ export { getInternalEvents } from './internalEvents';
2
+ export type { InternalEventEmitter } from './internalEvents';
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var EventEmitter = require('eventemitter3');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter);
10
+
11
+ // This file is temporary and should be removed after QNTM-180 is done
12
+ const getInternalEvents = () => new EventEmitter__default["default"]();
13
+
14
+ exports.getInternalEvents = getInternalEvents;
@@ -0,0 +1,8 @@
1
+ import EventEmitter from 'eventemitter3';
2
+ /** Maps internal event names to their listeners */
3
+ export type InternalEventMap = {
4
+ emailVerificationResult: (param: boolean) => void;
5
+ clearPrimaryWallet: () => void;
6
+ };
7
+ export type InternalEventEmitter = EventEmitter<InternalEventMap>;
8
+ export declare const getInternalEvents: () => InternalEventEmitter;
@@ -0,0 +1,6 @@
1
+ import EventEmitter from 'eventemitter3';
2
+
3
+ // This file is temporary and should be removed after QNTM-180 is done
4
+ const getInternalEvents = () => new EventEmitter();
5
+
6
+ export { getInternalEvents };
@@ -1,4 +1,4 @@
1
- import { Dispatch, ReactNode, SetStateAction } from 'react';
1
+ import { Dispatch, MutableRefObject, ReactNode, SetStateAction } from 'react';
2
2
  import { DynamicJwt, NameServiceData, ProjectSettings } from '@dynamic-labs/sdk-api';
3
3
  import { NetworkConfigurationMap, SocialProviderFilter, WalletUiUtils } from '@dynamic-labs/types';
4
4
  import { Chain, FetchPublicAddressOpts, WalletConnector } from '@dynamic-labs/wallet-connector-core';
@@ -8,6 +8,7 @@ import { MultiWalletWidgetStateSetter } from '../../../utils/hooks/multiWallet';
8
8
  import { ThemeData, ThemeSetting } from '../../ThemeContext';
9
9
  import { DisplayOrder, SetDisplayOrderPriority } from '../hooks';
10
10
  import { Callback } from '../useCustomerCallbacks';
11
+ import { InternalEventEmitter } from '../internalEvents';
11
12
  export type ChainsToConnect = {
12
13
  chain: Chain;
13
14
  numberOfWallets: number;
@@ -29,7 +30,7 @@ export interface IDynamicContext {
29
30
  setBridgeChainToConnect: Dispatch<SetStateAction<Chain | undefined>>;
30
31
  clearStatesOnBackClick: () => void;
31
32
  computeConnectedStateForWallets: () => Promise<void>;
32
- connectWallet: (walletConnector: WalletConnector, fetchPublicAddressOpts?: FetchPublicAddressOpts) => Promise<string | undefined>;
33
+ connectWallet: (walletConnector: WalletConnector, fetchPublicAddressOpts?: FetchPublicAddressOpts, shouldCallCallback?: boolean) => Promise<string | undefined>;
33
34
  connectedWallet: Wallet | null;
34
35
  connectedWallets: Wallet[];
35
36
  linkedWallets: Wallet[];
@@ -126,7 +127,7 @@ export interface IDynamicContext {
126
127
  user: UserProfile | undefined;
127
128
  unlinkConnectedWallet: (walletId: string) => void;
128
129
  walletConnector: WalletConnector | null;
129
- walletUiUtils: WalletUiUtils;
130
+ walletUiUtils: WalletUiUtils<WalletConnector>;
130
131
  wallets: WalletOption[];
131
132
  walletsFilter?: (options: WalletOption[]) => WalletOption[];
132
133
  removeConnectedWalletsInfo: () => void;
@@ -143,4 +144,6 @@ export interface IDynamicContext {
143
144
  legacyIsVerifying: boolean;
144
145
  /** Legacy setter for legacyIsVerifying */
145
146
  setLegacyIsVerifying: Dispatch<SetStateAction<boolean>>;
147
+ /** Temporary workaround, until QNTM-180 is complete */
148
+ internalEvents: MutableRefObject<InternalEventEmitter>;
146
149
  }
@@ -11,7 +11,7 @@ const useDynamicContext = () => {
11
11
  if (context === undefined) {
12
12
  throw new Error('useDynamicContext must be used within a DynamicContextProvider');
13
13
  }
14
- const { accountSwitchState, authMode, authToken, awaitingSignatureState, connectedWallets, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, linkedWallets, loadingNetwork, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, wallets, walletsByChain, walletsToConnectByChain, primaryWallet, setShowBridgeWidget, sendWagmiSettings, } = context;
14
+ const { accountSwitchState, authMode, authToken, awaitingSignatureState, connectedWallets, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, linkedWallets, loadingNetwork, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, wallets, walletsByChain, walletsToConnectByChain, primaryWallet, setShowBridgeWidget, sendWagmiSettings, internalEvents, } = context;
15
15
  return {
16
16
  accountSwitchState,
17
17
  authMode,
@@ -21,6 +21,7 @@ const useDynamicContext = () => {
21
21
  getNameService,
22
22
  handleLogOut,
23
23
  handleUnlinkWallet,
24
+ internalEvents,
24
25
  isAuthenticated,
25
26
  isFullyConnected,
26
27
  isVerificationInProgress,
@@ -1,3 +1,3 @@
1
1
  import { IDynamicContext } from './types';
2
- export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'connectedWallets' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'isFullyConnected' | 'isVerificationInProgress' | 'linkedWallets' | 'loadingNetwork' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'sdkHasLoaded' | 'secondaryWallets' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'wallets' | 'walletsByChain' | 'walletsToConnectByChain' | 'setShowBridgeWidget' | 'sendWagmiSettings'>;
2
+ export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'connectedWallets' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'isFullyConnected' | 'isVerificationInProgress' | 'linkedWallets' | 'loadingNetwork' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'sdkHasLoaded' | 'secondaryWallets' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setNetwork' | 'setPrimaryWallet' | 'setShowAuthFlow' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'wallets' | 'walletsByChain' | 'walletsToConnectByChain' | 'setShowBridgeWidget' | 'sendWagmiSettings' | 'internalEvents'>;
3
3
  export declare const useDynamicContext: () => UseDynamicContext;
@@ -7,7 +7,7 @@ const useDynamicContext = () => {
7
7
  if (context === undefined) {
8
8
  throw new Error('useDynamicContext must be used within a DynamicContextProvider');
9
9
  }
10
- const { accountSwitchState, authMode, authToken, awaitingSignatureState, connectedWallets, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, linkedWallets, loadingNetwork, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, wallets, walletsByChain, walletsToConnectByChain, primaryWallet, setShowBridgeWidget, sendWagmiSettings, } = context;
10
+ const { accountSwitchState, authMode, authToken, awaitingSignatureState, connectedWallets, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, isFullyConnected, isVerificationInProgress, linkedWallets, loadingNetwork, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, secondaryWallets, setLogInWithEmail, setMultiWalletWidgetState, setNetwork, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, wallets, walletsByChain, walletsToConnectByChain, primaryWallet, setShowBridgeWidget, sendWagmiSettings, internalEvents, } = context;
11
11
  return {
12
12
  accountSwitchState,
13
13
  authMode,
@@ -17,6 +17,7 @@ const useDynamicContext = () => {
17
17
  getNameService,
18
18
  handleLogOut,
19
19
  handleUnlinkWallet,
20
+ internalEvents,
20
21
  isAuthenticated,
21
22
  isFullyConnected,
22
23
  isVerificationInProgress,
@@ -1,9 +1,9 @@
1
- import { TransactionReceipt } from 'viem';
1
+ import { Address } from 'viem';
2
2
  export type OpenSendBalanceModalProps = {
3
3
  recipientAddress?: string;
4
4
  value?: bigint;
5
5
  };
6
- export type OpenSendBalanceModal = (props?: OpenSendBalanceModalProps) => Promise<TransactionReceipt>;
6
+ export type OpenSendBalanceModal = (props?: OpenSendBalanceModalProps) => Promise<Address>;
7
7
  export type SendBalanceContextProps = {
8
8
  open: OpenSendBalanceModal;
9
9
  };
@@ -46,7 +46,7 @@ require('../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
46
46
  const SocialRedirectContext = React.createContext(undefined);
47
47
  const SocialRedirectContextProvider = ({ children, }) => {
48
48
  var _a, _b;
49
- const { setShowAuthFlow, wallets, setSelectedWalletConnector, walletUiUtils, consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, setShowDynamicUserProfile, isAuthenticated, setPrimaryWalletId, secondaryWallets, sdkHasLoaded, authToken, } = useInternalDynamicContext.useInternalDynamicContext();
49
+ const { setShowAuthFlow, wallets, setSelectedWalletConnector, walletUiUtils, consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, setShowDynamicUserProfile, isAuthenticated, setPrimaryWalletId, secondaryWallets, sdkHasLoaded, authToken, connectWallet, } = useInternalDynamicContext.useInternalDynamicContext();
50
50
  const { setErrorMessage } = ErrorContext.useErrorContext();
51
51
  const { setView } = ViewContext.useViewContext();
52
52
  const verifyWallet = useVerifyWallet.useVerifyWallet({
@@ -139,6 +139,7 @@ const SocialRedirectContextProvider = ({ children, }) => {
139
139
  }
140
140
  }
141
141
  else {
142
+ yield connectWallet(socialWalletConnector);
142
143
  const address = yield socialWalletConnector.fetchPublicAddress();
143
144
  walletUiUtils.disabledConfirmationOnce();
144
145
  yield verifyWallet({
@@ -42,7 +42,7 @@ import '../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
42
42
  const SocialRedirectContext = createContext(undefined);
43
43
  const SocialRedirectContextProvider = ({ children, }) => {
44
44
  var _a, _b;
45
- const { setShowAuthFlow, wallets, setSelectedWalletConnector, walletUiUtils, consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, setShowDynamicUserProfile, isAuthenticated, setPrimaryWalletId, secondaryWallets, sdkHasLoaded, authToken, } = useInternalDynamicContext();
45
+ const { setShowAuthFlow, wallets, setSelectedWalletConnector, walletUiUtils, consumeNonce, displaySiweStatement, environmentId, projectSettings, setIsSingleWalletAccount, setShowDynamicUserProfile, isAuthenticated, setPrimaryWalletId, secondaryWallets, sdkHasLoaded, authToken, connectWallet, } = useInternalDynamicContext();
46
46
  const { setErrorMessage } = useErrorContext();
47
47
  const { setView } = useViewContext();
48
48
  const verifyWallet = useVerifyWallet({
@@ -135,6 +135,7 @@ const SocialRedirectContextProvider = ({ children, }) => {
135
135
  }
136
136
  }
137
137
  else {
138
+ yield connectWallet(socialWalletConnector);
138
139
  const address = yield socialWalletConnector.fetchPublicAddress();
139
140
  walletUiUtils.disabledConfirmationOnce();
140
141
  yield verifyWallet({
@@ -1,5 +1,5 @@
1
1
  import { SetStateAction, Dispatch, PropsWithChildren, FC } from 'react';
2
- export type ViewType = 'captcha' | 'chainalysis-blocked-wallet' | 'collect-user-data' | 'collect-user-data-login-with-email' | 'login-with-email-or-wallet-full-wallet-list' | 'login-with-email-or-wallet' | 'login-with-email-verification' | 'network-not-supported' | 'network-not-supported-manual' | 'no-access' | 'no-qr-not-installed' | 'pending-connect' | 'pending-signature-without-back-button' | 'pending-signature' | 'qr-code' | 'update-email' | 'verify-email' | 'wallet-connect-mobile-wallets-list' | 'wallet-list' | 'wallet-sign' | 'wallet-used' | 'wallet-group' | 'wait-for-email-confirmation-view' | 'email-wallet-otp-verification-view' | 'social-redirect-view' | 'wallet-locked-view' | 'social-wrong-account' | 'gate-blocked-wallet' | 'bridge-welcome' | 'bridge-summary' | 'bridge-next-wallet-connection' | 'account-exists';
2
+ export type ViewType = 'captcha' | 'chainalysis-blocked-wallet' | 'collect-user-data' | 'collect-user-data-login-with-email' | 'login-with-email-or-wallet-full-wallet-list' | 'login-with-email-or-wallet' | 'login-with-email-verification' | 'network-not-supported' | 'network-not-supported-manual' | 'no-access' | 'no-qr-not-installed' | 'pending-connect' | 'pending-signature-without-back-button' | 'pending-signature' | 'qr-code' | 'update-email' | 'verify-email' | 'wallet-connect-mobile-wallets-list' | 'wallet-list' | 'wallet-sign' | 'wallet-used' | 'wallet-group' | 'wait-for-email-confirmation-view' | 'email-wallet-otp-verification-view' | 'social-redirect-view' | 'wallet-locked-view' | 'social-wrong-account' | 'gate-blocked-wallet' | 'bridge-welcome' | 'bridge-summary' | 'bridge-next-wallet-connection' | 'account-exists' | 'merge-user-accounts';
3
3
  export type ViewContextProps = {
4
4
  setView: Dispatch<SetStateAction<ViewType>>;
5
5
  view: ViewType;