@dynamic-labs/sdk-react-core 4.50.5 → 4.51.2
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 +30 -0
- package/package.cjs +3 -3
- package/package.js +3 -3
- package/package.json +14 -14
- package/src/index.cjs +2 -0
- package/src/index.d.ts +1 -1
- package/src/index.js +1 -0
- package/src/lib/context/CaptchaContext/CaptchaContext.cjs +88 -1
- package/src/lib/context/CaptchaContext/CaptchaContext.js +88 -1
- package/src/lib/context/PhantomRedirectContext/useResponseHandlers.cjs +19 -0
- package/src/lib/context/PhantomRedirectContext/useResponseHandlers.js +20 -1
- package/src/lib/data/api/constants.cjs +12 -0
- package/src/lib/data/api/constants.d.ts +3 -0
- package/src/lib/data/api/constants.js +6 -0
- package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +12 -1
- package/src/lib/data/api/embeddedWallets/embeddedWallets.js +12 -1
- package/src/lib/data/api/user/user.cjs +19 -0
- package/src/lib/data/api/user/user.d.ts +5 -0
- package/src/lib/data/api/user/user.js +19 -1
- package/src/lib/store/stateConfig.cjs +39 -35
- package/src/lib/store/stateConfig.js +39 -35
- package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.cjs +33 -1
- package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.d.ts +11 -0
- package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.js +32 -2
- package/src/lib/utils/hooks/authenticationHooks/helpers/isConnectOnly.cjs +1 -32
- package/src/lib/utils/hooks/authenticationHooks/helpers/isConnectOnly.js +1 -32
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +2 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +2 -1
- package/src/lib/utils/hooks/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.cjs +1 -1
- package/src/lib/utils/hooks/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.js +1 -1
- package/src/lib/utils/hooks/useIsMfaRequiredForAction/useIsMfaRequiredForAction.cjs +1 -4
- package/src/lib/utils/hooks/useIsMfaRequiredForAction/useIsMfaRequiredForAction.js +1 -4
- package/src/lib/utils/hooks/useRegisterPasskey/useRegisterPasskey.cjs +8 -1
- package/src/lib/utils/hooks/useRegisterPasskey/useRegisterPasskey.js +8 -1
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +2 -1
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +4 -1
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +2 -1
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +1 -1
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.d.ts +1 -1
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +1 -1
- package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.cjs +131 -0
- package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.d.ts +6 -0
- package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.js +127 -0
- package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs +3 -1
- package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.d.ts +2 -0
- package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js +3 -1
- package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.cjs +38 -15
- package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.d.ts +8 -2
- package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.js +38 -15
- package/src/lib/views/SendBalanceView/SendBalanceView.cjs +14 -2
- package/src/lib/views/SendBalanceView/SendBalanceView.js +15 -3
- package/src/lib/views/WalletDelegation/WalletDelegationView/WalletDelegationView.cjs +10 -2
- package/src/lib/views/WalletDelegation/WalletDelegationView/WalletDelegationView.js +10 -2
- package/src/lib/widgets/DynamicWidget/views/WalletsDelegatedSettingsView/WalletsDelegatedSettingsView.cjs +18 -18
- package/src/lib/widgets/DynamicWidget/views/WalletsDelegatedSettingsView/WalletsDelegatedSettingsView.js +18 -18
|
@@ -44,7 +44,15 @@ const WalletDelegationView = ({ wallets, }) => {
|
|
|
44
44
|
const [agreementChecked, setAgreementChecked] = useState(false);
|
|
45
45
|
const [selectionInitialized, setSelectionInitialized] = useState(false);
|
|
46
46
|
// Get waas wallets that are not yet delegated or use provided wallets override
|
|
47
|
-
const waasWallets = useMemo(() =>
|
|
47
|
+
const waasWallets = useMemo(() => {
|
|
48
|
+
const walletsToDelegate = wallets
|
|
49
|
+
? wallets.map((wallet) => ({
|
|
50
|
+
accountAddress: wallet.address,
|
|
51
|
+
chainName: wallet.chain,
|
|
52
|
+
}))
|
|
53
|
+
: undefined;
|
|
54
|
+
return getWalletsToDelegate(walletsToDelegate, getWalletsDelegatedStatus);
|
|
55
|
+
}, [wallets, getWalletsDelegatedStatus, getWalletsToDelegate]);
|
|
48
56
|
// Auto-select wallets only on initial load
|
|
49
57
|
useEffect(() => {
|
|
50
58
|
if (selectionInitialized)
|
|
@@ -171,7 +179,7 @@ const WalletDelegationView = ({ wallets, }) => {
|
|
|
171
179
|
// Single wallet view
|
|
172
180
|
const displaySingleWallet = () => {
|
|
173
181
|
const [wallet] = waasWallets;
|
|
174
|
-
if (!wallet)
|
|
182
|
+
if (!wallet || !wallet.address)
|
|
175
183
|
return null;
|
|
176
184
|
return (jsxs("div", { className: 'embedded-delegated-view__wallet-card-container', children: [jsxs("div", { className: 'embedded-delegated-view__wallet-card', children: [jsx(Typography, { variant: 'body_normal', weight: 'medium', color: 'primary', children: t('dyn_wallet_delegation.my_wallet') }), jsxs("div", { className: 'embedded-delegated-view__wallet-address', children: [jsx("div", { className: 'embedded-delegated-view__wallet-address-dot' }), jsxs(Typography, { variant: 'body_small', color: 'secondary', children: [wallet.address.slice(0, 6), "...", wallet.address.slice(-4)] })] })] }), jsx(AgreementSection, { checked: agreementChecked, onToggle: () => setAgreementChecked(!agreementChecked), text: t('dyn_wallet_delegation.agreement_text') })] }));
|
|
177
185
|
};
|
|
@@ -173,27 +173,27 @@ const WalletsDelegatedSettingsView = ({ name }) => {
|
|
|
173
173
|
const handleDelegate = createHandleDelegate(delegateKeyShares);
|
|
174
174
|
const handleWalletStatusChange = createHandleWalletStatusChange(handleRevoke, handleDelegate);
|
|
175
175
|
const handleRevokeAll = createHandleRevokeAll(handleRevoke, walletsWithStatus);
|
|
176
|
-
return (jsxRuntime.jsxs("div", { className: 'wallets-delegated-settings-view', children: [jsxRuntime.jsxs("div", { className: 'header', children: [jsxRuntime.jsx(IconButton.IconButton, { onClick: () => setDynamicWidgetView('settings'), "data-testid": 'back-button', className: 'back-button', type: 'button', children: jsxRuntime.jsx(arrowLeft.ReactComponent, {}) }), jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'title', copykey: 'wallets_delegated.title', children: t('wallets_delegated.title') })] }), walletsWithStatus.length > 0 && (jsxRuntime.
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
176
|
+
return (jsxRuntime.jsxs("div", { className: 'wallets-delegated-settings-view', "data-testid": 'wallets-delegated-settings-view', children: [' ', jsxRuntime.jsxs("div", { className: 'header', "data-testid": 'delegated-header', children: [jsxRuntime.jsx(IconButton.IconButton, { onClick: () => setDynamicWidgetView('settings'), "data-testid": 'back-button', className: 'back-button', type: 'button', children: jsxRuntime.jsx(arrowLeft.ReactComponent, {}) }), jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'title', copykey: 'wallets_delegated.title', "data-testid": 'delegated-title', children: t('wallets_delegated.title') })] }), walletsWithStatus.length > 0 && (jsxRuntime.jsxs("ul", { className: 'delegated-wallets-list', "data-testid": 'delegated-wallets-list', children: [' ', walletsWithStatus.map((wallet, index) => {
|
|
177
|
+
var _a, _b;
|
|
178
|
+
return (jsxRuntime.jsxs("li", { className: 'delegated-wallets-item', "data-testid": `delegated-wallet-item-${index}`, children: [' ', jsxRuntime.jsx("div", { className: 'wallet-icon', children: jsxRuntime.jsx(WalletIconWithNetwork.WalletIconWithNetwork, { walletKey: wallet.key, Icon: null, iconUrl: (_b = (_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.icon, chainName: wallet.chain, iconSize: 24, showNetwork: true }) }), jsxRuntime.jsxs("div", { className: 'wallet-info', "data-testid": `wallet-info-${index}`, children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', children: shortenWalletAddress.shortenWalletAddress(wallet.address) }), jsxRuntime.jsx("div", { className: wallet.status === 'delegated'
|
|
179
|
+
? 'status-badge'
|
|
180
|
+
: 'status-badge status-badge--disconnected', children: jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: wallet.status === 'delegated' ? 'primary' : 'secondary', children: wallet.status === 'delegated'
|
|
181
|
+
? t('connected', 'Connected')
|
|
182
|
+
: t('disconnected', 'Disconnected') }) })] }), jsxRuntime.jsx(TypographyButton.TypographyButton, { onClick: () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
183
|
+
yield handleWalletStatusChange(wallet);
|
|
184
|
+
}), buttonPadding: 'small', className: 'revoke-button', typographyProps: {
|
|
185
|
+
color: 'primary',
|
|
186
|
+
variant: 'body_small',
|
|
187
|
+
weight: 'medium',
|
|
188
|
+
}, children: wallet.status === 'delegated'
|
|
189
|
+
? t('revoke', 'Revoke')
|
|
190
|
+
: t('delegate', 'Delegate') })] }, wallet.id));
|
|
191
|
+
})] })), walletsWithStatus.filter((w) => w.status === 'delegated').length > 0 && (jsxRuntime.jsx("div", { className: 'revoke-all-section', "data-testid": 'revoke-all-section', children: jsxRuntime.jsx(TypographyButton.TypographyButton, { onClick: () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
192
192
|
yield handleRevokeAll();
|
|
193
|
-
}), buttonVariant: 'tertiary', buttonPadding: 'none', className: 'revoke-all-button', typographyProps: {
|
|
193
|
+
}), buttonVariant: 'tertiary', buttonPadding: 'none', className: 'revoke-all-button', "data-testid": 'revoke-all-button', typographyProps: {
|
|
194
194
|
variant: 'body_normal',
|
|
195
195
|
weight: 'medium',
|
|
196
|
-
}, children: t('revoke_all_wallet_access', 'Revoke all wallet access') }) })), showSuccessMessage && (jsxRuntime.jsxs("div", { className: 'success-message', children: [jsxRuntime.jsx(check.ReactComponent, {}), jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'primary', copykey: 'global_wallet.wallets_delegated.success', children: t('global_wallet.wallets_delegated.success', { name }) })] }))] }));
|
|
196
|
+
}, children: t('revoke_all_wallet_access', 'Revoke all wallet access') }) })), showSuccessMessage && (jsxRuntime.jsxs("div", { className: 'success-message', "data-testid": 'success-message', children: [jsxRuntime.jsx(check.ReactComponent, { "data-testid": 'success-icon' }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', color: 'primary', copykey: 'global_wallet.wallets_delegated.success', "data-testid": 'success-text', children: t('global_wallet.wallets_delegated.success', { name }) })] }))] }));
|
|
197
197
|
};
|
|
198
198
|
|
|
199
199
|
exports.WalletsDelegatedSettingsView = WalletsDelegatedSettingsView;
|
|
@@ -169,27 +169,27 @@ const WalletsDelegatedSettingsView = ({ name }) => {
|
|
|
169
169
|
const handleDelegate = createHandleDelegate(delegateKeyShares);
|
|
170
170
|
const handleWalletStatusChange = createHandleWalletStatusChange(handleRevoke, handleDelegate);
|
|
171
171
|
const handleRevokeAll = createHandleRevokeAll(handleRevoke, walletsWithStatus);
|
|
172
|
-
return (jsxs("div", { className: 'wallets-delegated-settings-view', children: [jsxs("div", { className: 'header', children: [jsx(IconButton, { onClick: () => setDynamicWidgetView('settings'), "data-testid": 'back-button', className: 'back-button', type: 'button', children: jsx(SvgArrowLeft, {}) }), jsx(Typography, { variant: 'title', color: 'primary', className: 'title', copykey: 'wallets_delegated.title', children: t('wallets_delegated.title') })] }), walletsWithStatus.length > 0 && (
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
172
|
+
return (jsxs("div", { className: 'wallets-delegated-settings-view', "data-testid": 'wallets-delegated-settings-view', children: [' ', jsxs("div", { className: 'header', "data-testid": 'delegated-header', children: [jsx(IconButton, { onClick: () => setDynamicWidgetView('settings'), "data-testid": 'back-button', className: 'back-button', type: 'button', children: jsx(SvgArrowLeft, {}) }), jsx(Typography, { variant: 'title', color: 'primary', className: 'title', copykey: 'wallets_delegated.title', "data-testid": 'delegated-title', children: t('wallets_delegated.title') })] }), walletsWithStatus.length > 0 && (jsxs("ul", { className: 'delegated-wallets-list', "data-testid": 'delegated-wallets-list', children: [' ', walletsWithStatus.map((wallet, index) => {
|
|
173
|
+
var _a, _b;
|
|
174
|
+
return (jsxs("li", { className: 'delegated-wallets-item', "data-testid": `delegated-wallet-item-${index}`, children: [' ', jsx("div", { className: 'wallet-icon', children: jsx(WalletIconWithNetwork, { walletKey: wallet.key, Icon: null, iconUrl: (_b = (_a = wallet.connector) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.icon, chainName: wallet.chain, iconSize: 24, showNetwork: true }) }), jsxs("div", { className: 'wallet-info', "data-testid": `wallet-info-${index}`, children: [jsx(Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', children: shortenWalletAddress(wallet.address) }), jsx("div", { className: wallet.status === 'delegated'
|
|
175
|
+
? 'status-badge'
|
|
176
|
+
: 'status-badge status-badge--disconnected', children: jsx(Typography, { variant: 'body_small', color: wallet.status === 'delegated' ? 'primary' : 'secondary', children: wallet.status === 'delegated'
|
|
177
|
+
? t('connected', 'Connected')
|
|
178
|
+
: t('disconnected', 'Disconnected') }) })] }), jsx(TypographyButton, { onClick: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
179
|
+
yield handleWalletStatusChange(wallet);
|
|
180
|
+
}), buttonPadding: 'small', className: 'revoke-button', typographyProps: {
|
|
181
|
+
color: 'primary',
|
|
182
|
+
variant: 'body_small',
|
|
183
|
+
weight: 'medium',
|
|
184
|
+
}, children: wallet.status === 'delegated'
|
|
185
|
+
? t('revoke', 'Revoke')
|
|
186
|
+
: t('delegate', 'Delegate') })] }, wallet.id));
|
|
187
|
+
})] })), walletsWithStatus.filter((w) => w.status === 'delegated').length > 0 && (jsx("div", { className: 'revoke-all-section', "data-testid": 'revoke-all-section', children: jsx(TypographyButton, { onClick: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
188
188
|
yield handleRevokeAll();
|
|
189
|
-
}), buttonVariant: 'tertiary', buttonPadding: 'none', className: 'revoke-all-button', typographyProps: {
|
|
189
|
+
}), buttonVariant: 'tertiary', buttonPadding: 'none', className: 'revoke-all-button', "data-testid": 'revoke-all-button', typographyProps: {
|
|
190
190
|
variant: 'body_normal',
|
|
191
191
|
weight: 'medium',
|
|
192
|
-
}, children: t('revoke_all_wallet_access', 'Revoke all wallet access') }) })), showSuccessMessage && (jsxs("div", { className: 'success-message', children: [jsx(SvgCheck, {}), jsx(Typography, { variant: 'body_small', color: 'primary', copykey: 'global_wallet.wallets_delegated.success', children: t('global_wallet.wallets_delegated.success', { name }) })] }))] }));
|
|
192
|
+
}, children: t('revoke_all_wallet_access', 'Revoke all wallet access') }) })), showSuccessMessage && (jsxs("div", { className: 'success-message', "data-testid": 'success-message', children: [jsx(SvgCheck, { "data-testid": 'success-icon' }), jsx(Typography, { variant: 'body_small', color: 'primary', copykey: 'global_wallet.wallets_delegated.success', "data-testid": 'success-text', children: t('global_wallet.wallets_delegated.success', { name }) })] }))] }));
|
|
193
193
|
};
|
|
194
194
|
|
|
195
195
|
export { WalletsDelegatedSettingsView, createHandleDelegate, createHandleRevoke, createHandleRevokeAll, createHandleWalletStatusChange, WalletsDelegatedSettingsView as default, mapWalletsForDelegate, mapWalletsForRevoke };
|