@dynamic-labs/sdk-react-core 2.1.3 → 2.1.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 +12 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +13 -13
- package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +2 -1
- package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +2 -1
- package/src/lib/locale/en/translation.cjs +4 -4
- package/src/lib/locale/en/translation.d.ts +2 -2
- package/src/lib/locale/en/translation.js +4 -4
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.cjs +2 -1
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.js +2 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +6 -4
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +6 -4
- package/src/lib/utils/hooks/useSwitchWallet/useSwitchWallet.cjs +1 -1
- package/src/lib/utils/hooks/useSwitchWallet/useSwitchWallet.js +1 -1
- package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.cjs +1 -1
- package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +2 -2
|
@@ -82,7 +82,8 @@ const walletListBuilder = ({ authMode, userWallets, multiWallet, numberOfWallets
|
|
|
82
82
|
if (walletConnectorCore.isEmbeddedConnector(wallet.walletConnector)) {
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
85
|
-
else if (wallet.key === 'unknown'
|
|
85
|
+
else if (wallet.key === 'unknown' ||
|
|
86
|
+
!wallet.walletConnector.isAvailable) {
|
|
86
87
|
return;
|
|
87
88
|
}
|
|
88
89
|
else if (isRecommendedWallet) {
|
|
@@ -78,7 +78,8 @@ const walletListBuilder = ({ authMode, userWallets, multiWallet, numberOfWallets
|
|
|
78
78
|
if (isEmbeddedConnector(wallet.walletConnector)) {
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
|
-
else if (wallet.key === 'unknown'
|
|
81
|
+
else if (wallet.key === 'unknown' ||
|
|
82
|
+
!wallet.walletConnector.isAvailable) {
|
|
82
83
|
return;
|
|
83
84
|
}
|
|
84
85
|
else if (isRecommendedWallet) {
|
|
@@ -14,9 +14,10 @@ require('@dynamic-labs/wallet-connector-core');
|
|
|
14
14
|
require('react/jsx-runtime');
|
|
15
15
|
require('../../../context/ViewContext/ViewContext.cjs');
|
|
16
16
|
require('@dynamic-labs/wallet-book');
|
|
17
|
+
var localStorage$1 = require('../../constants/localStorage.cjs');
|
|
17
18
|
require('../../constants/colors.cjs');
|
|
18
19
|
require('../../constants/values.cjs');
|
|
19
|
-
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
20
|
+
var localStorage = require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
20
21
|
require('../../../shared/consts/index.cjs');
|
|
21
22
|
require('../../../events/dynamicEvents.cjs');
|
|
22
23
|
require('../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
@@ -100,7 +101,7 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useDyna
|
|
|
100
101
|
* }
|
|
101
102
|
*/
|
|
102
103
|
const useEmbeddedWallet = () => {
|
|
103
|
-
const { user, projectSettings
|
|
104
|
+
const { user, projectSettings } = useInternalDynamicContext.useInternalDynamicContext();
|
|
104
105
|
const { isTurnkeyWallet } = useIsTurnkeyWallet.useIsTurnkeyWallet();
|
|
105
106
|
const { createEmbeddedWallet: createMPCWallet, canCreateMPCWallet, createPassword, revealEmbeddedWalletKey: reveaCoinbaseMPCEmbeddedWalletKey, } = useMPCEmbeddedWallet.useMPCEmbeddedWallet();
|
|
106
107
|
const { createEmbeddedWallet: createTurnkeyEmbeddedWallet, createOrRestoreSession, createPasskey, revealEmbeddedWalletKey: revealTurnkeyEmbeddedWalletKey, getPasskeys, isSessionActive, sendOneTimeCode, } = useSecureEnclaveEmbeddedWallet.useSecureEnclaveEmbeddedWallet();
|
|
@@ -139,9 +140,10 @@ const useEmbeddedWallet = () => {
|
|
|
139
140
|
});
|
|
140
141
|
const shouldAutoCreateEmbeddedWallet = React.useCallback(() => {
|
|
141
142
|
var _a, _b;
|
|
143
|
+
const hasPrimaryWallet = localStorage.LocalStorage.getFromLS(localStorage$1.PRIMARY_WALLET_ID);
|
|
142
144
|
const hasEmbeddedWalletProviderEnabled = isTurnkeyEnabled.isTurnkeyEnabled(projectSettings) ||
|
|
143
145
|
isCoinbaseWaasEnabled.isCoinbaseWaasEnabled(projectSettings);
|
|
144
|
-
if (!hasEmbeddedWalletProviderEnabled ||
|
|
146
|
+
if (!hasEmbeddedWalletProviderEnabled || hasPrimaryWallet) {
|
|
145
147
|
return false;
|
|
146
148
|
}
|
|
147
149
|
// Turnkey specific rules
|
|
@@ -153,7 +155,7 @@ const useEmbeddedWallet = () => {
|
|
|
153
155
|
return false;
|
|
154
156
|
}
|
|
155
157
|
return true;
|
|
156
|
-
}, [
|
|
158
|
+
}, [projectSettings]);
|
|
157
159
|
return {
|
|
158
160
|
createEmbeddedWallet,
|
|
159
161
|
createOrRestoreSession,
|
|
@@ -10,9 +10,10 @@ import '@dynamic-labs/wallet-connector-core';
|
|
|
10
10
|
import 'react/jsx-runtime';
|
|
11
11
|
import '../../../context/ViewContext/ViewContext.js';
|
|
12
12
|
import '@dynamic-labs/wallet-book';
|
|
13
|
+
import { PRIMARY_WALLET_ID } from '../../constants/localStorage.js';
|
|
13
14
|
import '../../constants/colors.js';
|
|
14
15
|
import '../../constants/values.js';
|
|
15
|
-
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
16
|
+
import { LocalStorage } from '../../../shared/utils/classes/storage/localStorage.js';
|
|
16
17
|
import '../../../shared/consts/index.js';
|
|
17
18
|
import '../../../events/dynamicEvents.js';
|
|
18
19
|
import '../../../context/CaptchaContext/CaptchaContext.js';
|
|
@@ -96,7 +97,7 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDy
|
|
|
96
97
|
* }
|
|
97
98
|
*/
|
|
98
99
|
const useEmbeddedWallet = () => {
|
|
99
|
-
const { user, projectSettings
|
|
100
|
+
const { user, projectSettings } = useInternalDynamicContext();
|
|
100
101
|
const { isTurnkeyWallet } = useIsTurnkeyWallet();
|
|
101
102
|
const { createEmbeddedWallet: createMPCWallet, canCreateMPCWallet, createPassword, revealEmbeddedWalletKey: reveaCoinbaseMPCEmbeddedWalletKey, } = useMPCEmbeddedWallet();
|
|
102
103
|
const { createEmbeddedWallet: createTurnkeyEmbeddedWallet, createOrRestoreSession, createPasskey, revealEmbeddedWalletKey: revealTurnkeyEmbeddedWalletKey, getPasskeys, isSessionActive, sendOneTimeCode, } = useSecureEnclaveEmbeddedWallet();
|
|
@@ -135,9 +136,10 @@ const useEmbeddedWallet = () => {
|
|
|
135
136
|
});
|
|
136
137
|
const shouldAutoCreateEmbeddedWallet = useCallback(() => {
|
|
137
138
|
var _a, _b;
|
|
139
|
+
const hasPrimaryWallet = LocalStorage.getFromLS(PRIMARY_WALLET_ID);
|
|
138
140
|
const hasEmbeddedWalletProviderEnabled = isTurnkeyEnabled(projectSettings) ||
|
|
139
141
|
isCoinbaseWaasEnabled(projectSettings);
|
|
140
|
-
if (!hasEmbeddedWalletProviderEnabled ||
|
|
142
|
+
if (!hasEmbeddedWalletProviderEnabled || hasPrimaryWallet) {
|
|
141
143
|
return false;
|
|
142
144
|
}
|
|
143
145
|
// Turnkey specific rules
|
|
@@ -149,7 +151,7 @@ const useEmbeddedWallet = () => {
|
|
|
149
151
|
return false;
|
|
150
152
|
}
|
|
151
153
|
return true;
|
|
152
|
-
}, [
|
|
154
|
+
}, [projectSettings]);
|
|
153
155
|
return {
|
|
154
156
|
createEmbeddedWallet,
|
|
155
157
|
createOrRestoreSession,
|
|
@@ -112,7 +112,7 @@ const useSwitchWallet = () => {
|
|
|
112
112
|
throw new Error(`Wallet with id ${walletId} not found`);
|
|
113
113
|
}
|
|
114
114
|
if (((_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.key) === 'unknown') {
|
|
115
|
-
throw new Error("Cannot
|
|
115
|
+
throw new Error("Cannot make this wallet active, since this wallet doesn't have a compatible connector on this device.");
|
|
116
116
|
}
|
|
117
117
|
const { connector } = wallet;
|
|
118
118
|
const email = (_b = user === null || user === void 0 ? void 0 : user.verifiedCredentials.find((verifiedCredential) => verifiedCredential.format === 'email')) === null || _b === void 0 ? void 0 : _b.email;
|
|
@@ -108,7 +108,7 @@ const useSwitchWallet = () => {
|
|
|
108
108
|
throw new Error(`Wallet with id ${walletId} not found`);
|
|
109
109
|
}
|
|
110
110
|
if (((_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.key) === 'unknown') {
|
|
111
|
-
throw new Error("Cannot
|
|
111
|
+
throw new Error("Cannot make this wallet active, since this wallet doesn't have a compatible connector on this device.");
|
|
112
112
|
}
|
|
113
113
|
const { connector } = wallet;
|
|
114
114
|
const email = (_b = user === null || user === void 0 ? void 0 : user.verifiedCredentials.find((verifiedCredential) => verifiedCredential.format === 'email')) === null || _b === void 0 ? void 0 : _b.email;
|
|
@@ -17,7 +17,7 @@ const findWallet = (account, walletOptions) => {
|
|
|
17
17
|
}
|
|
18
18
|
// if we cannot find the correct connector for the wallet, we default to the unknown
|
|
19
19
|
// this way the wallet will appear in user wallets, but will not be able to be interacted with
|
|
20
|
-
return ((_a = walletOptions.find((wallet) => walletKey === wallet.key)) !== null && _a !== void 0 ? _a : walletOptions.find((wallet) => wallet.key === '
|
|
20
|
+
return ((_a = walletOptions.find((wallet) => walletKey === wallet.key)) !== null && _a !== void 0 ? _a : walletOptions.find((wallet) => wallet.key === 'fallbackconnector'));
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
exports.findWallet = findWallet;
|
|
@@ -13,7 +13,7 @@ const findWallet = (account, walletOptions) => {
|
|
|
13
13
|
}
|
|
14
14
|
// if we cannot find the correct connector for the wallet, we default to the unknown
|
|
15
15
|
// this way the wallet will appear in user wallets, but will not be able to be interacted with
|
|
16
|
-
return ((_a = walletOptions.find((wallet) => walletKey === wallet.key)) !== null && _a !== void 0 ? _a : walletOptions.find((wallet) => wallet.key === '
|
|
16
|
+
return ((_a = walletOptions.find((wallet) => walletKey === wallet.key)) !== null && _a !== void 0 ? _a : walletOptions.find((wallet) => wallet.key === 'fallbackconnector'));
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
export { findWallet };
|
|
@@ -88,7 +88,7 @@ require('../../views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
|
88
88
|
var useInternalDynamicContext = require('../../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
89
89
|
|
|
90
90
|
const Wallet = ({ wallet, ens }) => {
|
|
91
|
-
var _a;
|
|
91
|
+
var _a, _b;
|
|
92
92
|
const { connector, address } = wallet;
|
|
93
93
|
const switchWallet = useSwitchWallet.useSwitchWallet();
|
|
94
94
|
const { setSelectedWalletWithAction, projectSettings, authMode } = useInternalDynamicContext.useInternalDynamicContext();
|
|
@@ -97,7 +97,7 @@ const Wallet = ({ wallet, ens }) => {
|
|
|
97
97
|
{
|
|
98
98
|
Icon: jsxRuntime.jsx(switchHorizontal.ReactComponent, {}),
|
|
99
99
|
callback: () => switchWallet(wallet.id),
|
|
100
|
-
hide: ((_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.key) === 'unknown',
|
|
100
|
+
hide: ((_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.key) === 'unknown' || !((_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.isAvailable),
|
|
101
101
|
text: 'Select wallet',
|
|
102
102
|
},
|
|
103
103
|
];
|
|
@@ -84,7 +84,7 @@ import '../../views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
|
84
84
|
import { useInternalDynamicContext } from '../../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
|
|
85
85
|
|
|
86
86
|
const Wallet = ({ wallet, ens }) => {
|
|
87
|
-
var _a;
|
|
87
|
+
var _a, _b;
|
|
88
88
|
const { connector, address } = wallet;
|
|
89
89
|
const switchWallet = useSwitchWallet();
|
|
90
90
|
const { setSelectedWalletWithAction, projectSettings, authMode } = useInternalDynamicContext();
|
|
@@ -93,7 +93,7 @@ const Wallet = ({ wallet, ens }) => {
|
|
|
93
93
|
{
|
|
94
94
|
Icon: jsx(SvgSwitchHorizontal, {}),
|
|
95
95
|
callback: () => switchWallet(wallet.id),
|
|
96
|
-
hide: ((_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.key) === 'unknown',
|
|
96
|
+
hide: ((_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.key) === 'unknown' || !((_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.isAvailable),
|
|
97
97
|
text: 'Select wallet',
|
|
98
98
|
},
|
|
99
99
|
];
|