@dynamic-labs/sdk-react-core 2.1.0-alpha.1 → 2.1.0-alpha.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 (210) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -14
  5. package/src/index.cjs +6 -2
  6. package/src/index.d.ts +2 -1
  7. package/src/index.js +3 -1
  8. package/src/lib/Main.cjs +7 -0
  9. package/src/lib/Main.js +7 -0
  10. package/src/lib/components/Alert/Alert.cjs +2 -2
  11. package/src/lib/components/Alert/Alert.js +2 -2
  12. package/src/lib/components/Alert/Alert.types.d.ts +1 -0
  13. package/src/lib/components/EmailForm/EmailForm.cjs +1 -1
  14. package/src/lib/components/EmailForm/EmailForm.js +1 -1
  15. package/src/lib/components/PhoneNumberField/PhoneNumberField.cjs +1 -1
  16. package/src/lib/components/PhoneNumberField/PhoneNumberField.js +1 -1
  17. package/src/lib/components/Portal/Portal.cjs +2 -1
  18. package/src/lib/components/Portal/Portal.js +2 -1
  19. package/src/lib/components/RadioButton/RadioButton.cjs +14 -0
  20. package/src/lib/components/RadioButton/RadioButton.d.ts +5 -0
  21. package/src/lib/components/RadioButton/RadioButton.js +10 -0
  22. package/src/lib/components/RadioButton/index.d.ts +1 -0
  23. package/src/lib/components/Tooltip/Tooltip.cjs +2 -1
  24. package/src/lib/components/Tooltip/Tooltip.js +2 -1
  25. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -1
  26. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.d.ts +2 -1
  27. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -1
  28. package/src/lib/components/index.d.ts +1 -0
  29. package/src/lib/context/DynamicContext/DynamicContext.cjs +23 -7
  30. package/src/lib/context/DynamicContext/DynamicContext.d.ts +5 -0
  31. package/src/lib/context/DynamicContext/DynamicContext.js +20 -4
  32. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +2 -2
  33. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +2 -2
  34. package/src/lib/context/DynamicContext/types/index.d.ts +0 -1
  35. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +5 -2
  36. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +5 -2
  37. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.cjs +2 -1
  38. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.d.ts +1 -1
  39. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.js +2 -1
  40. package/src/lib/context/ErrorBoundary/ErrorBoundary.cjs +64 -0
  41. package/src/lib/context/ErrorBoundary/ErrorBoundary.d.ts +3 -0
  42. package/src/lib/context/ErrorBoundary/ErrorBoundary.js +60 -0
  43. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.cjs +40 -0
  44. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.d.ts +14 -0
  45. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.js +36 -0
  46. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.cjs +24 -0
  47. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.d.ts +5 -0
  48. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.js +18 -0
  49. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.cjs +17 -0
  50. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.d.ts +4 -0
  51. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.js +13 -0
  52. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.cjs +17 -0
  53. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.d.ts +4 -0
  54. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.js +13 -0
  55. package/src/lib/context/ErrorBoundary/index.d.ts +3 -0
  56. package/src/lib/context/ErrorBoundary/types.d.ts +13 -0
  57. package/src/lib/context/ViewContext/ViewContext.cjs +2 -2
  58. package/src/lib/context/ViewContext/ViewContext.js +2 -2
  59. package/src/lib/context/ViewContext/types/index.d.ts +7 -2
  60. package/src/lib/data/api/user/user.cjs +16 -0
  61. package/src/lib/data/api/user/user.js +16 -1
  62. package/src/lib/data/api/wallets/wallets.cjs +26 -6
  63. package/src/lib/data/api/wallets/wallets.d.ts +4 -0
  64. package/src/lib/data/api/wallets/wallets.js +26 -7
  65. package/src/lib/events/dynamicEvents.d.ts +1 -1
  66. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +6 -0
  67. package/src/lib/layout/DynamicAuthLayout/Header/header.js +6 -0
  68. package/src/lib/locale/en/translation.cjs +45 -4
  69. package/src/lib/locale/en/translation.d.ts +44 -3
  70. package/src/lib/locale/en/translation.js +45 -4
  71. package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +2 -1
  72. package/src/lib/shared/utils/classes/storage/localStorage.cjs +2 -2
  73. package/src/lib/shared/utils/classes/storage/localStorage.js +2 -2
  74. package/src/lib/styles/index.shadow.cjs +1 -1
  75. package/src/lib/styles/index.shadow.js +1 -1
  76. package/src/lib/utils/constants/errors.cjs +0 -2
  77. package/src/lib/utils/constants/errors.js +1 -2
  78. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.cjs +14 -0
  79. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.d.ts +3 -0
  80. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.js +10 -0
  81. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/index.d.ts +1 -0
  82. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -2
  83. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -2
  84. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs +3 -4
  85. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.d.ts +1 -1
  86. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js +4 -5
  87. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +12 -9
  88. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +8 -2
  89. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +13 -10
  90. package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
  91. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.cjs +5 -5
  92. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.d.ts +3 -2
  93. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.js +5 -5
  94. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.cjs +7 -2
  95. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.js +7 -2
  96. package/src/lib/utils/functions/index.d.ts +2 -1
  97. package/src/lib/utils/functions/serializeWalletConnectors/index.d.ts +1 -0
  98. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.cjs +32 -0
  99. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.d.ts +2 -0
  100. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.js +28 -0
  101. package/src/lib/utils/hooks/index.d.ts +1 -0
  102. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +22 -17
  103. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +22 -17
  104. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.cjs +2 -1
  105. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.js +2 -1
  106. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +22 -18
  107. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +7 -2
  108. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +22 -18
  109. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +8 -0
  110. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +8 -0
  111. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.cjs +3 -3
  112. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.js +3 -3
  113. package/src/lib/utils/hooks/useElementById/useElementById.cjs +33 -18
  114. package/src/lib/utils/hooks/useElementById/useElementById.d.ts +3 -1
  115. package/src/lib/utils/hooks/useElementById/useElementById.js +33 -18
  116. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +14 -10
  117. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +14 -2
  118. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +14 -10
  119. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +6 -6
  120. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.d.ts +1 -1
  121. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +6 -6
  122. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +8 -8
  123. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.d.ts +2 -2
  124. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +8 -8
  125. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +148 -46
  126. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +21 -8
  127. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +152 -50
  128. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +45 -18
  129. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.d.ts +4 -1
  130. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +45 -18
  131. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +2 -2
  132. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +2 -2
  133. package/src/lib/utils/hooks/useMergeUserAccounts/index.d.ts +1 -0
  134. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +99 -0
  135. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.d.ts +4 -0
  136. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +95 -0
  137. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +2 -1
  138. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +2 -1
  139. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +13 -4
  140. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +10 -2
  141. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +13 -4
  142. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.cjs +6 -13
  143. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.d.ts +1 -3
  144. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.js +6 -12
  145. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +5 -0
  146. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +6 -1
  147. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +25 -2
  148. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +25 -2
  149. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +2 -4
  150. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +2 -1
  151. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +2 -4
  152. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.cjs +3 -3
  153. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.js +3 -3
  154. package/src/lib/views/CollectUserDataView/useFields.cjs +1 -0
  155. package/src/lib/views/CollectUserDataView/useFields.d.ts +2 -0
  156. package/src/lib/views/CollectUserDataView/useFields.js +1 -0
  157. package/src/lib/views/EmailVerification/EmailVerification.cjs +38 -11
  158. package/src/lib/views/EmailVerification/EmailVerification.js +38 -11
  159. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
  160. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
  161. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.cjs +126 -0
  162. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.d.ts +6 -0
  163. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.js +122 -0
  164. package/src/lib/views/MergeUserAccountsConflictsView/index.d.ts +1 -0
  165. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +123 -0
  166. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +4 -0
  167. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +119 -0
  168. package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
  169. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +3 -3
  170. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +3 -3
  171. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -3
  172. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -3
  173. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.cjs +2 -1
  174. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.js +2 -1
  175. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +9 -9
  176. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.d.ts +6 -1
  177. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +9 -9
  178. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +2 -1
  179. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +2 -1
  180. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs → createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs} +18 -19
  181. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.d.ts → createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts} +7 -3
  182. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js → createEmbeddedWalletRequest/createEmbeddedWalletRequest.js} +18 -19
  183. package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/index.d.ts +1 -0
  184. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs +16 -0
  185. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.d.ts +2 -0
  186. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js +12 -0
  187. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/index.d.ts +1 -0
  188. package/src/lib/views/Passkey/utils/index.d.ts +1 -2
  189. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +9 -9
  190. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +9 -9
  191. package/src/lib/views/WalletList/WalletList.cjs +3 -6
  192. package/src/lib/views/WalletList/WalletList.js +3 -6
  193. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -8
  194. package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -8
  195. package/src/lib/views/viewToComponentMap.cjs +4 -0
  196. package/src/lib/views/viewToComponentMap.d.ts +6 -2
  197. package/src/lib/views/viewToComponentMap.js +4 -0
  198. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.cjs +2 -1
  199. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.js +2 -1
  200. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs +1 -1
  201. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js +1 -1
  202. package/src/lib/utils/functions/isEmbeddedWalletPresent/index.d.ts +0 -1
  203. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.cjs +0 -19
  204. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.d.ts +0 -1
  205. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.js +0 -15
  206. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/index.d.ts +0 -1
  207. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +0 -65
  208. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.d.ts +0 -16
  209. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +0 -61
  210. package/src/lib/views/Passkey/utils/createPregeneratedWallet/index.d.ts +0 -1
@@ -8,6 +8,7 @@ var jsxRuntime = require('react/jsx-runtime');
8
8
  var React = require('react');
9
9
  var reactI18next = require('react-i18next');
10
10
  var iconic = require('@dynamic-labs/iconic');
11
+ var logger = require('@dynamic-labs/logger');
11
12
  var utils = require('@dynamic-labs/utils');
12
13
  var walletBook = require('@dynamic-labs/wallet-book');
13
14
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
@@ -15,7 +16,7 @@ var app = require('../../app.cjs');
15
16
  require('../../events/dynamicEvents.cjs');
16
17
  var decodeJwt = require('../../shared/utils/functions/decodeJwt/decodeJwt.cjs');
17
18
  require('@dynamic-labs/sdk-api-core');
18
- var logger = require('../../shared/logger.cjs');
19
+ var logger$1 = require('../../shared/logger.cjs');
19
20
  var ViewContext = require('../ViewContext/ViewContext.cjs');
20
21
  var localStorage$1 = require('../../utils/constants/localStorage.cjs');
21
22
  require('../../utils/constants/colors.cjs');
@@ -110,6 +111,9 @@ var FundingContext = require('../FundingContext/FundingContext.cjs');
110
111
  var PhantomRedirectContext = require('../PhantomRedirectContext/PhantomRedirectContext.cjs');
111
112
  var SendBalanceContext = require('../SendBalanceContext/SendBalanceContext.cjs');
112
113
  var UseNetworkValidation = require('../UseNetworkValidation/UseNetworkValidation.cjs');
114
+ var ErrorBoundary = require('../ErrorBoundary/ErrorBoundary.cjs');
115
+ var ErrorBoundaryExclude = require('../ErrorBoundary/ErrorBoundaryExclude.cjs');
116
+ require('../ErrorBoundary/ErrorBoundaryBase.cjs');
113
117
  var helpers = require('./helpers/helpers.cjs');
114
118
  var useDisplayOrderState = require('./hooks/useDisplayOrderState/useDisplayOrderState.cjs');
115
119
  var useEmailLoginState = require('./hooks/useEmailLoginState/useEmailLoginState.cjs');
@@ -146,10 +150,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
146
150
  if (!environmentId) {
147
151
  throw new utils.MissingEnvironmentIdError();
148
152
  }
149
- logger.logger.setLogLevel(logLevel);
153
+ logger$1.logger.setLogLevel(logLevel);
150
154
  walletConnectorCore.logger.setLogLevel(logLevel);
151
155
  if (environmentId === PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID) {
152
- logger.logger.warn(`WARNING: DYNAMIC is using a test environment ID ${environmentId}. Please sign up on https://app.dynamic.xyz/ to get your production environment ID.`);
156
+ logger$1.logger.warn(`WARNING: DYNAMIC is using a test environment ID ${environmentId}. Please sign up on https://app.dynamic.xyz/ to get your production environment ID.`);
153
157
  }
154
158
  ApiEndpoint.setBaseUrl((_b = process.env.DYNAMIC_API_BASE_URL) !== null && _b !== void 0 ? _b : apiBaseUrl);
155
159
  localStorage.LocalStorage.setSuffix(localStorageSuffix);
@@ -167,6 +171,12 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
167
171
  const [showBridgeWidget, setShowBridgeWidget] = React.useState(false);
168
172
  const [isSingleWalletAccount, setIsSingleWalletAccount] = React.useState(false);
169
173
  const [user, setUser, removeUser] = useLocalStorage.useLocalStorage(localStorage$1.AUTH_USER, EMPTY_INITIAL_USER, validators.validateAuthUser, [localStorage$1.AUTH_TOKEN]);
174
+ if (user) {
175
+ logger$1.logger.setMetaData('user', user);
176
+ }
177
+ else {
178
+ logger$1.logger.setMetaData('user', undefined);
179
+ }
170
180
  const { consumeNonce } = useFetchNonce.useFetchNonce(environmentId);
171
181
  const [qrcodeUri, setQrcodeUri] = React.useState('');
172
182
  const [desktopUri, setDesktopUri] = React.useState('');
@@ -218,7 +228,11 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
218
228
  walletUiUtils,
219
229
  });
220
230
  const [authMode, setAuthMode] = useLocalStorage.useLocalStorage(localStorage$1.AUTH_MODE, initialAuthenticationMode);
221
- const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId.usePrimaryWalletId();
231
+ const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId.usePrimaryWalletId({
232
+ environmentId,
233
+ minAuthToken: getMinAuthToken.getMinAuthToken(),
234
+ setUser,
235
+ });
222
236
  // this is a state because it's set based on primaryWallet and bridgeChainsToConnect,
223
237
  // which are only available further down and have would have circular dependencies
224
238
  const [requiredWalletsConnected, setRequiredWalletsConnected] = React.useState(false);
@@ -334,6 +348,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
334
348
  const { isLoading: loadingNetwork, network } = useWalletConnectorNetwork.useWalletConnectorNetwork(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector);
335
349
  useWalletEventListeners.useWalletEventListeners({
336
350
  authMode,
351
+ disconnectWallet,
337
352
  handleLogOut,
338
353
  multiWallet,
339
354
  multiWalletWidgetState,
@@ -429,7 +444,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
429
444
  customPrivacyPolicy,
430
445
  customTermsOfServices,
431
446
  debugError,
432
- decodedAuthToken: decodeJwt.decodeJwt(getAuthToken.getAuthToken()),
433
447
  decodedOnboardingOnlyToken: decodeJwt.decodeJwt(onboardingOnlyJwt),
434
448
  defaultNumberOfWalletsToShow,
435
449
  desktopUri,
@@ -675,12 +689,14 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
675
689
  isAuthenticated: isAuthenticated || Boolean(primaryWallet),
676
690
  isBridgeFlow,
677
691
  isMultiWalletEnabled: multiWallet,
678
- }), children: [networkValidationMode === 'always' && jsxRuntime.jsx(UseNetworkValidation.UseNetworkValidation, {}), jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, { canSync: didConnectedStateLoad, children: jsxRuntime.jsx(PasskeyContext.PasskeyContextProvider, { children: jsxRuntime.jsx(VerificationContext.VerificationProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsx(WalletGroupContext.WalletGroupContextProvider, { children: jsxRuntime.jsx(UserFieldEditorContext.UserFieldEditorContextProvider, { children: jsxRuntime.jsx(ConnectWithOtpProvider.ConnectWithOtpProvider, { children: jsxRuntime.jsx(PhantomRedirectContext.PhantomRedirectContextProvider, { children: jsxRuntime.jsxs(SocialRedirectContext.SocialRedirectContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), jsxRuntime.jsx(SyncEmbeddedWalletAuthFlow.SyncEmbeddedWalletAuthFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
692
+ }), children: [networkValidationMode === 'always' && jsxRuntime.jsx(UseNetworkValidation.UseNetworkValidation, {}), jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, { canSync: didConnectedStateLoad, children: jsxRuntime.jsx(PasskeyContext.PasskeyContextProvider, { children: jsxRuntime.jsx(VerificationContext.VerificationProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsx(WalletGroupContext.WalletGroupContextProvider, { children: jsxRuntime.jsx(UserFieldEditorContext.UserFieldEditorContextProvider, { children: jsxRuntime.jsx(ConnectWithOtpProvider.ConnectWithOtpProvider, { children: jsxRuntime.jsx(PhantomRedirectContext.PhantomRedirectContextProvider, { children: jsxRuntime.jsxs(SocialRedirectContext.SocialRedirectContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), jsxRuntime.jsx(SyncEmbeddedWalletAuthFlow.SyncEmbeddedWalletAuthFlow, {}), confirmationModal, jsxRuntime.jsx(ErrorBoundaryExclude.ErrorBoundaryExclude, { children: children })] }) }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
679
693
  };
680
694
  /** The context provider you need to have access too all of Dynamic's hooks */
681
695
  const DynamicContextProvider = (props) => {
696
+ logger.Logger.setEnvironmentId(props.settings.environmentId);
697
+ logger.Logger.setEmitErrors(props.emitErrors);
682
698
  useParentDynamicContextGuard.useParentDynamicContextGuard();
683
- return (jsxRuntime.jsx(ErrorContext.ErrorContextProvider, { children: jsxRuntime.jsx(UserWalletsContext.UserWalletsProvider, { children: jsxRuntime.jsx(FieldsStateContext.FieldsStateProvider, { children: jsxRuntime.jsx(InnerDynamicContextProvider, Object.assign({}, props)) }) }) }));
699
+ return (jsxRuntime.jsx(ErrorBoundary.ErrorBoundary, { children: jsxRuntime.jsx(ErrorContext.ErrorContextProvider, { children: jsxRuntime.jsx(UserWalletsContext.UserWalletsProvider, { children: jsxRuntime.jsx(FieldsStateContext.FieldsStateProvider, { children: jsxRuntime.jsx(InnerDynamicContextProvider, Object.assign({}, props)) }) }) }) }));
684
700
  };
685
701
 
686
702
  exports.DynamicContext = DynamicContext;
@@ -82,6 +82,11 @@ export interface DynamicContextProps {
82
82
  walletsFilter?: (options: WalletOption[]) => WalletOption[];
83
83
  };
84
84
  theme?: ThemeData | ThemeSetting;
85
+ /**
86
+ * Emit errors to Dynamic API for debugging purposes
87
+ * @default true
88
+ */
89
+ emitErrors?: boolean;
85
90
  }
86
91
  export declare const DynamicContext: import("react").Context<IDynamicContext | undefined>;
87
92
  /** The context provider itself we only use internally */
@@ -4,6 +4,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
4
4
  import { createContext, useState, useRef, useMemo, useEffect, useCallback } from 'react';
5
5
  import { I18nextProvider } from 'react-i18next';
6
6
  import { getIconicSpriteUrl } from '@dynamic-labs/iconic';
7
+ import { Logger } from '@dynamic-labs/logger';
7
8
  import { MissingEnvironmentIdError } from '@dynamic-labs/utils';
8
9
  import { useWalletBookCdn, getWalletBookCdnUrl, WalletBookContextProvider } from '@dynamic-labs/wallet-book';
9
10
  import { logger as logger$1 } from '@dynamic-labs/wallet-connector-core';
@@ -106,6 +107,9 @@ import { FundingContextProvider } from '../FundingContext/FundingContext.js';
106
107
  import { PhantomRedirectContextProvider } from '../PhantomRedirectContext/PhantomRedirectContext.js';
107
108
  import { SendBalanceContextProvider } from '../SendBalanceContext/SendBalanceContext.js';
108
109
  import { UseNetworkValidation } from '../UseNetworkValidation/UseNetworkValidation.js';
110
+ import { ErrorBoundary } from '../ErrorBoundary/ErrorBoundary.js';
111
+ import { ErrorBoundaryExclude } from '../ErrorBoundary/ErrorBoundaryExclude.js';
112
+ import '../ErrorBoundary/ErrorBoundaryBase.js';
109
113
  import { resolveNetworkValidationMode, initExpirationTime, getInitialView, getDeepLinkPreference } from './helpers/helpers.js';
110
114
  import { useDisplayOrderState } from './hooks/useDisplayOrderState/useDisplayOrderState.js';
111
115
  import { useEmailLoginState } from './hooks/useEmailLoginState/useEmailLoginState.js';
@@ -163,6 +167,12 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
163
167
  const [showBridgeWidget, setShowBridgeWidget] = useState(false);
164
168
  const [isSingleWalletAccount, setIsSingleWalletAccount] = useState(false);
165
169
  const [user, setUser, removeUser] = useLocalStorage(AUTH_USER, EMPTY_INITIAL_USER, validateAuthUser, [AUTH_TOKEN]);
170
+ if (user) {
171
+ logger.setMetaData('user', user);
172
+ }
173
+ else {
174
+ logger.setMetaData('user', undefined);
175
+ }
166
176
  const { consumeNonce } = useFetchNonce(environmentId);
167
177
  const [qrcodeUri, setQrcodeUri] = useState('');
168
178
  const [desktopUri, setDesktopUri] = useState('');
@@ -214,7 +224,11 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
214
224
  walletUiUtils,
215
225
  });
216
226
  const [authMode, setAuthMode] = useLocalStorage(AUTH_MODE, initialAuthenticationMode);
217
- const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId();
227
+ const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId({
228
+ environmentId,
229
+ minAuthToken: getMinAuthToken(),
230
+ setUser,
231
+ });
218
232
  // this is a state because it's set based on primaryWallet and bridgeChainsToConnect,
219
233
  // which are only available further down and have would have circular dependencies
220
234
  const [requiredWalletsConnected, setRequiredWalletsConnected] = useState(false);
@@ -330,6 +344,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
330
344
  const { isLoading: loadingNetwork, network } = useWalletConnectorNetwork(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector);
331
345
  useWalletEventListeners({
332
346
  authMode,
347
+ disconnectWallet,
333
348
  handleLogOut,
334
349
  multiWallet,
335
350
  multiWalletWidgetState,
@@ -425,7 +440,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
425
440
  customPrivacyPolicy,
426
441
  customTermsOfServices,
427
442
  debugError,
428
- decodedAuthToken: decodeJwt(getAuthToken()),
429
443
  decodedOnboardingOnlyToken: decodeJwt(onboardingOnlyJwt),
430
444
  defaultNumberOfWalletsToShow,
431
445
  desktopUri,
@@ -671,12 +685,14 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
671
685
  isAuthenticated: isAuthenticated || Boolean(primaryWallet),
672
686
  isBridgeFlow,
673
687
  isMultiWalletEnabled: multiWallet,
674
- }), children: [networkValidationMode === 'always' && jsx(UseNetworkValidation, {}), jsx(CaptchaContextProvider, { children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { canSync: didConnectedStateLoad, children: jsx(PasskeyContextProvider, { children: jsx(VerificationProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsx(WalletGroupContextProvider, { children: jsx(UserFieldEditorContextProvider, { children: jsx(ConnectWithOtpProvider, { children: jsx(PhantomRedirectContextProvider, { children: jsxs(SocialRedirectContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), jsx(SyncEmbeddedWalletAuthFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
688
+ }), children: [networkValidationMode === 'always' && jsx(UseNetworkValidation, {}), jsx(CaptchaContextProvider, { children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { canSync: didConnectedStateLoad, children: jsx(PasskeyContextProvider, { children: jsx(VerificationProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsx(WalletGroupContextProvider, { children: jsx(UserFieldEditorContextProvider, { children: jsx(ConnectWithOtpProvider, { children: jsx(PhantomRedirectContextProvider, { children: jsxs(SocialRedirectContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), jsx(SyncEmbeddedWalletAuthFlow, {}), confirmationModal, jsx(ErrorBoundaryExclude, { children: children })] }) }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
675
689
  };
676
690
  /** The context provider you need to have access too all of Dynamic's hooks */
677
691
  const DynamicContextProvider = (props) => {
692
+ Logger.setEnvironmentId(props.settings.environmentId);
693
+ Logger.setEmitErrors(props.emitErrors);
678
694
  useParentDynamicContextGuard();
679
- return (jsx(ErrorContextProvider, { children: jsx(UserWalletsProvider, { children: jsx(FieldsStateProvider, { children: jsx(InnerDynamicContextProvider, Object.assign({}, props)) }) }) }));
695
+ return (jsx(ErrorBoundary, { children: jsx(ErrorContextProvider, { children: jsx(UserWalletsProvider, { children: jsx(FieldsStateProvider, { children: jsx(InnerDynamicContextProvider, Object.assign({}, props)) }) }) }) }));
680
696
  };
681
697
 
682
698
  export { DynamicContext, DynamicContextProvider, InnerDynamicContextProvider, PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID };
@@ -108,9 +108,9 @@ const useTieCallbacksToEvents = ({ clientCallbacks, user, setHasLoggedOut, }) =>
108
108
  var _a;
109
109
  (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onWalletRemoved) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, { userWallets, wallet });
110
110
  });
111
- useDynamicEvents.useInternalDynamicEvents('embeddedWalletCreated', (_wallet, jwtVerifiedCredential) => {
111
+ useDynamicEvents.useInternalDynamicEvents('embeddedWalletCreated', (_wallet, jwtVerifiedCredential, authToken) => {
112
112
  var _a;
113
- (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onEmbeddedWalletCreated) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, jwtVerifiedCredential);
113
+ (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onEmbeddedWalletCreated) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, jwtVerifiedCredential, authToken);
114
114
  });
115
115
  useDynamicEvents.useInternalDynamicEvents('logout', () => {
116
116
  var _a;
@@ -104,9 +104,9 @@ const useTieCallbacksToEvents = ({ clientCallbacks, user, setHasLoggedOut, }) =>
104
104
  var _a;
105
105
  (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onWalletRemoved) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, { userWallets, wallet });
106
106
  });
107
- useInternalDynamicEvents('embeddedWalletCreated', (_wallet, jwtVerifiedCredential) => {
107
+ useInternalDynamicEvents('embeddedWalletCreated', (_wallet, jwtVerifiedCredential, authToken) => {
108
108
  var _a;
109
- (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onEmbeddedWalletCreated) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, jwtVerifiedCredential);
109
+ (_a = clientCallbacks === null || clientCallbacks === void 0 ? void 0 : clientCallbacks.onEmbeddedWalletCreated) === null || _a === void 0 ? void 0 : _a.call(clientCallbacks, jwtVerifiedCredential, authToken);
110
110
  });
111
111
  useInternalDynamicEvents('logout', () => {
112
112
  var _a;
@@ -78,7 +78,6 @@ export interface IDynamicContext {
78
78
  customPrivacyPolicy?: ReactNode;
79
79
  customTermsOfServices?: ReactNode;
80
80
  debugError: boolean;
81
- decodedAuthToken: Omit<DynamicJwt, 'jwt'> | undefined;
82
81
  decodedOnboardingOnlyToken: Omit<DynamicJwt, 'jwt'> | undefined;
83
82
  defaultNumberOfWalletsToShow: number;
84
83
  desktopUri: string;
@@ -19,6 +19,7 @@ require('../../../shared/consts/index.cjs');
19
19
  require('../../../../../_virtual/_tslib.cjs');
20
20
  require('@dynamic-labs/multi-wallet');
21
21
  var getAuthToken = require('../../../utils/functions/getAuthToken/getAuthToken.cjs');
22
+ var getMinAuthToken = require('../../../utils/functions/getMinAuthToken/getMinAuthToken.cjs');
22
23
  require('react-international-phone');
23
24
  require('viem');
24
25
  require('viem/chains');
@@ -27,7 +28,7 @@ require('../../../locale/locale.cjs');
27
28
 
28
29
  const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onUserProfileUpdate }, handleLogOut, primaryWallet, user, isAuthenticated, setHasLoggedOut, }) => {
29
30
  const [callbackQueue, setCallbackQueue] = React.useState([]);
30
- const handleNextCallback = React.useCallback((next, authToken, user) => {
31
+ const handleNextCallback = React.useCallback((next, authToken, user, minAuthToken) => {
31
32
  switch (next === null || next === void 0 ? void 0 : next.callback) {
32
33
  case 'authSuccess': {
33
34
  try {
@@ -35,6 +36,7 @@ const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onUserProfileUpdate
35
36
  authToken,
36
37
  handleLogOut,
37
38
  isAuthenticated,
39
+ minAuthToken,
38
40
  primaryWallet,
39
41
  user,
40
42
  });
@@ -67,6 +69,7 @@ const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onUserProfileUpdate
67
69
  if (!callbackQueue.length || !user)
68
70
  return;
69
71
  const authToken = getAuthToken.getAuthToken();
72
+ const minAuthToken = getMinAuthToken.getMinAuthToken();
70
73
  // checks if user logged in with a wallet, so we need to wait
71
74
  // for the primary wallet state to be set
72
75
  // if user logged in with email without embedded wallet, then
@@ -74,7 +77,7 @@ const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onUserProfileUpdate
74
77
  if (!authToken || (user.isAuthenticatedWithAWallet && !primaryWallet)) {
75
78
  return;
76
79
  }
77
- handleNextCallback(callbackQueue[0], authToken, user);
80
+ handleNextCallback(callbackQueue[0], authToken, user, minAuthToken);
78
81
  setCallbackQueue((prev) => {
79
82
  const [resolvedCallback, ...updatedQueue] = prev;
80
83
  if (resolvedCallback) {
@@ -15,6 +15,7 @@ import '../../../shared/consts/index.js';
15
15
  import '../../../../../_virtual/_tslib.js';
16
16
  import '@dynamic-labs/multi-wallet';
17
17
  import { getAuthToken } from '../../../utils/functions/getAuthToken/getAuthToken.js';
18
+ import { getMinAuthToken } from '../../../utils/functions/getMinAuthToken/getMinAuthToken.js';
18
19
  import 'react-international-phone';
19
20
  import 'viem';
20
21
  import 'viem/chains';
@@ -23,7 +24,7 @@ import '../../../locale/locale.js';
23
24
 
24
25
  const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onUserProfileUpdate }, handleLogOut, primaryWallet, user, isAuthenticated, setHasLoggedOut, }) => {
25
26
  const [callbackQueue, setCallbackQueue] = useState([]);
26
- const handleNextCallback = useCallback((next, authToken, user) => {
27
+ const handleNextCallback = useCallback((next, authToken, user, minAuthToken) => {
27
28
  switch (next === null || next === void 0 ? void 0 : next.callback) {
28
29
  case 'authSuccess': {
29
30
  try {
@@ -31,6 +32,7 @@ const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onUserProfileUpdate
31
32
  authToken,
32
33
  handleLogOut,
33
34
  isAuthenticated,
35
+ minAuthToken,
34
36
  primaryWallet,
35
37
  user,
36
38
  });
@@ -63,6 +65,7 @@ const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onUserProfileUpdate
63
65
  if (!callbackQueue.length || !user)
64
66
  return;
65
67
  const authToken = getAuthToken();
68
+ const minAuthToken = getMinAuthToken();
66
69
  // checks if user logged in with a wallet, so we need to wait
67
70
  // for the primary wallet state to be set
68
71
  // if user logged in with email without embedded wallet, then
@@ -70,7 +73,7 @@ const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onUserProfileUpdate
70
73
  if (!authToken || (user.isAuthenticatedWithAWallet && !primaryWallet)) {
71
74
  return;
72
75
  }
73
- handleNextCallback(callbackQueue[0], authToken, user);
76
+ handleNextCallback(callbackQueue[0], authToken, user, minAuthToken);
74
77
  setCallbackQueue((prev) => {
75
78
  const [resolvedCallback, ...updatedQueue] = prev;
76
79
  if (resolvedCallback) {
@@ -13,7 +13,7 @@ const useDynamicContext = () => {
13
13
  if (context === undefined) {
14
14
  throw new Error('useDynamicContext must be used within a DynamicContextProvider');
15
15
  }
16
- const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, showDynamicUserProfile, } = context;
16
+ const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, showDynamicUserProfile, minAuthToken, } = context;
17
17
  const { setAuthMode } = useOverrides.useOverrides(context);
18
18
  return {
19
19
  accountSwitchState,
@@ -29,6 +29,7 @@ const useDynamicContext = () => {
29
29
  loadingNetwork,
30
30
  locale,
31
31
  loginWithEmail,
32
+ minAuthToken,
32
33
  multiWalletWidgetState,
33
34
  network,
34
35
  networkConfigurations,
@@ -1,6 +1,6 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
2
  import { IDynamicContext } from '../types';
3
- export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'loadingNetwork' | 'locale' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'sdkHasLoaded' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setPrimaryWallet' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'walletConnectorOptions' | 'bridgeChains' | 'bridgeChainsToConnect' | 'setShowBridgeWidget' | 'sendWagmiSettings' | 'showDynamicUserProfile' | 'setAuthMode'> & {
3
+ export type UseDynamicContext = Pick<IDynamicContext, 'accountSwitchState' | 'authMode' | 'authToken' | 'awaitingSignatureState' | 'getNameService' | 'handleLogOut' | 'handleUnlinkWallet' | 'isAuthenticated' | 'loadingNetwork' | 'locale' | 'loginWithEmail' | 'multiWalletWidgetState' | 'network' | 'networkConfigurations' | 'primaryWallet' | 'qrcodeUri' | 'rpcProviders' | 'sdkHasLoaded' | 'setLogInWithEmail' | 'setMultiWalletWidgetState' | 'setPrimaryWallet' | 'setShowDynamicUserProfile' | 'setShowQrcodeModal' | 'shadowDOMEnabled' | 'showAuthFlow' | 'showQrcodeModal' | 'user' | 'walletConnector' | 'walletConnectorOptions' | 'bridgeChains' | 'bridgeChainsToConnect' | 'setShowBridgeWidget' | 'sendWagmiSettings' | 'showDynamicUserProfile' | 'setAuthMode' | 'minAuthToken'> & {
4
4
  setShowAuthFlow: Dispatch<SetStateAction<boolean>>;
5
5
  };
6
6
  export declare const useDynamicContext: () => UseDynamicContext;
@@ -9,7 +9,7 @@ const useDynamicContext = () => {
9
9
  if (context === undefined) {
10
10
  throw new Error('useDynamicContext must be used within a DynamicContextProvider');
11
11
  }
12
- const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, showDynamicUserProfile, } = context;
12
+ const { accountSwitchState, authMode, authToken, awaitingSignatureState, getNameService, handleLogOut, handleUnlinkWallet, isAuthenticated, loadingNetwork, locale, loginWithEmail, multiWalletWidgetState, network, networkConfigurations, qrcodeUri, rpcProviders, sdkHasLoaded, setLogInWithEmail, setMultiWalletWidgetState, setPrimaryWallet, setShowAuthFlow, setShowDynamicUserProfile, setShowQrcodeModal, shadowDOMEnabled, showAuthFlow, showQrcodeModal, user, walletConnector, walletConnectorOptions, bridgeChains, bridgeChainsToConnect, primaryWallet, setShowBridgeWidget, sendWagmiSettings, showDynamicUserProfile, minAuthToken, } = context;
13
13
  const { setAuthMode } = useOverrides(context);
14
14
  return {
15
15
  accountSwitchState,
@@ -25,6 +25,7 @@ const useDynamicContext = () => {
25
25
  loadingNetwork,
26
26
  locale,
27
27
  loginWithEmail,
28
+ minAuthToken,
28
29
  multiWalletWidgetState,
29
30
  network,
30
31
  networkConfigurations,
@@ -0,0 +1,64 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../_virtual/_tslib.cjs');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ require('@dynamic-labs/sdk-api-core');
9
+ var logger = require('../../shared/logger.cjs');
10
+ require('@dynamic-labs/iconic');
11
+ require('@dynamic-labs/wallet-connector-core');
12
+ require('../ViewContext/ViewContext.cjs');
13
+ require('react');
14
+ require('@dynamic-labs/wallet-book');
15
+ require('../../utils/constants/colors.cjs');
16
+ require('../../utils/constants/values.cjs');
17
+ require('../../shared/utils/classes/storage/localStorage.cjs');
18
+ require('@dynamic-labs/utils');
19
+ require('../../shared/consts/index.cjs');
20
+ var ErrorBoundaryBase = require('./ErrorBoundaryBase.cjs');
21
+ var ErrorBoundaryContext = require('./ErrorBoundaryContext.cjs');
22
+
23
+ class ErrorBoundaryReporter extends ErrorBoundaryBase.ErrorBoundaryBase {
24
+ constructor(props) {
25
+ super(props);
26
+ this.state = { error: null, hasError: false };
27
+ }
28
+ componentDidCatch(error, info) {
29
+ var _a;
30
+ const { onError } = this.props;
31
+ if ((_a = this.context) === null || _a === void 0 ? void 0 : _a.isDynamicSdkError) {
32
+ onError === null || onError === void 0 ? void 0 : onError(error, info);
33
+ logger.logger.error(error, {
34
+ error: {
35
+ bundleStack: error.stack,
36
+ message: error,
37
+ stack: info.componentStack,
38
+ },
39
+ });
40
+ }
41
+ throw error;
42
+ }
43
+ render() {
44
+ const { children } = this.props;
45
+ const { hasError, error } = this.state;
46
+ if (hasError) {
47
+ ErrorBoundaryContext.assertErrorBoundaryContext(this.context);
48
+ this.context.error = error;
49
+ this.context.hasError = hasError;
50
+ return null;
51
+ }
52
+ return children;
53
+ }
54
+ }
55
+ const ErrorBoundary = (_a) => {
56
+ var { children } = _a, props = _tslib.__rest(_a, ["children"]);
57
+ return (jsxRuntime.jsx(ErrorBoundaryContext.ErrorBoundaryContext.Provider, { value: {
58
+ error: null,
59
+ hasError: false,
60
+ isDynamicSdkError: true,
61
+ }, children: jsxRuntime.jsx(ErrorBoundaryReporter, Object.assign({}, props, { children: children })) }));
62
+ };
63
+
64
+ exports.ErrorBoundary = ErrorBoundary;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { ErrorBoundaryProps } from './types';
3
+ export declare const ErrorBoundary: FC<ErrorBoundaryProps>;
@@ -0,0 +1,60 @@
1
+ 'use client'
2
+ import { __rest } from '../../../../_virtual/_tslib.js';
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import '@dynamic-labs/sdk-api-core';
5
+ import { logger } from '../../shared/logger.js';
6
+ import '@dynamic-labs/iconic';
7
+ import '@dynamic-labs/wallet-connector-core';
8
+ import '../ViewContext/ViewContext.js';
9
+ import 'react';
10
+ import '@dynamic-labs/wallet-book';
11
+ import '../../utils/constants/colors.js';
12
+ import '../../utils/constants/values.js';
13
+ import '../../shared/utils/classes/storage/localStorage.js';
14
+ import '@dynamic-labs/utils';
15
+ import '../../shared/consts/index.js';
16
+ import { ErrorBoundaryBase } from './ErrorBoundaryBase.js';
17
+ import { ErrorBoundaryContext, assertErrorBoundaryContext } from './ErrorBoundaryContext.js';
18
+
19
+ class ErrorBoundaryReporter extends ErrorBoundaryBase {
20
+ constructor(props) {
21
+ super(props);
22
+ this.state = { error: null, hasError: false };
23
+ }
24
+ componentDidCatch(error, info) {
25
+ var _a;
26
+ const { onError } = this.props;
27
+ if ((_a = this.context) === null || _a === void 0 ? void 0 : _a.isDynamicSdkError) {
28
+ onError === null || onError === void 0 ? void 0 : onError(error, info);
29
+ logger.error(error, {
30
+ error: {
31
+ bundleStack: error.stack,
32
+ message: error,
33
+ stack: info.componentStack,
34
+ },
35
+ });
36
+ }
37
+ throw error;
38
+ }
39
+ render() {
40
+ const { children } = this.props;
41
+ const { hasError, error } = this.state;
42
+ if (hasError) {
43
+ assertErrorBoundaryContext(this.context);
44
+ this.context.error = error;
45
+ this.context.hasError = hasError;
46
+ return null;
47
+ }
48
+ return children;
49
+ }
50
+ }
51
+ const ErrorBoundary = (_a) => {
52
+ var { children } = _a, props = __rest(_a, ["children"]);
53
+ return (jsx(ErrorBoundaryContext.Provider, { value: {
54
+ error: null,
55
+ hasError: false,
56
+ isDynamicSdkError: true,
57
+ }, children: jsx(ErrorBoundaryReporter, Object.assign({}, props, { children: children })) }));
58
+ };
59
+
60
+ export { ErrorBoundary };
@@ -0,0 +1,40 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var React = require('react');
7
+ require('@dynamic-labs/sdk-api-core');
8
+ var logger = require('../../shared/logger.cjs');
9
+ require('@dynamic-labs/iconic');
10
+ require('@dynamic-labs/wallet-connector-core');
11
+ require('react/jsx-runtime');
12
+ require('../ViewContext/ViewContext.cjs');
13
+ require('@dynamic-labs/wallet-book');
14
+ require('../../utils/constants/colors.cjs');
15
+ require('../../utils/constants/values.cjs');
16
+ require('../../shared/utils/classes/storage/localStorage.cjs');
17
+ require('@dynamic-labs/utils');
18
+ require('../../shared/consts/index.cjs');
19
+ var ErrorContainer = require('../../components/ErrorContainer/ErrorContainer.cjs');
20
+ var ErrorBoundaryContext = require('./ErrorBoundaryContext.cjs');
21
+
22
+ class ErrorBoundaryBase extends React.Component {
23
+ static getDerivedStateFromError(error) {
24
+ return { error, hasError: true };
25
+ }
26
+ renderOrError(children, { isDynamicSdkError }) {
27
+ try {
28
+ ErrorBoundaryContext.assertErrorBoundaryContext(this.context);
29
+ this.context.isDynamicSdkError = isDynamicSdkError;
30
+ }
31
+ catch (e) {
32
+ logger.logger.error(e);
33
+ return React.createElement(ErrorContainer.ErrorContainer, null, 'ErrorBoundary must be used within ErrorBoundaryContext');
34
+ }
35
+ return children;
36
+ }
37
+ }
38
+ ErrorBoundaryBase.contextType = ErrorBoundaryContext.ErrorBoundaryContext;
39
+
40
+ exports.ErrorBoundaryBase = ErrorBoundaryBase;
@@ -0,0 +1,14 @@
1
+ import { Component, PropsWithChildren } from 'react';
2
+ import { ErrorBoundaryState } from './types';
3
+ import { ErrorBoundaryContext } from './ErrorBoundaryContext';
4
+ export declare abstract class ErrorBoundaryBase extends Component<PropsWithChildren<any>, ErrorBoundaryState> {
5
+ static contextType: import("react").Context<import("./types").ErrorBoundaryContextType | null>;
6
+ context: React.ContextType<typeof ErrorBoundaryContext>;
7
+ static getDerivedStateFromError(error: Error): {
8
+ error: Error;
9
+ hasError: boolean;
10
+ };
11
+ renderOrError<T>(children: T, { isDynamicSdkError }: {
12
+ isDynamicSdkError: boolean;
13
+ }): T | JSX.Element;
14
+ }
@@ -0,0 +1,36 @@
1
+ 'use client'
2
+ import { Component, createElement } from 'react';
3
+ import '@dynamic-labs/sdk-api-core';
4
+ import { logger } from '../../shared/logger.js';
5
+ import '@dynamic-labs/iconic';
6
+ import '@dynamic-labs/wallet-connector-core';
7
+ import 'react/jsx-runtime';
8
+ import '../ViewContext/ViewContext.js';
9
+ import '@dynamic-labs/wallet-book';
10
+ import '../../utils/constants/colors.js';
11
+ import '../../utils/constants/values.js';
12
+ import '../../shared/utils/classes/storage/localStorage.js';
13
+ import '@dynamic-labs/utils';
14
+ import '../../shared/consts/index.js';
15
+ import { ErrorContainer } from '../../components/ErrorContainer/ErrorContainer.js';
16
+ import { ErrorBoundaryContext, assertErrorBoundaryContext } from './ErrorBoundaryContext.js';
17
+
18
+ class ErrorBoundaryBase extends Component {
19
+ static getDerivedStateFromError(error) {
20
+ return { error, hasError: true };
21
+ }
22
+ renderOrError(children, { isDynamicSdkError }) {
23
+ try {
24
+ assertErrorBoundaryContext(this.context);
25
+ this.context.isDynamicSdkError = isDynamicSdkError;
26
+ }
27
+ catch (e) {
28
+ logger.error(e);
29
+ return createElement(ErrorContainer, null, 'ErrorBoundary must be used within ErrorBoundaryContext');
30
+ }
31
+ return children;
32
+ }
33
+ }
34
+ ErrorBoundaryBase.contextType = ErrorBoundaryContext;
35
+
36
+ export { ErrorBoundaryBase };
@@ -0,0 +1,24 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var React = require('react');
7
+
8
+ /* eslint-disable prefer-arrow/prefer-arrow-functions */
9
+ const ERROR_BOUNDARY_CONTEXT_NOT_FOUND = 'ERROR_BOUNDARY_CONTEXT_NOT_FOUND';
10
+ const ErrorBoundaryContext = React.createContext(null);
11
+ function assertErrorBoundaryContext(value) {
12
+ if (value === null ||
13
+ typeof value.hasError !== 'boolean' ||
14
+ typeof value.error !== 'object' ||
15
+ typeof value.isDynamicSdkError !== 'boolean') {
16
+ const error = new Error('ErrorBoundaryContext not found');
17
+ error.cause = ERROR_BOUNDARY_CONTEXT_NOT_FOUND;
18
+ throw error;
19
+ }
20
+ }
21
+
22
+ exports.ERROR_BOUNDARY_CONTEXT_NOT_FOUND = ERROR_BOUNDARY_CONTEXT_NOT_FOUND;
23
+ exports.ErrorBoundaryContext = ErrorBoundaryContext;
24
+ exports.assertErrorBoundaryContext = assertErrorBoundaryContext;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { ErrorBoundaryContextType } from './types';
3
+ export declare const ERROR_BOUNDARY_CONTEXT_NOT_FOUND = "ERROR_BOUNDARY_CONTEXT_NOT_FOUND";
4
+ export declare const ErrorBoundaryContext: import("react").Context<ErrorBoundaryContextType | null>;
5
+ export declare function assertErrorBoundaryContext(value: any): asserts value is ErrorBoundaryContextType;
@@ -0,0 +1,18 @@
1
+ 'use client'
2
+ import { createContext } from 'react';
3
+
4
+ /* eslint-disable prefer-arrow/prefer-arrow-functions */
5
+ const ERROR_BOUNDARY_CONTEXT_NOT_FOUND = 'ERROR_BOUNDARY_CONTEXT_NOT_FOUND';
6
+ const ErrorBoundaryContext = createContext(null);
7
+ function assertErrorBoundaryContext(value) {
8
+ if (value === null ||
9
+ typeof value.hasError !== 'boolean' ||
10
+ typeof value.error !== 'object' ||
11
+ typeof value.isDynamicSdkError !== 'boolean') {
12
+ const error = new Error('ErrorBoundaryContext not found');
13
+ error.cause = ERROR_BOUNDARY_CONTEXT_NOT_FOUND;
14
+ throw error;
15
+ }
16
+ }
17
+
18
+ export { ERROR_BOUNDARY_CONTEXT_NOT_FOUND, ErrorBoundaryContext, assertErrorBoundaryContext };