@dynamic-labs/sdk-react-core 4.91.3 → 4.91.4

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 (130) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +12 -12
  5. package/src/lib/client/client.cjs +1 -1
  6. package/src/lib/client/client.js +1 -1
  7. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +4 -1
  8. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +4 -1
  9. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +3 -0
  10. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +3 -0
  11. package/src/lib/context/DynamicContext/hooks/useRemoveWallet/useRemoveWallet.cjs +1 -1
  12. package/src/lib/context/DynamicContext/hooks/useRemoveWallet/useRemoveWallet.js +1 -1
  13. package/src/lib/context/DynamicContext/types/SettingsOverrides.d.ts +13 -1
  14. package/src/lib/context/OnrampContext/OnrampContext.cjs +1 -1
  15. package/src/lib/context/OnrampContext/OnrampContext.js +1 -1
  16. package/src/lib/context/SendBalanceContext/SendBalanceContext.errors.cjs +2 -2
  17. package/src/lib/context/SendBalanceContext/SendBalanceContext.errors.js +2 -2
  18. package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.cjs +3 -3
  19. package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.js +3 -3
  20. package/src/lib/data/api/email/email.cjs +6 -3
  21. package/src/lib/data/api/email/email.js +6 -3
  22. package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +5 -5
  23. package/src/lib/data/api/embeddedWallets/embeddedWallets.js +5 -5
  24. package/src/lib/data/api/exchangeAccounts/exchangeAccounts.cjs +3 -3
  25. package/src/lib/data/api/exchangeAccounts/exchangeAccounts.js +3 -3
  26. package/src/lib/data/api/oauth/oauth.cjs +3 -2
  27. package/src/lib/data/api/oauth/oauth.js +3 -2
  28. package/src/lib/data/api/session/session.cjs +3 -3
  29. package/src/lib/data/api/session/session.js +3 -3
  30. package/src/lib/data/api/sms/sms.cjs +4 -1
  31. package/src/lib/data/api/sms/sms.js +4 -1
  32. package/src/lib/data/api/user/user.cjs +4 -4
  33. package/src/lib/data/api/user/user.js +4 -4
  34. package/src/lib/data/api/wallets/wallets.cjs +15 -13
  35. package/src/lib/data/api/wallets/wallets.js +15 -13
  36. package/src/lib/store/state/nonce/nonce.cjs +1 -1
  37. package/src/lib/store/state/nonce/nonce.js +1 -1
  38. package/src/lib/utils/functions/generateMessages/index.cjs +3 -3
  39. package/src/lib/utils/functions/generateMessages/index.js +3 -3
  40. package/src/lib/utils/functions/getEmbeddedWalletAuthHandler/getEmbeddedWalletAuthHandler.cjs +1 -1
  41. package/src/lib/utils/functions/getEmbeddedWalletAuthHandler/getEmbeddedWalletAuthHandler.js +1 -1
  42. package/src/lib/utils/functions/getTransactionLink/blockExplorerPatterns.cjs +30 -0
  43. package/src/lib/utils/functions/getTransactionLink/blockExplorerPatterns.d.ts +17 -0
  44. package/src/lib/utils/functions/getTransactionLink/blockExplorerPatterns.js +29 -1
  45. package/src/lib/utils/functions/getTransactionLink/getTransactionLink.cjs +13 -1
  46. package/src/lib/utils/functions/getTransactionLink/getTransactionLink.d.ts +2 -1
  47. package/src/lib/utils/functions/getTransactionLink/getTransactionLink.js +14 -2
  48. package/src/lib/utils/hooks/authenticationHooks/useOtpVerificationRequest/useOtpVerificationRequest.cjs +2 -2
  49. package/src/lib/utils/hooks/authenticationHooks/useOtpVerificationRequest/useOtpVerificationRequest.js +2 -2
  50. package/src/lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.cjs +2 -2
  51. package/src/lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.js +2 -2
  52. package/src/lib/utils/hooks/useConfirmationPortal/useConfirmationPortal.cjs +1 -1
  53. package/src/lib/utils/hooks/useConfirmationPortal/useConfirmationPortal.js +1 -1
  54. package/src/lib/utils/hooks/useConnectExchangeForFunding/useConnectExchangeForFunding.cjs +1 -1
  55. package/src/lib/utils/hooks/useConnectExchangeForFunding/useConnectExchangeForFunding.js +1 -1
  56. package/src/lib/utils/hooks/useConnectUnifiedForFunding/useConnectUnifiedForFunding.cjs +2 -2
  57. package/src/lib/utils/hooks/useConnectUnifiedForFunding/useConnectUnifiedForFunding.js +2 -2
  58. package/src/lib/utils/hooks/useConnectWallet/HandleConnectWalletRejectionError.cjs +1 -1
  59. package/src/lib/utils/hooks/useConnectWallet/HandleConnectWalletRejectionError.js +1 -1
  60. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +1 -1
  61. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +1 -1
  62. package/src/lib/utils/hooks/useCreateWalletConnectorOptions/utils/errors/ConnectorSetupError.cjs +1 -1
  63. package/src/lib/utils/hooks/useCreateWalletConnectorOptions/utils/errors/ConnectorSetupError.js +1 -1
  64. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +8 -8
  65. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +8 -8
  66. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +4 -4
  67. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +4 -4
  68. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +9 -9
  69. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +9 -9
  70. package/src/lib/utils/hooks/useFundWithWallet/useConnectWalletForFunding/useConnectWalletForFunding.cjs +2 -2
  71. package/src/lib/utils/hooks/useFundWithWallet/useConnectWalletForFunding/useConnectWalletForFunding.js +2 -2
  72. package/src/lib/utils/hooks/useFundingHelpers/useFundingHelpers.cjs +2 -2
  73. package/src/lib/utils/hooks/useFundingHelpers/useFundingHelpers.js +2 -2
  74. package/src/lib/utils/hooks/useGetMfaToken/useGetMfaToken.cjs +1 -1
  75. package/src/lib/utils/hooks/useGetMfaToken/useGetMfaToken.js +1 -1
  76. package/src/lib/utils/hooks/useSignEip7702Authorization/useSignEip7702Authorization.cjs +2 -2
  77. package/src/lib/utils/hooks/useSignEip7702Authorization/useSignEip7702Authorization.js +2 -2
  78. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +2 -2
  79. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +2 -2
  80. package/src/lib/utils/hooks/useTransferWallet/useTransferWallet.cjs +2 -2
  81. package/src/lib/utils/hooks/useTransferWallet/useTransferWallet.js +2 -2
  82. package/src/lib/utils/hooks/useUpgradeEmbeddedWallet/useUpgradeEmbeddedWallet.cjs +3 -3
  83. package/src/lib/utils/hooks/useUpgradeEmbeddedWallet/useUpgradeEmbeddedWallet.js +3 -3
  84. package/src/lib/utils/hooks/useUserAuth/useUserAuth.cjs +1 -1
  85. package/src/lib/utils/hooks/useUserAuth/useUserAuth.js +1 -1
  86. package/src/lib/utils/hooks/useUserDataForm/useUserDataForm.cjs +1 -1
  87. package/src/lib/utils/hooks/useUserDataForm/useUserDataForm.js +1 -1
  88. package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.cjs +3 -3
  89. package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.js +3 -3
  90. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.cjs +1 -1
  91. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.js +1 -1
  92. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +2 -2
  93. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +2 -2
  94. package/src/lib/utils/hooks/useViewSettings/useViewSettings.d.ts +5 -1
  95. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +1 -1
  96. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +1 -1
  97. package/src/lib/utils/hooks/useWalletOptions/useWalletOptions.cjs +1 -1
  98. package/src/lib/utils/hooks/useWalletOptions/useWalletOptions.js +1 -1
  99. package/src/lib/views/BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.cjs +1 -1
  100. package/src/lib/views/BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.js +1 -1
  101. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
  102. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
  103. package/src/lib/views/EmbeddedReveal/utils/waasExport/waasExport.cjs +2 -2
  104. package/src/lib/views/EmbeddedReveal/utils/waasExport/waasExport.js +2 -2
  105. package/src/lib/views/ExportSharesView/ExportSharesView.cjs +2 -2
  106. package/src/lib/views/ExportSharesView/ExportSharesView.js +2 -2
  107. package/src/lib/views/LoginView/useLoginView/useLoginView.cjs +1 -1
  108. package/src/lib/views/LoginView/useLoginView/useLoginView.js +1 -1
  109. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +1 -1
  110. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +1 -1
  111. package/src/lib/views/MfaVerificationView/MfaVerificationView.cjs +2 -2
  112. package/src/lib/views/MfaVerificationView/MfaVerificationView.js +2 -2
  113. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +1 -1
  114. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +1 -1
  115. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +1 -1
  116. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +1 -1
  117. package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs +3 -3
  118. package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.js +3 -3
  119. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +14 -14
  120. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +14 -14
  121. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +2 -2
  122. package/src/lib/views/SendBalanceView/SendBalanceView.js +2 -2
  123. package/src/lib/views/WalletDelegation/WalletDelegationView/WalletDelegationView.cjs +1 -1
  124. package/src/lib/views/WalletDelegation/WalletDelegationView/WalletDelegationView.js +1 -1
  125. package/src/lib/views/WalletUpgradeFlowView/WalletUpgradeFlowView.cjs +1 -1
  126. package/src/lib/views/WalletUpgradeFlowView/WalletUpgradeFlowView.js +1 -1
  127. package/src/lib/widgets/DynamicWidget/views/ChooseWalletFundingMethod/useFundingMethods/getPromptAmountParams/getPromptAmountParams.cjs +1 -1
  128. package/src/lib/widgets/DynamicWidget/views/ChooseWalletFundingMethod/useFundingMethods/getPromptAmountParams/getPromptAmountParams.js +1 -1
  129. package/src/lib/widgets/DynamicWidget/views/ReceiveWalletFunds/utils/useSubmitWalletFunding/useSubmitWalletFunding.cjs +10 -1
  130. package/src/lib/widgets/DynamicWidget/views/ReceiveWalletFunds/utils/useSubmitWalletFunding/useSubmitWalletFunding.js +10 -1
@@ -125,11 +125,11 @@ const useOtpVerificationRequestRaw = () => {
125
125
  const verifyOtp = useCallback((handleVerificationRequired, verificationToken, destination, localVerificationUUID) => __awaiter(void 0, void 0, void 0, function* () {
126
126
  var _a;
127
127
  if (!user && !userWithMissingInfo)
128
- throw new DynamicError(USER_NOT_LOGGED_IN);
128
+ throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
129
129
  // VerificationUUID is saved in the context in case the view changes
130
130
  // after a profile update (changing the view from edit profile to verify email)
131
131
  if (!localVerificationUUID && !contextVerificationUUID)
132
- throw new DynamicError('No verification UUID is available');
132
+ throw new DynamicError('No verification UUID is available', 'no_verification_uuid_is_available');
133
133
  const verificationUUID = (localVerificationUUID !== null && localVerificationUUID !== void 0 ? localVerificationUUID : contextVerificationUUID);
134
134
  const verify = destination === 'email' ? verifyEmail : verifySms;
135
135
  const updateSelfResponse = yield verify({
@@ -120,10 +120,10 @@ const useAuthenticateConnectedUser = () => {
120
120
  const [isAuthenticating, setIsAuthenticating] = React.useState(false);
121
121
  const authenticateUser = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
122
122
  if (user) {
123
- throw new utils.DynamicError('User is already authenticated');
123
+ throw new utils.DynamicError('User is already authenticated', 'user_is_already_authenticated');
124
124
  }
125
125
  if (connectedWallets.length === 0) {
126
- throw new utils.DynamicError('No connected wallet');
126
+ throw new utils.DynamicError('No connected wallet', 'no_connected_wallet');
127
127
  }
128
128
  const connectedWallet = connectedWallets[0];
129
129
  setIsAuthenticating(true);
@@ -116,10 +116,10 @@ const useAuthenticateConnectedUser = () => {
116
116
  const [isAuthenticating, setIsAuthenticating] = useState(false);
117
117
  const authenticateUser = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
118
118
  if (user) {
119
- throw new DynamicError('User is already authenticated');
119
+ throw new DynamicError('User is already authenticated', 'user_is_already_authenticated');
120
120
  }
121
121
  if (connectedWallets.length === 0) {
122
- throw new DynamicError('No connected wallet');
122
+ throw new DynamicError('No connected wallet', 'no_connected_wallet');
123
123
  }
124
124
  const connectedWallet = connectedWallets[0];
125
125
  setIsAuthenticating(true);
@@ -30,7 +30,7 @@ const useConfirmationPortal = ({ onResolve, onReject, defaultErrorMessage, }) =>
30
30
  return onResolve(successResponseRef.current);
31
31
  }
32
32
  const error = errorRef.current ||
33
- new utils.DynamicError(defaultErrorMessage || 'Something went wrong');
33
+ new utils.DynamicError(defaultErrorMessage || 'Something went wrong', 'defaulterrormessage_something_went_wrong');
34
34
  return onReject(error);
35
35
  }, [onResolve, onReject, defaultErrorMessage]);
36
36
  const onSuccess = (response, closePortal = true) => {
@@ -26,7 +26,7 @@ const useConfirmationPortal = ({ onResolve, onReject, defaultErrorMessage, }) =>
26
26
  return onResolve(successResponseRef.current);
27
27
  }
28
28
  const error = errorRef.current ||
29
- new DynamicError(defaultErrorMessage || 'Something went wrong');
29
+ new DynamicError(defaultErrorMessage || 'Something went wrong', 'defaulterrormessage_something_went_wrong');
30
30
  return onReject(error);
31
31
  }, [onResolve, onReject, defaultErrorMessage]);
32
32
  const onSuccess = (response, closePortal = true) => {
@@ -19,7 +19,7 @@ const useConnectExchangeForFunding = () => {
19
19
  const { selectExchangeConfig } = useFundingExchangeHelpers.useFundingExchangeHelpers();
20
20
  const promiseRef = React.useRef(null);
21
21
  useDynamicEvents.useInternalDynamicEvents('authFlowClose', () => {
22
- rejectPromiseRef.rejectPromiseRef(promiseRef, new utils.DynamicError('User cancelled'));
22
+ rejectPromiseRef.rejectPromiseRef(promiseRef, new utils.DynamicError('User cancelled', 'user_cancelled'));
23
23
  });
24
24
  return React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ initiatedByWidget }) {
25
25
  if (promiseRef.current)
@@ -15,7 +15,7 @@ const useConnectExchangeForFunding = () => {
15
15
  const { selectExchangeConfig } = useFundingExchangeHelpers();
16
16
  const promiseRef = useRef(null);
17
17
  useInternalDynamicEvents('authFlowClose', () => {
18
- rejectPromiseRef(promiseRef, new DynamicError('User cancelled'));
18
+ rejectPromiseRef(promiseRef, new DynamicError('User cancelled', 'user_cancelled'));
19
19
  });
20
20
  return useCallback((_a) => __awaiter(void 0, [_a], void 0, function* ({ initiatedByWidget }) {
21
21
  if (promiseRef.current)
@@ -24,7 +24,7 @@ const useConnectUnifiedForFunding = () => {
24
24
  const { selectExchangeConfig } = useFundingExchangeHelpers.useFundingExchangeHelpers();
25
25
  const promiseRef = React.useRef(null);
26
26
  useDynamicEvents.useInternalDynamicEvents('authFlowClose', () => {
27
- rejectPromiseRef.rejectPromiseRef(promiseRef, new utils.DynamicError('User cancelled'));
27
+ rejectPromiseRef.rejectPromiseRef(promiseRef, new utils.DynamicError('User cancelled', 'user_cancelled'));
28
28
  });
29
29
  const openList = React.useCallback((initiatedByWidget) => {
30
30
  const { onSelectExchange } = selectExchangeConfig({
@@ -61,7 +61,7 @@ const useConnectUnifiedForFunding = () => {
61
61
  initiatedByWidgetRef.current = initiatedByWidget;
62
62
  const walletAddress = yield getWalletAddress(walletConnector);
63
63
  if (!walletAddress) {
64
- rejectPromiseRef.rejectPromiseRef(promiseRef, new utils.DynamicError('No wallet address found'));
64
+ rejectPromiseRef.rejectPromiseRef(promiseRef, new utils.DynamicError('No wallet address found', 'no_wallet_address_found'));
65
65
  return;
66
66
  }
67
67
  const wallet = walletConnector.createWallet({
@@ -20,7 +20,7 @@ const useConnectUnifiedForFunding = () => {
20
20
  const { selectExchangeConfig } = useFundingExchangeHelpers();
21
21
  const promiseRef = useRef(null);
22
22
  useInternalDynamicEvents('authFlowClose', () => {
23
- rejectPromiseRef(promiseRef, new DynamicError('User cancelled'));
23
+ rejectPromiseRef(promiseRef, new DynamicError('User cancelled', 'user_cancelled'));
24
24
  });
25
25
  const openList = useCallback((initiatedByWidget) => {
26
26
  const { onSelectExchange } = selectExchangeConfig({
@@ -57,7 +57,7 @@ const useConnectUnifiedForFunding = () => {
57
57
  initiatedByWidgetRef.current = initiatedByWidget;
58
58
  const walletAddress = yield getWalletAddress(walletConnector);
59
59
  if (!walletAddress) {
60
- rejectPromiseRef(promiseRef, new DynamicError('No wallet address found'));
60
+ rejectPromiseRef(promiseRef, new DynamicError('No wallet address found', 'no_wallet_address_found'));
61
61
  return;
62
62
  }
63
63
  const wallet = walletConnector.createWallet({
@@ -7,7 +7,7 @@ var utils = require('@dynamic-labs/utils');
7
7
 
8
8
  class HandleConnectWalletRejectionError extends utils.DynamicError {
9
9
  constructor(walletConnector) {
10
- super(`Connection was not established because handleConnectedWallet returned false for wallet connector ${walletConnector.key}`);
10
+ super(`Connection was not established because handleConnectedWallet returned false for wallet connector ${walletConnector.key}`, 'handle_connect_wallet_rejection');
11
11
  this.walletConnector = walletConnector;
12
12
  }
13
13
  }
@@ -3,7 +3,7 @@ import { DynamicError } from '@dynamic-labs/utils';
3
3
 
4
4
  class HandleConnectWalletRejectionError extends DynamicError {
5
5
  constructor(walletConnector) {
6
- super(`Connection was not established because handleConnectedWallet returned false for wallet connector ${walletConnector.key}`);
6
+ super(`Connection was not established because handleConnectedWallet returned false for wallet connector ${walletConnector.key}`, 'handle_connect_wallet_rejection');
7
7
  this.walletConnector = walletConnector;
8
8
  }
9
9
  }
@@ -66,7 +66,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
66
66
  var _d, _e;
67
67
  setIsLoading(true);
68
68
  if (!user) {
69
- throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
69
+ throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
70
70
  }
71
71
  let sessionPublicKey;
72
72
  // get the session public key that was created in the login/signup flow
@@ -62,7 +62,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
62
62
  var _d, _e;
63
63
  setIsLoading(true);
64
64
  if (!user) {
65
- throw new DynamicError(USER_NOT_LOGGED_IN);
65
+ throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
66
66
  }
67
67
  let sessionPublicKey;
68
68
  // get the session public key that was created in the login/signup flow
@@ -7,7 +7,7 @@ var utils = require('@dynamic-labs/utils');
7
7
 
8
8
  class ConnectorSetupError extends utils.DynamicError {
9
9
  constructor(providerName, connectorName) {
10
- super(`${providerName} is enabled but ${connectorName} is not in your walletConnectors list. See https://docs.dynamic.xyz/react-sdk/wallet-connectors for more information.`);
10
+ super(`${providerName} is enabled but ${connectorName} is not in your walletConnectors list. See https://docs.dynamic.xyz/react-sdk/wallet-connectors for more information.`, 'connector_setup_error');
11
11
  }
12
12
  }
13
13
 
@@ -3,7 +3,7 @@ import { DynamicError } from '@dynamic-labs/utils';
3
3
 
4
4
  class ConnectorSetupError extends DynamicError {
5
5
  constructor(providerName, connectorName) {
6
- super(`${providerName} is enabled but ${connectorName} is not in your walletConnectors list. See https://docs.dynamic.xyz/react-sdk/wallet-connectors for more information.`);
6
+ super(`${providerName} is enabled but ${connectorName} is not in your walletConnectors list. See https://docs.dynamic.xyz/react-sdk/wallet-connectors for more information.`, 'connector_setup_error');
7
7
  }
8
8
  }
9
9
 
@@ -150,7 +150,7 @@ const useDynamicWaas = () => {
150
150
  normalizeWaasChainName.normalizeWaasChainName(option.walletConnector.connectedChain) ===
151
151
  normalizeWaasChainName.normalizeWaasChainName(chainName))) === null || _a === void 0 ? void 0 : _a.walletConnector;
152
152
  if (!walletConnector) {
153
- throw new utils.DynamicError(constants.DYNAMIC_WAAS_CONNECTOR_NOT_FOUND_ERROR);
153
+ throw new utils.DynamicError(constants.DYNAMIC_WAAS_CONNECTOR_NOT_FOUND_ERROR, 'dynamicwaasconnectornotfounderror');
154
154
  }
155
155
  const configuredWalletConnector = configWaasWalletConnector({
156
156
  apiBaseUrl: apiBaseUrl || apiUrl.DEFAULT_WAAS_API_URL,
@@ -282,7 +282,7 @@ const useDynamicWaas = () => {
282
282
  return;
283
283
  }
284
284
  if (!(enabledChainNames === null || enabledChainNames === void 0 ? void 0 : enabledChainNames.length)) {
285
- throw new utils.DynamicError(constants.NO_ENABLED_CHAINS_ERROR);
285
+ throw new utils.DynamicError(constants.NO_ENABLED_CHAINS_ERROR, 'no_enabled_chains');
286
286
  }
287
287
  // Convert legacy ChainEnum[] format to WalletCreationRequirement[]
288
288
  const requirements = normalizeWalletRequirements.normalizeWalletRequirements(requirementsOrChainNames, bitcoinConfig);
@@ -291,7 +291,7 @@ const useDynamicWaas = () => {
291
291
  const allChains = reqs.map((req) => req.chain);
292
292
  const invalidChains = allChains.filter((chain) => !enabledChainNames.includes(chain));
293
293
  if (invalidChains.length > 0) {
294
- throw new utils.DynamicError(`${constants.INVALID_CHAINS_ERROR}: ${invalidChains.join(', ')}`);
294
+ throw new utils.DynamicError(`${constants.INVALID_CHAINS_ERROR}: ${invalidChains.join(', ')}`, 'invalid_chains');
295
295
  }
296
296
  };
297
297
  validateChains(requirements);
@@ -324,7 +324,7 @@ const useDynamicWaas = () => {
324
324
  });
325
325
  if (failedChains.length > 0) {
326
326
  refresh();
327
- throw new utils.DynamicError(`${constants.WALLET_CREATION_FAILED_ERROR}: ${failedChains.join(', ')}. Errors: ${errors.join('; ')}`);
327
+ throw new utils.DynamicError(`${constants.WALLET_CREATION_FAILED_ERROR}: ${failedChains.join(', ')}. Errors: ${errors.join('; ')}`, 'wallet_creation_failed');
328
328
  }
329
329
  return settledResults.map((r) => r.status === 'fulfilled' ? r.value : undefined);
330
330
  };
@@ -474,13 +474,13 @@ const useDynamicWaas = () => {
474
474
  const upgradeToDynamicWaas = React.useCallback((_j) => _tslib.__awaiter(void 0, [_j], void 0, function* ({ privateKey, wallet, password, }) {
475
475
  isUpgrading.current = true;
476
476
  if (!wallet) {
477
- throw new utils.DynamicError('Wallet to upgrade was not provided');
477
+ throw new utils.DynamicError('Wallet to upgrade was not provided', 'wallet_to_upgrade_was_not_provided');
478
478
  }
479
479
  const chainName = wallet.chain;
480
480
  const walletId = wallet.id;
481
481
  const walletConnector = getWaasWalletConnector(chainName);
482
482
  if (!walletConnector) {
483
- throw new utils.DynamicError('Wallet connector not found');
483
+ throw new utils.DynamicError('Wallet connector not found', 'wallet_connector_not_found');
484
484
  }
485
485
  let softDeleteSucceeded = false;
486
486
  // 7702 wallets have a -zerodev suffix because it's a credential created on the fly
@@ -515,9 +515,9 @@ const useDynamicWaas = () => {
515
515
  }
516
516
  const errorMessage = (error === null || error === void 0 ? void 0 : error.message) || '';
517
517
  if (errorMessage.includes('Public address mismatch')) {
518
- throw new utils.DynamicError('Public address mismatch. Ensure the private key is copied correctly.');
518
+ throw new utils.DynamicError('Public address mismatch. Ensure the private key is copied correctly.', 'public_address_mismatch');
519
519
  }
520
- throw new utils.DynamicError('Upgrade failed, please try again.');
520
+ throw new utils.DynamicError('Upgrade failed, please try again.', 'upgrade_failed');
521
521
  }
522
522
  }), [environmentId, getWaasWalletConnector, refresh]);
523
523
  /**
@@ -146,7 +146,7 @@ const useDynamicWaas = () => {
146
146
  normalizeWaasChainName(option.walletConnector.connectedChain) ===
147
147
  normalizeWaasChainName(chainName))) === null || _a === void 0 ? void 0 : _a.walletConnector;
148
148
  if (!walletConnector) {
149
- throw new DynamicError(DYNAMIC_WAAS_CONNECTOR_NOT_FOUND_ERROR);
149
+ throw new DynamicError(DYNAMIC_WAAS_CONNECTOR_NOT_FOUND_ERROR, 'dynamicwaasconnectornotfounderror');
150
150
  }
151
151
  const configuredWalletConnector = configWaasWalletConnector({
152
152
  apiBaseUrl: apiBaseUrl || DEFAULT_WAAS_API_URL,
@@ -278,7 +278,7 @@ const useDynamicWaas = () => {
278
278
  return;
279
279
  }
280
280
  if (!(enabledChainNames === null || enabledChainNames === void 0 ? void 0 : enabledChainNames.length)) {
281
- throw new DynamicError(NO_ENABLED_CHAINS_ERROR);
281
+ throw new DynamicError(NO_ENABLED_CHAINS_ERROR, 'no_enabled_chains');
282
282
  }
283
283
  // Convert legacy ChainEnum[] format to WalletCreationRequirement[]
284
284
  const requirements = normalizeWalletRequirements(requirementsOrChainNames, bitcoinConfig);
@@ -287,7 +287,7 @@ const useDynamicWaas = () => {
287
287
  const allChains = reqs.map((req) => req.chain);
288
288
  const invalidChains = allChains.filter((chain) => !enabledChainNames.includes(chain));
289
289
  if (invalidChains.length > 0) {
290
- throw new DynamicError(`${INVALID_CHAINS_ERROR}: ${invalidChains.join(', ')}`);
290
+ throw new DynamicError(`${INVALID_CHAINS_ERROR}: ${invalidChains.join(', ')}`, 'invalid_chains');
291
291
  }
292
292
  };
293
293
  validateChains(requirements);
@@ -320,7 +320,7 @@ const useDynamicWaas = () => {
320
320
  });
321
321
  if (failedChains.length > 0) {
322
322
  refresh();
323
- throw new DynamicError(`${WALLET_CREATION_FAILED_ERROR}: ${failedChains.join(', ')}. Errors: ${errors.join('; ')}`);
323
+ throw new DynamicError(`${WALLET_CREATION_FAILED_ERROR}: ${failedChains.join(', ')}. Errors: ${errors.join('; ')}`, 'wallet_creation_failed');
324
324
  }
325
325
  return settledResults.map((r) => r.status === 'fulfilled' ? r.value : undefined);
326
326
  };
@@ -470,13 +470,13 @@ const useDynamicWaas = () => {
470
470
  const upgradeToDynamicWaas = useCallback((_j) => __awaiter(void 0, [_j], void 0, function* ({ privateKey, wallet, password, }) {
471
471
  isUpgrading.current = true;
472
472
  if (!wallet) {
473
- throw new DynamicError('Wallet to upgrade was not provided');
473
+ throw new DynamicError('Wallet to upgrade was not provided', 'wallet_to_upgrade_was_not_provided');
474
474
  }
475
475
  const chainName = wallet.chain;
476
476
  const walletId = wallet.id;
477
477
  const walletConnector = getWaasWalletConnector(chainName);
478
478
  if (!walletConnector) {
479
- throw new DynamicError('Wallet connector not found');
479
+ throw new DynamicError('Wallet connector not found', 'wallet_connector_not_found');
480
480
  }
481
481
  let softDeleteSucceeded = false;
482
482
  // 7702 wallets have a -zerodev suffix because it's a credential created on the fly
@@ -511,9 +511,9 @@ const useDynamicWaas = () => {
511
511
  }
512
512
  const errorMessage = (error === null || error === void 0 ? void 0 : error.message) || '';
513
513
  if (errorMessage.includes('Public address mismatch')) {
514
- throw new DynamicError('Public address mismatch. Ensure the private key is copied correctly.');
514
+ throw new DynamicError('Public address mismatch. Ensure the private key is copied correctly.', 'public_address_mismatch');
515
515
  }
516
- throw new DynamicError('Upgrade failed, please try again.');
516
+ throw new DynamicError('Upgrade failed, please try again.', 'upgrade_failed');
517
517
  }
518
518
  }), [environmentId, getWaasWalletConnector, refresh]);
519
519
  /**
@@ -67,10 +67,10 @@ const useEmbeddedWallet = () => {
67
67
  const userHasEmbeddedWallet = React.useCallback(() => hasEmbeddedWallet.hasEmbeddedWallet(user), [user]);
68
68
  const getWalletVersion = React.useCallback(() => {
69
69
  if (!user) {
70
- throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
70
+ throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
71
71
  }
72
72
  if (!userHasEmbeddedWallet()) {
73
- throw new utils.DynamicError('Embedded wallet not found');
73
+ throw new utils.DynamicError('Embedded wallet not found', 'embedded_wallet_not_found');
74
74
  }
75
75
  if (isTurnkeyWallet) {
76
76
  return getTurnkeyWalletVersion();
@@ -94,10 +94,10 @@ const useEmbeddedWallet = () => {
94
94
  */
95
95
  const revealWalletKey = (options) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
96
96
  if (!user) {
97
- throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
97
+ throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
98
98
  }
99
99
  if (!userHasEmbeddedWallet()) {
100
- throw new utils.DynamicError('Embedded wallet not found');
100
+ throw new utils.DynamicError('Embedded wallet not found', 'embedded_wallet_not_found');
101
101
  }
102
102
  return revealTurnkeyEmbeddedWalletKey(options);
103
103
  });
@@ -63,10 +63,10 @@ const useEmbeddedWallet = () => {
63
63
  const userHasEmbeddedWallet = useCallback(() => hasEmbeddedWallet(user), [user]);
64
64
  const getWalletVersion = useCallback(() => {
65
65
  if (!user) {
66
- throw new DynamicError(USER_NOT_LOGGED_IN);
66
+ throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
67
67
  }
68
68
  if (!userHasEmbeddedWallet()) {
69
- throw new DynamicError('Embedded wallet not found');
69
+ throw new DynamicError('Embedded wallet not found', 'embedded_wallet_not_found');
70
70
  }
71
71
  if (isTurnkeyWallet) {
72
72
  return getTurnkeyWalletVersion();
@@ -90,10 +90,10 @@ const useEmbeddedWallet = () => {
90
90
  */
91
91
  const revealWalletKey = (options) => __awaiter(void 0, void 0, void 0, function* () {
92
92
  if (!user) {
93
- throw new DynamicError(USER_NOT_LOGGED_IN);
93
+ throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
94
94
  }
95
95
  if (!userHasEmbeddedWallet()) {
96
- throw new DynamicError('Embedded wallet not found');
96
+ throw new DynamicError('Embedded wallet not found', 'embedded_wallet_not_found');
97
97
  }
98
98
  return revealTurnkeyEmbeddedWalletKey(options);
99
99
  });
@@ -107,7 +107,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
107
107
  const createEmbeddedWallet = React.useCallback((chains, options) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
108
108
  var _f;
109
109
  if (!user$1) {
110
- throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
110
+ throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
111
111
  }
112
112
  const userWalletsCredentials = getUserWalletsFromVerifiedCredentials.getUserWalletsFromVerifiedCredentials(user$1);
113
113
  const primaryChain = findPrimaryEmbeddedChain.findPrimaryEmbeddedChain(projectSettings);
@@ -185,7 +185,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
185
185
  const createOrRestoreSession = React.useCallback((options) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
186
186
  var _l, _m, _o, _p, _q, _r, _s;
187
187
  if (!user$1) {
188
- throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
188
+ throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
189
189
  }
190
190
  const primaryConnector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
191
191
  if (primaryConnector &&
@@ -227,7 +227,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
227
227
  throw new utils.DynamicError('User does not have a secure enclave wallet or a verified email', errors.INVALID_WALLET_DATA);
228
228
  }
229
229
  if (!primaryWallet) {
230
- throw new utils.DynamicError('No primary wallet found');
230
+ throw new utils.DynamicError('No primary wallet found', 'no_primary_wallet_found');
231
231
  }
232
232
  const primaryTurnkeyWalletId = getTurnkeyWalletId.getTurnkeyWalletId(primaryWallet.id, (user$1 === null || user$1 === void 0 ? void 0 : user$1.verifiedCredentials) || []);
233
233
  const organizationId = (_s = (_r = (_q = (_p = user$1 === null || user$1 === void 0 ? void 0 : user$1.verifiedCredentials) === null || _p === void 0 ? void 0 : _p.find(({ walletName, id }) => (walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey')) && id === primaryTurnkeyWalletId)) === null || _q === void 0 ? void 0 : _q.walletProperties) === null || _r === void 0 ? void 0 : _r.turnkeySubOrganizationId) !== null && _s !== void 0 ? _s : undefined;
@@ -256,7 +256,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
256
256
  const createPasskey = React.useCallback((options) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
257
257
  var _t, _u;
258
258
  if (!user$1) {
259
- throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
259
+ throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
260
260
  }
261
261
  validateTurnkeyProviderEnabled.validateTurnkeyProviderEnabled(projectSettings);
262
262
  const turnkeyWallet = findTurnkeyWallet.findTurnkeyWalletByPrimaryChain(walletConnectorOptions, (_t = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _t === void 0 ? void 0 : _t.chainConfigurations, user$1.verifiedCredentials);
@@ -294,7 +294,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
294
294
  walletId: turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.id,
295
295
  });
296
296
  if (!updatedUser) {
297
- throw new utils.DynamicError('Error completing passkey recovery');
297
+ throw new utils.DynamicError('Error completing passkey recovery', 'completing_passkey_recovery');
298
298
  }
299
299
  return { attestation, challenge, displayName };
300
300
  }), [
@@ -310,7 +310,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
310
310
  */
311
311
  const getPasskeys = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
312
312
  if (!user$1) {
313
- throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
313
+ throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
314
314
  }
315
315
  const data = yield embeddedWallets.getUserPasskeys({
316
316
  environmentId: environmentId,
@@ -341,7 +341,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
341
341
  const revealEmbeddedWalletKey = React.useCallback((_v) => _tslib.__awaiter(void 0, [_v], void 0, function* ({ type, htmlContainerId, }) {
342
342
  var _w, _x, _y, _z, _0, _1;
343
343
  if (!user$1) {
344
- throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
344
+ throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
345
345
  }
346
346
  yield turnkeyExport.cleanupExport({
347
347
  wallet: wallet,
@@ -410,7 +410,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
410
410
  const sendOneTimeCode = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
411
411
  var _2, _3;
412
412
  if (!user$1) {
413
- throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
413
+ throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
414
414
  }
415
415
  const targetTurnkeyWallet = findTurnkeyWallet.findTurnkeyWalletByPrimaryChain(walletConnectorOptions, (_2 = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _2 === void 0 ? void 0 : _2.chainConfigurations, user$1.verifiedCredentials);
416
416
  if (!targetTurnkeyWallet || !('id' in targetTurnkeyWallet)) {
@@ -425,7 +425,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
425
425
  const turnkeyAuthIframeContainerRef = createRootElement(constants.iframeContainerId);
426
426
  const publicKey = yield turnkeyAuthenticatorHandler.initRecovery('email', turnkeyAuthIframeContainerRef.current, constants.iframeElementId, getEmbeddedWalletSessionExpiration.getEmbeddedWalletSessionExpiration((_3 = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _3 === void 0 ? void 0 : _3.sessionKeyDuration));
427
427
  if (!publicKey) {
428
- throw new utils.DynamicError(errors.ERROR_SENDING_CODE);
428
+ throw new utils.DynamicError(errors.ERROR_SENDING_CODE, 'error_sending_code');
429
429
  }
430
430
  const response = yield embeddedWallets.initEmbeddedWalletSession({
431
431
  authenticatorType: 'email',
@@ -103,7 +103,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
103
103
  const createEmbeddedWallet = useCallback((chains, options) => __awaiter(void 0, void 0, void 0, function* () {
104
104
  var _f;
105
105
  if (!user) {
106
- throw new DynamicError(USER_NOT_LOGGED_IN);
106
+ throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
107
107
  }
108
108
  const userWalletsCredentials = getUserWalletsFromVerifiedCredentials(user);
109
109
  const primaryChain = findPrimaryEmbeddedChain(projectSettings);
@@ -181,7 +181,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
181
181
  const createOrRestoreSession = useCallback((options) => __awaiter(void 0, void 0, void 0, function* () {
182
182
  var _l, _m, _o, _p, _q, _r, _s;
183
183
  if (!user) {
184
- throw new DynamicError(USER_NOT_LOGGED_IN);
184
+ throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
185
185
  }
186
186
  const primaryConnector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
187
187
  if (primaryConnector &&
@@ -223,7 +223,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
223
223
  throw new DynamicError('User does not have a secure enclave wallet or a verified email', INVALID_WALLET_DATA);
224
224
  }
225
225
  if (!primaryWallet) {
226
- throw new DynamicError('No primary wallet found');
226
+ throw new DynamicError('No primary wallet found', 'no_primary_wallet_found');
227
227
  }
228
228
  const primaryTurnkeyWalletId = getTurnkeyWalletId(primaryWallet.id, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || []);
229
229
  const organizationId = (_s = (_r = (_q = (_p = user === null || user === void 0 ? void 0 : user.verifiedCredentials) === null || _p === void 0 ? void 0 : _p.find(({ walletName, id }) => (walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey')) && id === primaryTurnkeyWalletId)) === null || _q === void 0 ? void 0 : _q.walletProperties) === null || _r === void 0 ? void 0 : _r.turnkeySubOrganizationId) !== null && _s !== void 0 ? _s : undefined;
@@ -252,7 +252,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
252
252
  const createPasskey = useCallback((options) => __awaiter(void 0, void 0, void 0, function* () {
253
253
  var _t, _u;
254
254
  if (!user) {
255
- throw new DynamicError(USER_NOT_LOGGED_IN);
255
+ throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
256
256
  }
257
257
  validateTurnkeyProviderEnabled(projectSettings);
258
258
  const turnkeyWallet = findTurnkeyWalletByPrimaryChain(walletConnectorOptions, (_t = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _t === void 0 ? void 0 : _t.chainConfigurations, user.verifiedCredentials);
@@ -290,7 +290,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
290
290
  walletId: turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.id,
291
291
  });
292
292
  if (!updatedUser) {
293
- throw new DynamicError('Error completing passkey recovery');
293
+ throw new DynamicError('Error completing passkey recovery', 'completing_passkey_recovery');
294
294
  }
295
295
  return { attestation, challenge, displayName };
296
296
  }), [
@@ -306,7 +306,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
306
306
  */
307
307
  const getPasskeys = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
308
308
  if (!user) {
309
- throw new DynamicError(USER_NOT_LOGGED_IN);
309
+ throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
310
310
  }
311
311
  const data = yield getUserPasskeys({
312
312
  environmentId: environmentId,
@@ -337,7 +337,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
337
337
  const revealEmbeddedWalletKey = useCallback((_v) => __awaiter(void 0, [_v], void 0, function* ({ type, htmlContainerId, }) {
338
338
  var _w, _x, _y, _z, _0, _1;
339
339
  if (!user) {
340
- throw new DynamicError(USER_NOT_LOGGED_IN);
340
+ throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
341
341
  }
342
342
  yield cleanupExport({
343
343
  wallet: wallet,
@@ -406,7 +406,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
406
406
  const sendOneTimeCode = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
407
407
  var _2, _3;
408
408
  if (!user) {
409
- throw new DynamicError(USER_NOT_LOGGED_IN);
409
+ throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
410
410
  }
411
411
  const targetTurnkeyWallet = findTurnkeyWalletByPrimaryChain(walletConnectorOptions, (_2 = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _2 === void 0 ? void 0 : _2.chainConfigurations, user.verifiedCredentials);
412
412
  if (!targetTurnkeyWallet || !('id' in targetTurnkeyWallet)) {
@@ -421,7 +421,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
421
421
  const turnkeyAuthIframeContainerRef = createRootElement(iframeContainerId);
422
422
  const publicKey = yield turnkeyAuthenticatorHandler.initRecovery('email', turnkeyAuthIframeContainerRef.current, iframeElementId, getEmbeddedWalletSessionExpiration((_3 = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _3 === void 0 ? void 0 : _3.sessionKeyDuration));
423
423
  if (!publicKey) {
424
- throw new DynamicError(ERROR_SENDING_CODE);
424
+ throw new DynamicError(ERROR_SENDING_CODE, 'error_sending_code');
425
425
  }
426
426
  const response = yield initEmbeddedWalletSession({
427
427
  authenticatorType: 'email',
@@ -24,7 +24,7 @@ const useConnectWalletForFunding = () => {
24
24
  const { initiatedByWidgetRef, getWalletAddress, resetWalletConnectSession } = useFundingHelpers.useFundingHelpers();
25
25
  const connectWalletPromiseRef = React.useRef(null);
26
26
  useDynamicEvents.useInternalDynamicEvents('authFlowClose', () => {
27
- rejectPromiseRef.rejectPromiseRef(connectWalletPromiseRef, new utils.DynamicError('User cancelled'));
27
+ rejectPromiseRef.rejectPromiseRef(connectWalletPromiseRef, new utils.DynamicError('User cancelled', 'user_cancelled'));
28
28
  });
29
29
  const openWalletList = React.useCallback((initiatedByWidget) => {
30
30
  const onSelectWallet = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ walletConnector, }) {
@@ -35,7 +35,7 @@ const useConnectWalletForFunding = () => {
35
35
  initiatedByWidgetRef.current = initiatedByWidget;
36
36
  const walletAddress = yield getWalletAddress(walletConnector);
37
37
  if (!walletAddress) {
38
- rejectPromiseRef.rejectPromiseRef(connectWalletPromiseRef, new utils.DynamicError('No wallet address found'));
38
+ rejectPromiseRef.rejectPromiseRef(connectWalletPromiseRef, new utils.DynamicError('No wallet address found', 'no_wallet_address_found'));
39
39
  return;
40
40
  }
41
41
  if (walletAddress === (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address)) {
@@ -20,7 +20,7 @@ const useConnectWalletForFunding = () => {
20
20
  const { initiatedByWidgetRef, getWalletAddress, resetWalletConnectSession } = useFundingHelpers();
21
21
  const connectWalletPromiseRef = useRef(null);
22
22
  useInternalDynamicEvents('authFlowClose', () => {
23
- rejectPromiseRef(connectWalletPromiseRef, new DynamicError('User cancelled'));
23
+ rejectPromiseRef(connectWalletPromiseRef, new DynamicError('User cancelled', 'user_cancelled'));
24
24
  });
25
25
  const openWalletList = useCallback((initiatedByWidget) => {
26
26
  const onSelectWallet = (_a) => __awaiter(void 0, [_a], void 0, function* ({ walletConnector, }) {
@@ -31,7 +31,7 @@ const useConnectWalletForFunding = () => {
31
31
  initiatedByWidgetRef.current = initiatedByWidget;
32
32
  const walletAddress = yield getWalletAddress(walletConnector);
33
33
  if (!walletAddress) {
34
- rejectPromiseRef(connectWalletPromiseRef, new DynamicError('No wallet address found'));
34
+ rejectPromiseRef(connectWalletPromiseRef, new DynamicError('No wallet address found', 'no_wallet_address_found'));
35
35
  return;
36
36
  }
37
37
  if (walletAddress === (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address)) {
@@ -27,7 +27,7 @@ const useFundingHelpers = () => {
27
27
  utils.StorageService.setItem(utils.PHANTOM_REDIRECT_CONNECTION_TYPE_KEY, connectionType);
28
28
  const address = yield props.walletConnector.getAddress(props.getAddressOpts);
29
29
  if (!address) {
30
- rejectPromiseRef.rejectPromiseRef(internalConnectionPromiseRef, new utils.DynamicError('No wallet address found'));
30
+ rejectPromiseRef.rejectPromiseRef(internalConnectionPromiseRef, new utils.DynamicError('No wallet address found', 'no_wallet_address_found'));
31
31
  return;
32
32
  }
33
33
  resolvePromiseRef.resolvePromiseRef(internalConnectionPromiseRef, address);
@@ -43,7 +43,7 @@ const useFundingHelpers = () => {
43
43
  var _a;
44
44
  const walletOption = walletOptions$1.find(({ key }) => key === walletConnector.key);
45
45
  if (!walletOption) {
46
- return Promise.reject(new utils.DynamicError(`Connect wallet for funding error: wallet option for ${walletConnector.key} not found`));
46
+ return Promise.reject(new utils.DynamicError(`Connect wallet for funding error: wallet option for ${walletConnector.key} not found`, 'wallet_option_not_found'));
47
47
  }
48
48
  internalConnectionPromiseRef.current = new utils.DeferredPromise();
49
49
  handleWalletItemClick(Object.assign(Object.assign({}, walletOption), { group: (_a = walletOption.group) !== null && _a !== void 0 ? _a : undefined, walletConnector }));
@@ -23,7 +23,7 @@ const useFundingHelpers = () => {
23
23
  StorageService.setItem(PHANTOM_REDIRECT_CONNECTION_TYPE_KEY, connectionType);
24
24
  const address = yield props.walletConnector.getAddress(props.getAddressOpts);
25
25
  if (!address) {
26
- rejectPromiseRef(internalConnectionPromiseRef, new DynamicError('No wallet address found'));
26
+ rejectPromiseRef(internalConnectionPromiseRef, new DynamicError('No wallet address found', 'no_wallet_address_found'));
27
27
  return;
28
28
  }
29
29
  resolvePromiseRef(internalConnectionPromiseRef, address);
@@ -39,7 +39,7 @@ const useFundingHelpers = () => {
39
39
  var _a;
40
40
  const walletOption = walletOptions.find(({ key }) => key === walletConnector.key);
41
41
  if (!walletOption) {
42
- return Promise.reject(new DynamicError(`Connect wallet for funding error: wallet option for ${walletConnector.key} not found`));
42
+ return Promise.reject(new DynamicError(`Connect wallet for funding error: wallet option for ${walletConnector.key} not found`, 'wallet_option_not_found'));
43
43
  }
44
44
  internalConnectionPromiseRef.current = new DeferredPromise();
45
45
  handleWalletItemClick(Object.assign(Object.assign({}, walletOption), { group: (_a = walletOption.group) !== null && _a !== void 0 ? _a : undefined, walletConnector }));
@@ -93,7 +93,7 @@ const useGetMfaToken = () => {
93
93
  }
94
94
  const errorMessage = `MFA Token required for this action: ${mfaAction}`;
95
95
  logger.logger.error(errorMessage, error);
96
- throw new utils.DynamicError(errorMessage);
96
+ throw new utils.DynamicError(errorMessage, 'mfa_token_required');
97
97
  }
98
98
  }), [shouldConsumeMfaToken]);
99
99
  };
@@ -89,7 +89,7 @@ const useGetMfaToken = () => {
89
89
  }
90
90
  const errorMessage = `MFA Token required for this action: ${mfaAction}`;
91
91
  logger.error(errorMessage, error);
92
- throw new DynamicError(errorMessage);
92
+ throw new DynamicError(errorMessage, 'mfa_token_required');
93
93
  }
94
94
  }), [shouldConsumeMfaToken]);
95
95
  };