@dynamic-labs/sdk-react-core 4.91.3 → 4.91.5
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.
- package/CHANGELOG.md +17 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +12 -12
- package/src/lib/client/client.cjs +1 -1
- package/src/lib/client/client.js +1 -1
- package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +4 -1
- package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +4 -1
- package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +3 -0
- package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +3 -0
- package/src/lib/context/DynamicContext/hooks/useRemoveWallet/useRemoveWallet.cjs +1 -1
- package/src/lib/context/DynamicContext/hooks/useRemoveWallet/useRemoveWallet.js +1 -1
- package/src/lib/context/DynamicContext/types/SettingsOverrides.d.ts +13 -1
- package/src/lib/context/OnrampContext/OnrampContext.cjs +1 -1
- package/src/lib/context/OnrampContext/OnrampContext.js +1 -1
- package/src/lib/context/SendBalanceContext/SendBalanceContext.errors.cjs +2 -2
- package/src/lib/context/SendBalanceContext/SendBalanceContext.errors.js +2 -2
- package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.cjs +3 -3
- package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.js +3 -3
- package/src/lib/data/api/email/email.cjs +6 -3
- package/src/lib/data/api/email/email.js +6 -3
- package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +5 -5
- package/src/lib/data/api/embeddedWallets/embeddedWallets.js +5 -5
- package/src/lib/data/api/exchangeAccounts/exchangeAccounts.cjs +3 -3
- package/src/lib/data/api/exchangeAccounts/exchangeAccounts.js +3 -3
- package/src/lib/data/api/oauth/oauth.cjs +3 -2
- package/src/lib/data/api/oauth/oauth.js +3 -2
- package/src/lib/data/api/session/session.cjs +3 -3
- package/src/lib/data/api/session/session.js +3 -3
- package/src/lib/data/api/sms/sms.cjs +4 -1
- package/src/lib/data/api/sms/sms.js +4 -1
- package/src/lib/data/api/user/user.cjs +4 -4
- package/src/lib/data/api/user/user.js +4 -4
- package/src/lib/data/api/wallets/wallets.cjs +15 -13
- package/src/lib/data/api/wallets/wallets.js +15 -13
- package/src/lib/store/state/nonce/nonce.cjs +1 -1
- package/src/lib/store/state/nonce/nonce.js +1 -1
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +24 -0
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +3 -1
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +23 -1
- package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
- package/src/lib/utils/functions/generateMessages/index.cjs +3 -3
- package/src/lib/utils/functions/generateMessages/index.js +3 -3
- package/src/lib/utils/functions/getEmbeddedWalletAuthHandler/getEmbeddedWalletAuthHandler.cjs +1 -1
- package/src/lib/utils/functions/getEmbeddedWalletAuthHandler/getEmbeddedWalletAuthHandler.js +1 -1
- package/src/lib/utils/functions/getTransactionLink/blockExplorerPatterns.cjs +30 -0
- package/src/lib/utils/functions/getTransactionLink/blockExplorerPatterns.d.ts +17 -0
- package/src/lib/utils/functions/getTransactionLink/blockExplorerPatterns.js +29 -1
- package/src/lib/utils/functions/getTransactionLink/getTransactionLink.cjs +13 -1
- package/src/lib/utils/functions/getTransactionLink/getTransactionLink.d.ts +2 -1
- package/src/lib/utils/functions/getTransactionLink/getTransactionLink.js +14 -2
- package/src/lib/utils/hooks/authenticationHooks/useOtpVerificationRequest/useOtpVerificationRequest.cjs +2 -2
- package/src/lib/utils/hooks/authenticationHooks/useOtpVerificationRequest/useOtpVerificationRequest.js +2 -2
- package/src/lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.cjs +2 -2
- package/src/lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.js +2 -2
- package/src/lib/utils/hooks/useConfirmationPortal/useConfirmationPortal.cjs +1 -1
- package/src/lib/utils/hooks/useConfirmationPortal/useConfirmationPortal.js +1 -1
- package/src/lib/utils/hooks/useConnectExchangeForFunding/useConnectExchangeForFunding.cjs +1 -1
- package/src/lib/utils/hooks/useConnectExchangeForFunding/useConnectExchangeForFunding.js +1 -1
- package/src/lib/utils/hooks/useConnectUnifiedForFunding/useConnectUnifiedForFunding.cjs +2 -2
- package/src/lib/utils/hooks/useConnectUnifiedForFunding/useConnectUnifiedForFunding.js +2 -2
- package/src/lib/utils/hooks/useConnectWallet/HandleConnectWalletRejectionError.cjs +1 -1
- package/src/lib/utils/hooks/useConnectWallet/HandleConnectWalletRejectionError.js +1 -1
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +1 -1
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +1 -1
- package/src/lib/utils/hooks/useCreateWalletConnectorOptions/utils/errors/ConnectorSetupError.cjs +1 -1
- package/src/lib/utils/hooks/useCreateWalletConnectorOptions/utils/errors/ConnectorSetupError.js +1 -1
- package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +8 -8
- package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +8 -8
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +4 -4
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +3 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +4 -4
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +26 -13
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +4 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +28 -15
- package/src/lib/utils/hooks/useFundWithWallet/useConnectWalletForFunding/useConnectWalletForFunding.cjs +2 -2
- package/src/lib/utils/hooks/useFundWithWallet/useConnectWalletForFunding/useConnectWalletForFunding.js +2 -2
- package/src/lib/utils/hooks/useFundingHelpers/useFundingHelpers.cjs +2 -2
- package/src/lib/utils/hooks/useFundingHelpers/useFundingHelpers.js +2 -2
- package/src/lib/utils/hooks/useGetMfaToken/useGetMfaToken.cjs +1 -1
- package/src/lib/utils/hooks/useGetMfaToken/useGetMfaToken.js +1 -1
- package/src/lib/utils/hooks/useSignEip7702Authorization/useSignEip7702Authorization.cjs +2 -2
- package/src/lib/utils/hooks/useSignEip7702Authorization/useSignEip7702Authorization.js +2 -2
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +2 -2
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +2 -2
- package/src/lib/utils/hooks/useTransferWallet/useTransferWallet.cjs +2 -2
- package/src/lib/utils/hooks/useTransferWallet/useTransferWallet.js +2 -2
- package/src/lib/utils/hooks/useUpgradeEmbeddedWallet/useUpgradeEmbeddedWallet.cjs +3 -3
- package/src/lib/utils/hooks/useUpgradeEmbeddedWallet/useUpgradeEmbeddedWallet.js +3 -3
- package/src/lib/utils/hooks/useUserAuth/useUserAuth.cjs +1 -1
- package/src/lib/utils/hooks/useUserAuth/useUserAuth.js +1 -1
- package/src/lib/utils/hooks/useUserDataForm/useUserDataForm.cjs +1 -1
- package/src/lib/utils/hooks/useUserDataForm/useUserDataForm.js +1 -1
- package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.cjs +3 -3
- package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.js +3 -3
- package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.cjs +1 -1
- package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.js +1 -1
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +2 -2
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +2 -2
- package/src/lib/utils/hooks/useViewSettings/useViewSettings.d.ts +5 -1
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +1 -1
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +1 -1
- package/src/lib/utils/hooks/useWalletOptions/useWalletOptions.cjs +1 -1
- package/src/lib/utils/hooks/useWalletOptions/useWalletOptions.js +1 -1
- package/src/lib/views/BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.cjs +1 -1
- package/src/lib/views/BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.js +1 -1
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
- package/src/lib/views/EmbeddedReveal/utils/waasExport/waasExport.cjs +2 -2
- package/src/lib/views/EmbeddedReveal/utils/waasExport/waasExport.js +2 -2
- package/src/lib/views/ExportSharesView/ExportSharesView.cjs +2 -2
- package/src/lib/views/ExportSharesView/ExportSharesView.js +2 -2
- package/src/lib/views/LoginView/useLoginView/useLoginView.cjs +1 -1
- package/src/lib/views/LoginView/useLoginView/useLoginView.js +1 -1
- package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +1 -1
- package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +1 -1
- package/src/lib/views/MfaVerificationView/MfaVerificationView.cjs +2 -2
- package/src/lib/views/MfaVerificationView/MfaVerificationView.js +2 -2
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +1 -1
- package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs +3 -3
- package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.js +3 -3
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +14 -14
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +14 -14
- package/src/lib/views/SendBalanceView/SendBalanceView.cjs +2 -2
- package/src/lib/views/SendBalanceView/SendBalanceView.js +2 -2
- package/src/lib/views/WalletDelegation/WalletDelegationView/WalletDelegationView.cjs +1 -1
- package/src/lib/views/WalletDelegation/WalletDelegationView/WalletDelegationView.js +1 -1
- package/src/lib/views/WalletUpgradeFlowView/WalletUpgradeFlowView.cjs +1 -1
- package/src/lib/views/WalletUpgradeFlowView/WalletUpgradeFlowView.js +1 -1
- package/src/lib/widgets/DynamicWidget/views/ChooseWalletFundingMethod/useFundingMethods/getPromptAmountParams/getPromptAmountParams.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/views/ChooseWalletFundingMethod/useFundingMethods/getPromptAmountParams/getPromptAmountParams.js +1 -1
- package/src/lib/widgets/DynamicWidget/views/ReceiveWalletFunds/utils/useSubmitWalletFunding/useSubmitWalletFunding.cjs +10 -1
- package/src/lib/widgets/DynamicWidget/views/ReceiveWalletFunds/utils/useSubmitWalletFunding/useSubmitWalletFunding.js +10 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../../../../../_virtual/_tslib.js';
|
|
3
3
|
import { useCallback, useMemo } from 'react';
|
|
4
|
-
import { JwtVerifiedCredentialFormatEnum } from '@dynamic-labs/sdk-api-core';
|
|
4
|
+
import { JwtVerifiedCredentialFormatEnum, ChainEnum } from '@dynamic-labs/sdk-api-core';
|
|
5
5
|
import { DynamicError, EmbeddedWalletException, StorageService } from '@dynamic-labs/utils';
|
|
6
6
|
import { isSessionKeyCompatibleWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
7
7
|
import '../../../../context/DynamicContext/useDynamicContext/useDynamicContext.js';
|
|
@@ -22,7 +22,7 @@ import '../../../constants/colors.js';
|
|
|
22
22
|
import '../../../constants/values.js';
|
|
23
23
|
import '../../../../shared/consts/index.js';
|
|
24
24
|
import { findEmbeddedWalletFromVerifiedCredentials } from '../../../functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js';
|
|
25
|
-
import { findTurnkeyWalletByPrimaryChain } from '../../../functions/findTurnkeyWallet/findTurnkeyWallet.js';
|
|
25
|
+
import { findTurnkeyWalletByPrimaryChain, findTurnkeyWalletByTargetChain, findFirstAvailableTurnkeyWallet } from '../../../functions/findTurnkeyWallet/findTurnkeyWallet.js';
|
|
26
26
|
import '@dynamic-labs/multi-wallet';
|
|
27
27
|
import 'react-international-phone';
|
|
28
28
|
import { getUserWalletsFromVerifiedCredentials } from '../../../functions/getUserWalletsFromVerifiedCredentials/getUserWalletsFromVerifiedCredentials.js';
|
|
@@ -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,
|
|
@@ -401,14 +401,26 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
401
401
|
]);
|
|
402
402
|
/**
|
|
403
403
|
* Sends a one-time code to the user so they can create a session or add a new passkey
|
|
404
|
+
* @param options - optional parameter to target a specific wallet by chain
|
|
404
405
|
* @returns Promise<'code_sent'>
|
|
405
406
|
*/
|
|
406
|
-
const sendOneTimeCode = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
407
|
-
var _2, _3;
|
|
407
|
+
const sendOneTimeCode = useCallback((options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
408
|
+
var _2, _3, _4, _5, _6;
|
|
408
409
|
if (!user) {
|
|
409
|
-
throw new DynamicError(USER_NOT_LOGGED_IN);
|
|
410
|
+
throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
|
|
411
|
+
}
|
|
412
|
+
const chainConfigurations = (_2 = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _2 === void 0 ? void 0 : _2.chainConfigurations;
|
|
413
|
+
const primaryWalletIsTurnkey = (_3 = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector) === null || _3 === void 0 ? void 0 : _3.key.startsWith('turnkey');
|
|
414
|
+
const primaryWalletChain = primaryWalletIsTurnkey
|
|
415
|
+
? primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.chain
|
|
416
|
+
: undefined;
|
|
417
|
+
const primaryConfiguredChain = (_5 = (_4 = chainConfigurations === null || chainConfigurations === void 0 ? void 0 : chainConfigurations.find((chain) => chain.primary)) === null || _4 === void 0 ? void 0 : _4.name) !== null && _5 !== void 0 ? _5 : ChainEnum.Evm;
|
|
418
|
+
const targetChain = (options === null || options === void 0 ? void 0 : options.chainName) || primaryWalletChain || primaryConfiguredChain;
|
|
419
|
+
let targetTurnkeyWallet = findTurnkeyWalletByTargetChain(walletConnectorOptions, targetChain, user.verifiedCredentials);
|
|
420
|
+
if (!(options === null || options === void 0 ? void 0 : options.chainName) &&
|
|
421
|
+
(!targetTurnkeyWallet || !('id' in targetTurnkeyWallet))) {
|
|
422
|
+
targetTurnkeyWallet = findFirstAvailableTurnkeyWallet(walletConnectorOptions, chainConfigurations, user.verifiedCredentials);
|
|
410
423
|
}
|
|
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
424
|
if (!targetTurnkeyWallet || !('id' in targetTurnkeyWallet)) {
|
|
413
425
|
throw new DynamicError('User does not have a valid secure enclave wallet', INVALID_WALLET_DATA);
|
|
414
426
|
}
|
|
@@ -419,9 +431,9 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
419
431
|
throw new DynamicError('Session is active. No need to create a new one', ACTIVE_SESSION);
|
|
420
432
|
}
|
|
421
433
|
const turnkeyAuthIframeContainerRef = createRootElement(iframeContainerId);
|
|
422
|
-
const publicKey = yield turnkeyAuthenticatorHandler.initRecovery('email', turnkeyAuthIframeContainerRef.current, iframeElementId, getEmbeddedWalletSessionExpiration((
|
|
434
|
+
const publicKey = yield turnkeyAuthenticatorHandler.initRecovery('email', turnkeyAuthIframeContainerRef.current, iframeElementId, getEmbeddedWalletSessionExpiration((_6 = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _6 === void 0 ? void 0 : _6.sessionKeyDuration));
|
|
423
435
|
if (!publicKey) {
|
|
424
|
-
throw new DynamicError(ERROR_SENDING_CODE);
|
|
436
|
+
throw new DynamicError(ERROR_SENDING_CODE, 'error_sending_code');
|
|
425
437
|
}
|
|
426
438
|
const response = yield initEmbeddedWalletSession({
|
|
427
439
|
authenticatorType: 'email',
|
|
@@ -433,6 +445,7 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
433
445
|
return CODE_SENT;
|
|
434
446
|
}), [
|
|
435
447
|
createRootElement,
|
|
448
|
+
primaryWallet,
|
|
436
449
|
user,
|
|
437
450
|
environmentId,
|
|
438
451
|
projectSettings,
|
|
@@ -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
|
};
|
|
@@ -50,10 +50,10 @@ const useSignEip7702Authorization = () => {
|
|
|
50
50
|
// Use provided wallet or fallback to primary wallet
|
|
51
51
|
const wallet = providedWallet !== null && providedWallet !== void 0 ? providedWallet : primaryWallet;
|
|
52
52
|
if (!wallet) {
|
|
53
|
-
throw new utils.DynamicError('No wallet available. Please connect a wallet first.');
|
|
53
|
+
throw new utils.DynamicError('No wallet available. Please connect a wallet first.', 'no_wallet_available');
|
|
54
54
|
}
|
|
55
55
|
if (((_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.key) !== 'zerodev') {
|
|
56
|
-
throw new utils.DynamicError('The wallet connector must be a ZeroDev connector to sign EIP-7702 authorizations.');
|
|
56
|
+
throw new utils.DynamicError('The wallet connector must be a ZeroDev connector to sign EIP-7702 authorizations.', 'invalid_connector_for_eip7702');
|
|
57
57
|
}
|
|
58
58
|
return wallet.connector.signEip7702PreAuth(providedChainId);
|
|
59
59
|
}), [primaryWallet]);
|
|
@@ -46,10 +46,10 @@ const useSignEip7702Authorization = () => {
|
|
|
46
46
|
// Use provided wallet or fallback to primary wallet
|
|
47
47
|
const wallet = providedWallet !== null && providedWallet !== void 0 ? providedWallet : primaryWallet;
|
|
48
48
|
if (!wallet) {
|
|
49
|
-
throw new DynamicError('No wallet available. Please connect a wallet first.');
|
|
49
|
+
throw new DynamicError('No wallet available. Please connect a wallet first.', 'no_wallet_available');
|
|
50
50
|
}
|
|
51
51
|
if (((_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.key) !== 'zerodev') {
|
|
52
|
-
throw new DynamicError('The wallet connector must be a ZeroDev connector to sign EIP-7702 authorizations.');
|
|
52
|
+
throw new DynamicError('The wallet connector must be a ZeroDev connector to sign EIP-7702 authorizations.', 'invalid_connector_for_eip7702');
|
|
53
53
|
}
|
|
54
54
|
return wallet.connector.signEip7702PreAuth(providedChainId);
|
|
55
55
|
}), [primaryWallet]);
|
|
@@ -455,11 +455,11 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
|
|
|
455
455
|
const checkCaptchaAndConnect = React.useCallback((props) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
456
456
|
var _m;
|
|
457
457
|
if (props.authMode === 'signin' && client.getDynamicClient().user) {
|
|
458
|
-
throw new utils.DynamicError('User is already logged in');
|
|
458
|
+
throw new utils.DynamicError('User is already logged in', 'user_is_already_logged_in');
|
|
459
459
|
}
|
|
460
460
|
else if ((props.authMode === 'link' || props.authMode === 'stepup') &&
|
|
461
461
|
!client.getDynamicClient().user) {
|
|
462
|
-
throw new utils.DynamicError('User is not logged in');
|
|
462
|
+
throw new utils.DynamicError('User is not logged in', 'user_is_not_logged_in');
|
|
463
463
|
}
|
|
464
464
|
if (!((_m = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.security.hCaptcha) === null || _m === void 0 ? void 0 : _m.enabled)) {
|
|
465
465
|
yield connectSocialAccount(props);
|
|
@@ -451,11 +451,11 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
|
|
|
451
451
|
const checkCaptchaAndConnect = useCallback((props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
452
452
|
var _m;
|
|
453
453
|
if (props.authMode === 'signin' && getDynamicClient().user) {
|
|
454
|
-
throw new DynamicError('User is already logged in');
|
|
454
|
+
throw new DynamicError('User is already logged in', 'user_is_already_logged_in');
|
|
455
455
|
}
|
|
456
456
|
else if ((props.authMode === 'link' || props.authMode === 'stepup') &&
|
|
457
457
|
!getDynamicClient().user) {
|
|
458
|
-
throw new DynamicError('User is not logged in');
|
|
458
|
+
throw new DynamicError('User is not logged in', 'user_is_not_logged_in');
|
|
459
459
|
}
|
|
460
460
|
if (!((_m = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.security.hCaptcha) === null || _m === void 0 ? void 0 : _m.enabled)) {
|
|
461
461
|
yield connectSocialAccount(props);
|
|
@@ -58,7 +58,7 @@ const useTransferWallet = () => {
|
|
|
58
58
|
}, [primaryWallet]);
|
|
59
59
|
return React.useCallback((props) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
60
60
|
if (!user)
|
|
61
|
-
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
61
|
+
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
|
|
62
62
|
const { overrideSiweStatement, walletConnector } = props;
|
|
63
63
|
const args = Object.assign(Object.assign({}, props), { displaySiweStatement,
|
|
64
64
|
environmentId, siweStatement: overrideSiweStatement, walletProvider: walletConnectorCore.getWalletProvider(walletConnector) });
|
|
@@ -76,7 +76,7 @@ const useTransferWallet = () => {
|
|
|
76
76
|
}
|
|
77
77
|
const userProfile = yield wallets.transferWallet(environmentId, verifyArgs);
|
|
78
78
|
if (!userProfile) {
|
|
79
|
-
throw new utils.DynamicError('Error transferring wallet.');
|
|
79
|
+
throw new utils.DynamicError('Error transferring wallet.', 'transferring_wallet');
|
|
80
80
|
}
|
|
81
81
|
updatePrimaryWallet(walletConnector, userProfile);
|
|
82
82
|
const walletId = userProfile.lastVerifiedCredentialId;
|
|
@@ -54,7 +54,7 @@ const useTransferWallet = () => {
|
|
|
54
54
|
}, [primaryWallet]);
|
|
55
55
|
return useCallback((props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
56
|
if (!user)
|
|
57
|
-
throw new DynamicError(USER_NOT_LOGGED_IN);
|
|
57
|
+
throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
|
|
58
58
|
const { overrideSiweStatement, walletConnector } = props;
|
|
59
59
|
const args = Object.assign(Object.assign({}, props), { displaySiweStatement,
|
|
60
60
|
environmentId, siweStatement: overrideSiweStatement, walletProvider: getWalletProvider(walletConnector) });
|
|
@@ -72,7 +72,7 @@ const useTransferWallet = () => {
|
|
|
72
72
|
}
|
|
73
73
|
const userProfile = yield transferWallet(environmentId, verifyArgs);
|
|
74
74
|
if (!userProfile) {
|
|
75
|
-
throw new DynamicError('Error transferring wallet.');
|
|
75
|
+
throw new DynamicError('Error transferring wallet.', 'transferring_wallet');
|
|
76
76
|
}
|
|
77
77
|
updatePrimaryWallet(walletConnector, userProfile);
|
|
78
78
|
const walletId = userProfile.lastVerifiedCredentialId;
|
|
@@ -63,14 +63,14 @@ const useUpgradeEmbeddedWallet = () => {
|
|
|
63
63
|
const upgradeEmbeddedWallet = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
64
64
|
var _a, _b, _c, _d;
|
|
65
65
|
if (!user)
|
|
66
|
-
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
66
|
+
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
|
|
67
67
|
const userHasV2EmbeddedWallet = user.verifiedCredentials.some((credential) => { var _a; return ((_a = credential.walletProperties) === null || _a === void 0 ? void 0 : _a.version) === sdkApiCore.EmbeddedWalletVersionEnum.V2; });
|
|
68
68
|
if (userHasV2EmbeddedWallet) {
|
|
69
|
-
throw new utils.DynamicError(errors.USER_HAS_V2_EMBEDDED_WALLET);
|
|
69
|
+
throw new utils.DynamicError(errors.USER_HAS_V2_EMBEDDED_WALLET, 'user_has_v2_embedded_wallet');
|
|
70
70
|
}
|
|
71
71
|
const requiredSessionKey = shouldRegisterSessionKeysOnSignin();
|
|
72
72
|
if (!requiredSessionKey) {
|
|
73
|
-
throw new utils.DynamicError(errors.INCOMPATIBLE_SDK_VERSION);
|
|
73
|
+
throw new utils.DynamicError(errors.INCOMPATIBLE_SDK_VERSION, 'incompatible_sdk_version');
|
|
74
74
|
}
|
|
75
75
|
const sessionPublicKey = getSessionPublicKey();
|
|
76
76
|
const verifyResponse = yield wallets.upgradeEmbeddedWalletToV2({
|
|
@@ -59,14 +59,14 @@ const useUpgradeEmbeddedWallet = () => {
|
|
|
59
59
|
const upgradeEmbeddedWallet = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
60
|
var _a, _b, _c, _d;
|
|
61
61
|
if (!user)
|
|
62
|
-
throw new DynamicError(USER_NOT_LOGGED_IN);
|
|
62
|
+
throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
|
|
63
63
|
const userHasV2EmbeddedWallet = user.verifiedCredentials.some((credential) => { var _a; return ((_a = credential.walletProperties) === null || _a === void 0 ? void 0 : _a.version) === EmbeddedWalletVersionEnum.V2; });
|
|
64
64
|
if (userHasV2EmbeddedWallet) {
|
|
65
|
-
throw new DynamicError(USER_HAS_V2_EMBEDDED_WALLET);
|
|
65
|
+
throw new DynamicError(USER_HAS_V2_EMBEDDED_WALLET, 'user_has_v2_embedded_wallet');
|
|
66
66
|
}
|
|
67
67
|
const requiredSessionKey = shouldRegisterSessionKeysOnSignin();
|
|
68
68
|
if (!requiredSessionKey) {
|
|
69
|
-
throw new DynamicError(INCOMPATIBLE_SDK_VERSION);
|
|
69
|
+
throw new DynamicError(INCOMPATIBLE_SDK_VERSION, 'incompatible_sdk_version');
|
|
70
70
|
}
|
|
71
71
|
const sessionPublicKey = getSessionPublicKey();
|
|
72
72
|
const verifyResponse = yield upgradeEmbeddedWalletToV2({
|
|
@@ -157,7 +157,7 @@ const useUserAuth = ({ authMethod, }) => {
|
|
|
157
157
|
const verifyResponse = yield verifyFunction();
|
|
158
158
|
if (!verifyResponse) {
|
|
159
159
|
yield cancelAuth();
|
|
160
|
-
throw new utils.DynamicError('No user returned from verify function');
|
|
160
|
+
throw new utils.DynamicError('No user returned from verify function', 'no_user_returned_from_verify_function');
|
|
161
161
|
}
|
|
162
162
|
let verifiedUser;
|
|
163
163
|
if (isVerifyResponse(verifyResponse)) {
|
|
@@ -153,7 +153,7 @@ const useUserAuth = ({ authMethod, }) => {
|
|
|
153
153
|
const verifyResponse = yield verifyFunction();
|
|
154
154
|
if (!verifyResponse) {
|
|
155
155
|
yield cancelAuth();
|
|
156
|
-
throw new DynamicError('No user returned from verify function');
|
|
156
|
+
throw new DynamicError('No user returned from verify function', 'no_user_returned_from_verify_function');
|
|
157
157
|
}
|
|
158
158
|
let verifiedUser;
|
|
159
159
|
if (isVerifyResponse(verifyResponse)) {
|
|
@@ -89,7 +89,7 @@ const useUserDataForm = ({ onSubmit, onError, userProfile, shouldEnforcePolicies
|
|
|
89
89
|
return;
|
|
90
90
|
try {
|
|
91
91
|
if (!(userProfile === null || userProfile === void 0 ? void 0 : userProfile.environmentId))
|
|
92
|
-
throw new utils.DynamicError('Invalid environment ID');
|
|
92
|
+
throw new utils.DynamicError('Invalid environment ID', 'invalid_environment_id');
|
|
93
93
|
setFetch(true);
|
|
94
94
|
let updatedUserFields = values;
|
|
95
95
|
// all kyc fields including custom are in the object, move custom fields to the object.metadata
|
|
@@ -85,7 +85,7 @@ const useUserDataForm = ({ onSubmit, onError, userProfile, shouldEnforcePolicies
|
|
|
85
85
|
return;
|
|
86
86
|
try {
|
|
87
87
|
if (!(userProfile === null || userProfile === void 0 ? void 0 : userProfile.environmentId))
|
|
88
|
-
throw new DynamicError('Invalid environment ID');
|
|
88
|
+
throw new DynamicError('Invalid environment ID', 'invalid_environment_id');
|
|
89
89
|
setFetch(true);
|
|
90
90
|
let updatedUserFields = values;
|
|
91
91
|
// all kyc fields including custom are in the object, move custom fields to the object.metadata
|
|
@@ -20,14 +20,14 @@ const useUnlinkUserEmail = () => {
|
|
|
20
20
|
const user$1 = (_b = client.getDynamicClient()) === null || _b === void 0 ? void 0 : _b.user;
|
|
21
21
|
const primaryWalletId$1 = primaryWalletId.getPrimaryWalletId();
|
|
22
22
|
if (!primaryWalletId$1) {
|
|
23
|
-
throw new utils.DynamicError('Primary wallet not found');
|
|
23
|
+
throw new utils.DynamicError('Primary wallet not found', 'primary_wallet_not_found');
|
|
24
24
|
}
|
|
25
25
|
const verifiedCredential = user$1 === null || user$1 === void 0 ? void 0 : user$1.verifiedCredentials.find((credential) => credential.id === verifiedCredentialId);
|
|
26
26
|
if (!verifiedCredential) {
|
|
27
|
-
throw new utils.DynamicError('Verified credential not found');
|
|
27
|
+
throw new utils.DynamicError('Verified credential not found', 'verified_credential_not_found');
|
|
28
28
|
}
|
|
29
29
|
if (verifiedCredential.format !== sdkApiCore.JwtVerifiedCredentialFormatEnum.Email) {
|
|
30
|
-
throw new utils.DynamicError('Verified credential is not an email');
|
|
30
|
+
throw new utils.DynamicError('Verified credential is not an email', 'verified_credential_is_not_an_email');
|
|
31
31
|
}
|
|
32
32
|
return user.unlinkEmail({
|
|
33
33
|
environmentId,
|
|
@@ -16,14 +16,14 @@ const useUnlinkUserEmail = () => {
|
|
|
16
16
|
const user = (_b = getDynamicClient()) === null || _b === void 0 ? void 0 : _b.user;
|
|
17
17
|
const primaryWalletId = getPrimaryWalletId();
|
|
18
18
|
if (!primaryWalletId) {
|
|
19
|
-
throw new DynamicError('Primary wallet not found');
|
|
19
|
+
throw new DynamicError('Primary wallet not found', 'primary_wallet_not_found');
|
|
20
20
|
}
|
|
21
21
|
const verifiedCredential = user === null || user === void 0 ? void 0 : user.verifiedCredentials.find((credential) => credential.id === verifiedCredentialId);
|
|
22
22
|
if (!verifiedCredential) {
|
|
23
|
-
throw new DynamicError('Verified credential not found');
|
|
23
|
+
throw new DynamicError('Verified credential not found', 'verified_credential_not_found');
|
|
24
24
|
}
|
|
25
25
|
if (verifiedCredential.format !== JwtVerifiedCredentialFormatEnum.Email) {
|
|
26
|
-
throw new DynamicError('Verified credential is not an email');
|
|
26
|
+
throw new DynamicError('Verified credential is not an email', 'verified_credential_is_not_an_email');
|
|
27
27
|
}
|
|
28
28
|
return unlinkEmail({
|
|
29
29
|
environmentId,
|
package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.cjs
CHANGED
|
@@ -56,7 +56,7 @@ const useUpdateUserWithModal = (updateUser) => {
|
|
|
56
56
|
const { pushView } = ViewContext.useViewContext();
|
|
57
57
|
const editorContext = React.useContext(UserFieldEditorContext.UserFieldEditorContext);
|
|
58
58
|
if (!editorContext)
|
|
59
|
-
throw new utils.DynamicError('useUserUpdateRequest can only be used inside the context of DynamicContextProvider');
|
|
59
|
+
throw new utils.DynamicError('useUserUpdateRequest can only be used inside the context of DynamicContextProvider', 'missing_dynamic_context');
|
|
60
60
|
const { open: promptUserForValues } = editorContext;
|
|
61
61
|
const updateUserWithModal = React.useCallback((fields, options) => new Promise((resolve, reject) => {
|
|
62
62
|
// Catch invalid requests
|
package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.js
CHANGED
|
@@ -52,7 +52,7 @@ const useUpdateUserWithModal = (updateUser) => {
|
|
|
52
52
|
const { pushView } = useViewContext();
|
|
53
53
|
const editorContext = useContext(UserFieldEditorContext);
|
|
54
54
|
if (!editorContext)
|
|
55
|
-
throw new DynamicError('useUserUpdateRequest can only be used inside the context of DynamicContextProvider');
|
|
55
|
+
throw new DynamicError('useUserUpdateRequest can only be used inside the context of DynamicContextProvider', 'missing_dynamic_context');
|
|
56
56
|
const { open: promptUserForValues } = editorContext;
|
|
57
57
|
const updateUserWithModal = useCallback((fields, options) => new Promise((resolve, reject) => {
|
|
58
58
|
// Catch invalid requests
|
|
@@ -279,7 +279,7 @@ const useVerifyWallet = ({ displaySiweStatement, environmentId, projectSettings,
|
|
|
279
279
|
}
|
|
280
280
|
const authMode$1 = authMode.getAuthMode();
|
|
281
281
|
if (connectedWallets.length && authMode$1 === 'connect-only') {
|
|
282
|
-
throw new utils.DynamicError(e.message);
|
|
282
|
+
throw new utils.DynamicError(e.message, 'unknown');
|
|
283
283
|
}
|
|
284
284
|
const userRejectedRequestError = (_a = e === null || e === void 0 ? void 0 : e.message) === null || _a === void 0 ? void 0 : _a.includes('User rejected the request');
|
|
285
285
|
const fallbackToConnectOnly = shouldFallbackToConnectOnly && !userRejectedRequestError;
|
|
@@ -323,7 +323,7 @@ const useVerifyWallet = ({ displaySiweStatement, environmentId, projectSettings,
|
|
|
323
323
|
onVerifySuccess: (user) => {
|
|
324
324
|
var _a;
|
|
325
325
|
if (!user) {
|
|
326
|
-
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
326
|
+
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
|
|
327
327
|
}
|
|
328
328
|
try {
|
|
329
329
|
(_a = events === null || events === void 0 ? void 0 : events.onSignedMessage) === null || _a === void 0 ? void 0 : _a.call(events, {
|
|
@@ -275,7 +275,7 @@ const useVerifyWallet = ({ displaySiweStatement, environmentId, projectSettings,
|
|
|
275
275
|
}
|
|
276
276
|
const authMode = getAuthMode();
|
|
277
277
|
if (connectedWallets.length && authMode === 'connect-only') {
|
|
278
|
-
throw new DynamicError(e.message);
|
|
278
|
+
throw new DynamicError(e.message, 'unknown');
|
|
279
279
|
}
|
|
280
280
|
const userRejectedRequestError = (_a = e === null || e === void 0 ? void 0 : e.message) === null || _a === void 0 ? void 0 : _a.includes('User rejected the request');
|
|
281
281
|
const fallbackToConnectOnly = shouldFallbackToConnectOnly && !userRejectedRequestError;
|
|
@@ -319,7 +319,7 @@ const useVerifyWallet = ({ displaySiweStatement, environmentId, projectSettings,
|
|
|
319
319
|
onVerifySuccess: (user) => {
|
|
320
320
|
var _a;
|
|
321
321
|
if (!user) {
|
|
322
|
-
throw new DynamicError(USER_NOT_LOGGED_IN);
|
|
322
|
+
throw new DynamicError(USER_NOT_LOGGED_IN, 'user_not_logged_in');
|
|
323
323
|
}
|
|
324
324
|
try {
|
|
325
325
|
(_a = events === null || events === void 0 ? void 0 : events.onSignedMessage) === null || _a === void 0 ? void 0 : _a.call(events, {
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
export declare const useViewSettings: <T extends import("@dynamic-labs/sdk-api-core").SdkViewType | "wallet-list", R extends Extract<import("@dynamic-labs/sdk-api-core").SdkView, {
|
|
1
|
+
export declare const useViewSettings: <T extends import("@dynamic-labs/sdk-api-core").SdkViewType | "wallet-list" | "transaction-confirmation", R extends Extract<import("@dynamic-labs/sdk-api-core").SdkView, {
|
|
2
2
|
type: T;
|
|
3
3
|
}> | Extract<import("../../../context/DynamicContext/types").WalletListViewSettings, {
|
|
4
4
|
type: T;
|
|
5
|
+
}> | Extract<import("../../../context/DynamicContext/types").TransactionConfirmationViewSettings, {
|
|
6
|
+
type: T;
|
|
5
7
|
}> | undefined = Extract<import("@dynamic-labs/sdk-api-core").SdkView, {
|
|
6
8
|
type: T;
|
|
7
9
|
}> | Extract<import("../../../context/DynamicContext/types").WalletListViewSettings, {
|
|
8
10
|
type: T;
|
|
11
|
+
}> | Extract<import("../../../context/DynamicContext/types").TransactionConfirmationViewSettings, {
|
|
12
|
+
type: T;
|
|
9
13
|
}> | undefined>(viewType: T) => R;
|
|
@@ -94,7 +94,7 @@ const useWalletConnectors = ({ connectedWallets, walletConnectorOptions, setMult
|
|
|
94
94
|
const getSelectedWallet = React.useCallback((walletId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
95
95
|
const newWallet = wallets.find(({ id }) => id === walletId);
|
|
96
96
|
if (!newWallet) {
|
|
97
|
-
throw new utils.DynamicError(`Wallet with id: ${walletId} not found
|
|
97
|
+
throw new utils.DynamicError(`Wallet with id: ${walletId} not found`, 'wallet_with_id_not_found');
|
|
98
98
|
}
|
|
99
99
|
return newWallet;
|
|
100
100
|
}), [wallets]);
|
|
@@ -90,7 +90,7 @@ const useWalletConnectors = ({ connectedWallets, walletConnectorOptions, setMult
|
|
|
90
90
|
const getSelectedWallet = useCallback((walletId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
91
91
|
const newWallet = wallets.find(({ id }) => id === walletId);
|
|
92
92
|
if (!newWallet) {
|
|
93
|
-
throw new DynamicError(`Wallet with id: ${walletId} not found
|
|
93
|
+
throw new DynamicError(`Wallet with id: ${walletId} not found`, 'wallet_with_id_not_found');
|
|
94
94
|
}
|
|
95
95
|
return newWallet;
|
|
96
96
|
}), [wallets]);
|
|
@@ -111,7 +111,7 @@ const useWalletOptions = () => {
|
|
|
111
111
|
const errorMessage = chain
|
|
112
112
|
? `No wallet found with key "${walletKey}" for chain "${chain}".`
|
|
113
113
|
: `No wallet found with key "${walletKey}".`;
|
|
114
|
-
reject(new utils.DynamicError(errorMessage));
|
|
114
|
+
reject(new utils.DynamicError(errorMessage, 'wallet_not_found'));
|
|
115
115
|
return;
|
|
116
116
|
}
|
|
117
117
|
addListenersToHandleWalletSelectionPromise({
|
|
@@ -107,7 +107,7 @@ const useWalletOptions = () => {
|
|
|
107
107
|
const errorMessage = chain
|
|
108
108
|
? `No wallet found with key "${walletKey}" for chain "${chain}".`
|
|
109
109
|
: `No wallet found with key "${walletKey}".`;
|
|
110
|
-
reject(new DynamicError(errorMessage));
|
|
110
|
+
reject(new DynamicError(errorMessage, 'wallet_not_found'));
|
|
111
111
|
return;
|
|
112
112
|
}
|
|
113
113
|
addListenersToHandleWalletSelectionPromise({
|
|
@@ -24,7 +24,7 @@ const BridgeNextWalletConnectionView = () => {
|
|
|
24
24
|
const { setShowAuthFlow, bridgeChainsToConnect } = useInternalDynamicContext.useInternalDynamicContext();
|
|
25
25
|
const { pushView } = ViewContext.useViewContext();
|
|
26
26
|
if (!(bridgeChainsToConnect === null || bridgeChainsToConnect === void 0 ? void 0 : bridgeChainsToConnect.length)) {
|
|
27
|
-
throw new utils.DynamicError('No wallets to connect');
|
|
27
|
+
throw new utils.DynamicError('No wallets to connect', 'no_wallets_to_connect');
|
|
28
28
|
}
|
|
29
29
|
const [nextWalletToConnect] = bridgeChainsToConnect;
|
|
30
30
|
const { chain } = nextWalletToConnect;
|
|
@@ -20,7 +20,7 @@ const BridgeNextWalletConnectionView = () => {
|
|
|
20
20
|
const { setShowAuthFlow, bridgeChainsToConnect } = useInternalDynamicContext();
|
|
21
21
|
const { pushView } = useViewContext();
|
|
22
22
|
if (!(bridgeChainsToConnect === null || bridgeChainsToConnect === void 0 ? void 0 : bridgeChainsToConnect.length)) {
|
|
23
|
-
throw new DynamicError('No wallets to connect');
|
|
23
|
+
throw new DynamicError('No wallets to connect', 'no_wallets_to_connect');
|
|
24
24
|
}
|
|
25
25
|
const [nextWalletToConnect] = bridgeChainsToConnect;
|
|
26
26
|
const { chain } = nextWalletToConnect;
|
|
@@ -59,7 +59,7 @@ const initExport = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ i
|
|
|
59
59
|
const handleExportInitCheck = ({ user, wallet, }) => {
|
|
60
60
|
var _a, _b, _c, _d, _e;
|
|
61
61
|
if (!user) {
|
|
62
|
-
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
62
|
+
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN, 'user_not_logged_in');
|
|
63
63
|
}
|
|
64
64
|
if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
|
|
65
65
|
!(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
|
|
@@ -74,7 +74,7 @@ const handleExportInitCheck = ({ user, wallet, }) => {
|
|
|
74
74
|
const organizationId = (_e = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeySubOrganizationId) !== null && _e !== void 0 ? _e : undefined;
|
|
75
75
|
if (!organizationId ||
|
|
76
76
|
(turnkeyHDWalletId === undefined && privateKeyId === undefined)) {
|
|
77
|
-
throw new utils.DynamicError('Invalid token!');
|
|
77
|
+
throw new utils.DynamicError('Invalid token!', 'invalid_token');
|
|
78
78
|
}
|
|
79
79
|
return {
|
|
80
80
|
connector,
|