@dynamic-labs/sdk-react-core 4.67.0 → 4.67.1
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 +14 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +12 -12
- package/src/index.d.ts +1 -1
- package/src/lib/components/SendBalancePageLayout/components/TokensBalanceDropdown/TokensBalanceDropdown.cjs +31 -11
- package/src/lib/components/SendBalancePageLayout/components/TokensBalanceDropdown/TokensBalanceDropdown.js +31 -11
- package/src/lib/shared/utils/functions/chain/getChainIcon.cjs +1 -0
- package/src/lib/shared/utils/functions/chain/getChainIcon.js +2 -1
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/hooks/index.d.ts +1 -1
- package/src/lib/utils/hooks/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.d.ts +2 -1
- package/src/lib/utils/hooks/useMfa/useMfa.cjs +6 -3
- package/src/lib/utils/hooks/useMfa/useMfa.d.ts +5 -3
- package/src/lib/utils/hooks/useMfa/useMfa.js +6 -3
- package/src/lib/utils/hooks/usePromptMfaAuth/usePromptMfaAuth.cjs +14 -185
- package/src/lib/utils/hooks/usePromptMfaAuth/usePromptMfaAuth.d.ts +15 -3
- package/src/lib/utils/hooks/usePromptMfaAuth/usePromptMfaAuth.js +14 -185
- package/src/lib/utils/hooks/useStepUpAuthentication/index.d.ts +1 -1
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.cjs +195 -24
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.d.ts +10 -0
- package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.js +189 -18
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +10 -9
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +10 -9
- package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.cjs +4 -3
- package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.d.ts +2 -0
- package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.js +4 -3
- package/src/lib/views/MfaVerificationView/MfaVerificationView.cjs +3 -1
- package/src/lib/views/MfaVerificationView/MfaVerificationView.d.ts +3 -2
- package/src/lib/views/MfaVerificationView/MfaVerificationView.js +3 -1
- package/src/lib/views/Passkey/ConfirmPasskeyView/ConfirmPasskeyView.cjs +2 -1
- package/src/lib/views/Passkey/ConfirmPasskeyView/ConfirmPasskeyView.d.ts +3 -1
- package/src/lib/views/Passkey/ConfirmPasskeyView/ConfirmPasskeyView.js +2 -1
- package/src/lib/views/viewToComponentMap.d.ts +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
|
|
2
|
+
### [4.67.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.67.0...v4.67.1) (2026-03-10)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add nonce manager and improve transaction handling ([#10612](https://github.com/dynamic-labs/dynamic-auth/issues/10612)) ([e373f12](https://github.com/dynamic-labs/dynamic-auth/commit/e373f1248beee2f12e7b4aec5a72d55b9555ad00))
|
|
8
|
+
* **sdk-react-core:** commonize step-up auth around useStepUpAuthentication ([#10586](https://github.com/dynamic-labs/dynamic-auth/issues/10586)) ([6e31e66](https://github.com/dynamic-labs/dynamic-auth/commit/6e31e6673d8861bc54677ea79da31872d7ad4c4e))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **sdk-react-core:** hide AA warning for EIP-7702 smart wallets, show for ERC-4337 ([#10614](https://github.com/dynamic-labs/dynamic-auth/issues/10614)) ([5c46d42](https://github.com/dynamic-labs/dynamic-auth/commit/5c46d4277472cb31ddde7809d27ef7920964d548))
|
|
14
|
+
* use 2-column grid layout for backup codes to prevent overflow in minimal theme ([#10607](https://github.com/dynamic-labs/dynamic-auth/issues/10607)) ([84adf87](https://github.com/dynamic-labs/dynamic-auth/commit/84adf872aae0a7fedf961b76f5004535e657b415))
|
|
15
|
+
|
|
2
16
|
## [4.67.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.66.0...v4.67.0) (2026-03-09)
|
|
3
17
|
|
|
4
18
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "4.67.
|
|
3
|
+
"version": "4.67.1",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"@dynamic-labs/sdk-api-core": "0.0.881",
|
|
6
6
|
"@dynamic-labs-sdk/client": "0.14.0",
|
|
@@ -16,17 +16,17 @@
|
|
|
16
16
|
"yup": "0.32.11",
|
|
17
17
|
"react-international-phone": "4.5.0",
|
|
18
18
|
"bs58": "5.0.0",
|
|
19
|
-
"@dynamic-labs/assert-package-version": "4.67.
|
|
20
|
-
"@dynamic-labs/iconic": "4.67.
|
|
21
|
-
"@dynamic-labs/locale": "4.67.
|
|
22
|
-
"@dynamic-labs/logger": "4.67.
|
|
23
|
-
"@dynamic-labs/multi-wallet": "4.67.
|
|
24
|
-
"@dynamic-labs/rpc-providers": "4.67.
|
|
25
|
-
"@dynamic-labs/store": "4.67.
|
|
26
|
-
"@dynamic-labs/types": "4.67.
|
|
27
|
-
"@dynamic-labs/utils": "4.67.
|
|
28
|
-
"@dynamic-labs/wallet-book": "4.67.
|
|
29
|
-
"@dynamic-labs/wallet-connector-core": "4.67.
|
|
19
|
+
"@dynamic-labs/assert-package-version": "4.67.1",
|
|
20
|
+
"@dynamic-labs/iconic": "4.67.1",
|
|
21
|
+
"@dynamic-labs/locale": "4.67.1",
|
|
22
|
+
"@dynamic-labs/logger": "4.67.1",
|
|
23
|
+
"@dynamic-labs/multi-wallet": "4.67.1",
|
|
24
|
+
"@dynamic-labs/rpc-providers": "4.67.1",
|
|
25
|
+
"@dynamic-labs/store": "4.67.1",
|
|
26
|
+
"@dynamic-labs/types": "4.67.1",
|
|
27
|
+
"@dynamic-labs/utils": "4.67.1",
|
|
28
|
+
"@dynamic-labs/wallet-book": "4.67.1",
|
|
29
|
+
"@dynamic-labs/wallet-connector-core": "4.67.1",
|
|
30
30
|
"eventemitter3": "5.0.1"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
package/src/index.d.ts
CHANGED
|
@@ -124,7 +124,7 @@ export {
|
|
|
124
124
|
/** @deprecated */
|
|
125
125
|
DynamicWidgetContextProvider, } from './lib/widgets/DynamicWidget/context';
|
|
126
126
|
export { useWalletItemActions, useAuthenticateConnectedUser, useSocialAccounts, useEmbeddedWallet, useEmbeddedWalletAuthenticator, usePasskeyRecovery, useEmbeddedReveal, useIsLoggedIn, useDynamicModals, useMfa, useTokenBalances, useMultichainTokenBalances, useSwitchWallet, useRpcProviders, useRefreshUser, useRefreshAuth, useWalletOptions, useSmartWallets, useSignEip7702Authorization, EmbeddedWalletVersion, useTelegramLogin, useUpgradeEmbeddedWallet, useEVMTransactionSimulation, useSVMTransactionSimulation, useDeleteUserAccount, useDynamicWaas, useGetPasskeys, useDeletePasskey, useRegisterPasskey, useAuthenticatePasskeyMFA, useGetUserMfaMethods, usePromptMfaAuth, useUpgradeToDynamicWaasFlow, useGetMfaToken, useGetWalletPassword, useWalletPassword, useIsMfaRequiredForAction, useWalletDelegation, useWalletBackup, useBackupWallets, isWalletBackedUp, CloudBackupProvider, useExchangeAccounts, useStepUpAuthentication, } from './lib/utils/hooks';
|
|
127
|
-
export type { IsStepUpRequiredParams, StepUpAuthenticationState, UseStepUpAuthenticationParams, UseStepUpAuthenticationReturn, VerifyOtpParams, VerifyPasskeyMfaParams, VerifyTotpMfaParams, VerifyWalletParams, } from './lib/utils/hooks';
|
|
127
|
+
export type { IsStepUpRequiredParams, PromptMfaParams, StepUpAuthenticationState, UseStepUpAuthenticationParams, UseStepUpAuthenticationReturn, VerifyOtpParams, VerifyPasskeyMfaParams, VerifyRecoveryCodeParams, VerifyTotpMfaParams, VerifyWalletParams, } from './lib/utils/hooks';
|
|
128
128
|
export {
|
|
129
129
|
/** @deprecated use useOnramp instead */
|
|
130
130
|
useFunding, } from './lib/utils/hooks/useFunding';
|
|
@@ -132,14 +132,34 @@ const TokensBalanceDropdown = ({ tokenBalances, currentToken, setCurrentToken, i
|
|
|
132
132
|
abi: abi.erc20Abi,
|
|
133
133
|
address: selectedToken.address,
|
|
134
134
|
};
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
135
|
+
let balance;
|
|
136
|
+
let decimals;
|
|
137
|
+
try {
|
|
138
|
+
const results = yield publicClient.multicall({
|
|
139
|
+
contracts: [
|
|
140
|
+
Object.assign(Object.assign({}, erc20Contract), { args: [primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address], functionName: 'balanceOf' }),
|
|
141
|
+
Object.assign(Object.assign({}, erc20Contract), { functionName: 'decimals' }),
|
|
142
|
+
],
|
|
143
|
+
});
|
|
144
|
+
[balance, decimals] = results.map((v) => Number(v.result));
|
|
145
|
+
}
|
|
146
|
+
catch (_a) {
|
|
147
|
+
if (publicClient.readContract) {
|
|
148
|
+
const [balanceResult, decimalsResult] = yield Promise.all([
|
|
149
|
+
publicClient.readContract(Object.assign(Object.assign({}, erc20Contract), { args: [primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address], functionName: 'balanceOf' })),
|
|
150
|
+
publicClient.readContract(Object.assign(Object.assign({}, erc20Contract), { functionName: 'decimals' })),
|
|
151
|
+
]);
|
|
152
|
+
balance = Number(balanceResult);
|
|
153
|
+
decimals = Number(decimalsResult);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (typeof balance === 'number' &&
|
|
160
|
+
!isNaN(balance) &&
|
|
161
|
+
typeof decimals === 'number' &&
|
|
162
|
+
!isNaN(decimals)) {
|
|
143
163
|
selectedToken.balance = balance / Math.pow(10, decimals);
|
|
144
164
|
selectedToken.rawBalance = balance;
|
|
145
165
|
if (tokenBalances) {
|
|
@@ -150,14 +170,14 @@ const TokensBalanceDropdown = ({ tokenBalances, currentToken, setCurrentToken, i
|
|
|
150
170
|
}
|
|
151
171
|
});
|
|
152
172
|
const handleTokenClick = (selectedTokenName) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
153
|
-
var
|
|
154
|
-
const selectedToken = (
|
|
173
|
+
var _b, _c;
|
|
174
|
+
const selectedToken = (_b = tokenBalances === null || tokenBalances === void 0 ? void 0 : tokenBalances.find((t) => t.name === selectedTokenName)) !== null && _b !== void 0 ? _b : undefined;
|
|
155
175
|
// we dont need to refetch solana balances because we simulate before sending
|
|
156
176
|
if ((selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.address) && (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.address.startsWith('0x'))) {
|
|
157
177
|
fetchTokenData(selectedToken);
|
|
158
178
|
}
|
|
159
179
|
if (selectedToken) {
|
|
160
|
-
if (tokenBalances && ((
|
|
180
|
+
if (tokenBalances && ((_c = tokenBalances[0]) === null || _c === void 0 ? void 0 : _c.price))
|
|
161
181
|
sendBalances.setSendBalanceVariable('nativePrice', tokenBalances[0].price);
|
|
162
182
|
setCurrentToken(selectedToken);
|
|
163
183
|
setFieldValue('amount', '');
|
|
@@ -128,14 +128,34 @@ const TokensBalanceDropdown = ({ tokenBalances, currentToken, setCurrentToken, i
|
|
|
128
128
|
abi: erc20Abi,
|
|
129
129
|
address: selectedToken.address,
|
|
130
130
|
};
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
131
|
+
let balance;
|
|
132
|
+
let decimals;
|
|
133
|
+
try {
|
|
134
|
+
const results = yield publicClient.multicall({
|
|
135
|
+
contracts: [
|
|
136
|
+
Object.assign(Object.assign({}, erc20Contract), { args: [primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address], functionName: 'balanceOf' }),
|
|
137
|
+
Object.assign(Object.assign({}, erc20Contract), { functionName: 'decimals' }),
|
|
138
|
+
],
|
|
139
|
+
});
|
|
140
|
+
[balance, decimals] = results.map((v) => Number(v.result));
|
|
141
|
+
}
|
|
142
|
+
catch (_a) {
|
|
143
|
+
if (publicClient.readContract) {
|
|
144
|
+
const [balanceResult, decimalsResult] = yield Promise.all([
|
|
145
|
+
publicClient.readContract(Object.assign(Object.assign({}, erc20Contract), { args: [primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address], functionName: 'balanceOf' })),
|
|
146
|
+
publicClient.readContract(Object.assign(Object.assign({}, erc20Contract), { functionName: 'decimals' })),
|
|
147
|
+
]);
|
|
148
|
+
balance = Number(balanceResult);
|
|
149
|
+
decimals = Number(decimalsResult);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (typeof balance === 'number' &&
|
|
156
|
+
!isNaN(balance) &&
|
|
157
|
+
typeof decimals === 'number' &&
|
|
158
|
+
!isNaN(decimals)) {
|
|
139
159
|
selectedToken.balance = balance / Math.pow(10, decimals);
|
|
140
160
|
selectedToken.rawBalance = balance;
|
|
141
161
|
if (tokenBalances) {
|
|
@@ -146,14 +166,14 @@ const TokensBalanceDropdown = ({ tokenBalances, currentToken, setCurrentToken, i
|
|
|
146
166
|
}
|
|
147
167
|
});
|
|
148
168
|
const handleTokenClick = (selectedTokenName) => __awaiter(void 0, void 0, void 0, function* () {
|
|
149
|
-
var
|
|
150
|
-
const selectedToken = (
|
|
169
|
+
var _b, _c;
|
|
170
|
+
const selectedToken = (_b = tokenBalances === null || tokenBalances === void 0 ? void 0 : tokenBalances.find((t) => t.name === selectedTokenName)) !== null && _b !== void 0 ? _b : undefined;
|
|
151
171
|
// we dont need to refetch solana balances because we simulate before sending
|
|
152
172
|
if ((selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.address) && (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.address.startsWith('0x'))) {
|
|
153
173
|
fetchTokenData(selectedToken);
|
|
154
174
|
}
|
|
155
175
|
if (selectedToken) {
|
|
156
|
-
if (tokenBalances && ((
|
|
176
|
+
if (tokenBalances && ((_c = tokenBalances[0]) === null || _c === void 0 ? void 0 : _c.price))
|
|
157
177
|
setSendBalanceVariable('nativePrice', tokenBalances[0].price);
|
|
158
178
|
setCurrentToken(selectedToken);
|
|
159
179
|
setFieldValue('amount', '');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
import { AlgorandIcon, AptosIcon, BitcoinIcon, CosmosIcon, EclipseIcon, EthereumIcon, FlowIcon, SolanaIcon, SparkIcon, StarknetIcon, StellarIcon, SuiIcon, TonIcon, TronIcon } from '@dynamic-labs/iconic';
|
|
2
|
+
import { AleoIcon, AlgorandIcon, AptosIcon, BitcoinIcon, CosmosIcon, EclipseIcon, EthereumIcon, FlowIcon, SolanaIcon, SparkIcon, StarknetIcon, StellarIcon, SuiIcon, TonIcon, TronIcon } from '@dynamic-labs/iconic';
|
|
3
3
|
import { getChainInfo } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import 'react';
|
|
5
5
|
import { ReactComponent as SvgError } from '../../../assets/error.js';
|
|
@@ -7,6 +7,7 @@ import 'react/jsx-runtime';
|
|
|
7
7
|
import '../../../../context/ViewContext/ViewContext.js';
|
|
8
8
|
|
|
9
9
|
const chainIconMap = {
|
|
10
|
+
aleo: AleoIcon,
|
|
10
11
|
algorand: AlgorandIcon,
|
|
11
12
|
aptos: AptosIcon,
|
|
12
13
|
bitcoin: BitcoinIcon,
|