@dynamic-labs/sdk-react-core 4.93.1 → 4.95.0

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 CHANGED
@@ -1,4 +1,32 @@
1
1
 
2
+ ## [4.95.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.94.0...v4.95.0) (2026-07-28)
3
+
4
+
5
+ ### Features
6
+
7
+ * **waas:** expose rawSign sha256/blake2b in SignMessageContext [v4] ([#12076](https://github.com/dynamic-labs/dynamic-auth/issues/12076)) ([5133a71](https://github.com/dynamic-labs/dynamic-auth/commit/5133a713ba5aea0cb19935d99f0795ebbe303d2e))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **bitcoin:** resolve the public key of the active wallet, not the first [v4] ([#12090](https://github.com/dynamic-labs/dynamic-auth/issues/12090)) ([a93b55b](https://github.com/dynamic-labs/dynamic-auth/commit/a93b55b882ec3a7ac2adb37e4f653cb935d16193)), closes [#11970](https://github.com/dynamic-labs/dynamic-auth/issues/11970) [#11970](https://github.com/dynamic-labs/dynamic-auth/issues/11970) [#11970](https://github.com/dynamic-labs/dynamic-auth/issues/11970)
13
+ * **client:** ack sdk__loadedChanged in the webview load controller ([#12084](https://github.com/dynamic-labs/dynamic-auth/issues/12084)) ([8688c7d](https://github.com/dynamic-labs/dynamic-auth/commit/8688c7d1cfc320c3ca20913c730326c6f36266e0)), closes [#12071](https://github.com/dynamic-labs/dynamic-auth/issues/12071)
14
+ * fallback to local wallet balance when token balances API returns no tokens ([9ff87c3](https://github.com/dynamic-labs/dynamic-auth/commit/9ff87c3d1836e72a5a1e635ef7bd53464501fc1a))
15
+ * remediate high-severity dependency vulnerabilities ([#12077](https://github.com/dynamic-labs/dynamic-auth/issues/12077)) ([81e2d91](https://github.com/dynamic-labs/dynamic-auth/commit/81e2d91e16edaba1b6251bfa9b9f9c91d09aab80))
16
+ * remediate high-severity dependency vulnerabilities ([#12087](https://github.com/dynamic-labs/dynamic-auth/issues/12087)) ([9250ede](https://github.com/dynamic-labs/dynamic-auth/commit/9250edede5eaa0d0de8faa7d7aad1d164e1c78f7))
17
+
18
+ ## [4.94.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.93.1...v4.94.0) (2026-07-24)
19
+
20
+
21
+ ### Features
22
+
23
+ * **bitcoin:** add sendBitcoinWithConfirmation to show confirm modal on BTC sends ([#12023](https://github.com/dynamic-labs/dynamic-auth/issues/12023)) ([22a8b14](https://github.com/dynamic-labs/dynamic-auth/commit/22a8b14286b5612f37591ddba5507dd8f3c87cd3))
24
+
25
+
26
+ ### Bug Fixes
27
+
28
+ * replace deprecated polygon-rpc.com RPC with polygon.drpc.org (v4) ([#12033](https://github.com/dynamic-labs/dynamic-auth/issues/12033)) ([d64623d](https://github.com/dynamic-labs/dynamic-auth/commit/d64623d89f63084eb0b040f4466f057b833b9293))
29
+
2
30
  ### [4.93.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.93.0...v4.93.1) (2026-07-22)
3
31
 
4
32
 
package/package.cjs CHANGED
@@ -3,9 +3,9 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.93.1";
6
+ var version = "4.95.0";
7
7
  var dependencies = {
8
- "@dynamic-labs/sdk-api-core": "0.0.1082",
8
+ "@dynamic-labs/sdk-api-core": "0.0.1093",
9
9
  "@dynamic-labs-sdk/client": "1.20.0",
10
10
  "@dynamic-labs-wallet/browser-wallet-client": "1.0.70",
11
11
  "@dynamic-labs-wallet/forward-mpc-client": "1.0.1",
package/package.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use client'
2
- var version = "4.93.1";
2
+ var version = "4.95.0";
3
3
  var dependencies = {
4
- "@dynamic-labs/sdk-api-core": "0.0.1082",
4
+ "@dynamic-labs/sdk-api-core": "0.0.1093",
5
5
  "@dynamic-labs-sdk/client": "1.20.0",
6
6
  "@dynamic-labs-wallet/browser-wallet-client": "1.0.70",
7
7
  "@dynamic-labs-wallet/forward-mpc-client": "1.0.1",
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "4.93.1",
3
+ "version": "4.95.0",
4
4
  "dependencies": {
5
- "@dynamic-labs/sdk-api-core": "0.0.1082",
5
+ "@dynamic-labs/sdk-api-core": "0.0.1093",
6
6
  "@dynamic-labs-sdk/client": "1.20.0",
7
7
  "@dynamic-labs-wallet/browser-wallet-client": "1.0.70",
8
8
  "@dynamic-labs-wallet/forward-mpc-client": "1.0.1",
@@ -18,17 +18,17 @@
18
18
  "react-i18next": "13.5.0",
19
19
  "react-international-phone": "4.5.0",
20
20
  "yup": "0.32.11",
21
- "@dynamic-labs/assert-package-version": "4.93.1",
22
- "@dynamic-labs/iconic": "4.93.1",
23
- "@dynamic-labs/locale": "4.93.1",
24
- "@dynamic-labs/logger": "4.93.1",
25
- "@dynamic-labs/multi-wallet": "4.93.1",
26
- "@dynamic-labs/rpc-providers": "4.93.1",
27
- "@dynamic-labs/store": "4.93.1",
28
- "@dynamic-labs/types": "4.93.1",
29
- "@dynamic-labs/utils": "4.93.1",
30
- "@dynamic-labs/wallet-book": "4.93.1",
31
- "@dynamic-labs/wallet-connector-core": "4.93.1",
21
+ "@dynamic-labs/assert-package-version": "4.95.0",
22
+ "@dynamic-labs/iconic": "4.95.0",
23
+ "@dynamic-labs/locale": "4.95.0",
24
+ "@dynamic-labs/logger": "4.95.0",
25
+ "@dynamic-labs/multi-wallet": "4.95.0",
26
+ "@dynamic-labs/rpc-providers": "4.95.0",
27
+ "@dynamic-labs/store": "4.95.0",
28
+ "@dynamic-labs/types": "4.95.0",
29
+ "@dynamic-labs/utils": "4.95.0",
30
+ "@dynamic-labs/wallet-book": "4.95.0",
31
+ "@dynamic-labs/wallet-connector-core": "4.95.0",
32
32
  "eventemitter3": "5.0.1"
33
33
  },
34
34
  "devDependencies": {
@@ -23,7 +23,7 @@ const useStepUpMfa = ({ stateActions }) => {
23
23
  ? error.message
24
24
  : 'Failed to authenticate passkey for step-up authentication';
25
25
  setError(errorMessage);
26
- return null;
26
+ throw error;
27
27
  }
28
28
  }), [setError, setLoading, setSuccess]);
29
29
  const verifyTotpMfa = React.useCallback((_b) => _tslib.__awaiter(void 0, [_b], void 0, function* ({ code, deviceId, requestedScopes, }) {
@@ -42,7 +42,7 @@ const useStepUpMfa = ({ stateActions }) => {
42
42
  ? error.message
43
43
  : 'Failed to authenticate TOTP device for step-up authentication';
44
44
  setError(errorMessage);
45
- return null;
45
+ throw error;
46
46
  }
47
47
  }), [setError, setLoading, setSuccess]);
48
48
  const verifyRecoveryCode = React.useCallback((_c) => _tslib.__awaiter(void 0, [_c], void 0, function* ({ code, requestedScopes, }) {
@@ -60,7 +60,7 @@ const useStepUpMfa = ({ stateActions }) => {
60
60
  ? error.message
61
61
  : 'Failed to authenticate recovery code for step-up authentication';
62
62
  setError(errorMessage);
63
- return null;
63
+ throw error;
64
64
  }
65
65
  }), [setError, setLoading, setSuccess]);
66
66
  return { verifyPasskeyMfa, verifyRecoveryCode, verifyTotpMfa };
@@ -19,7 +19,7 @@ const useStepUpMfa = ({ stateActions }) => {
19
19
  ? error.message
20
20
  : 'Failed to authenticate passkey for step-up authentication';
21
21
  setError(errorMessage);
22
- return null;
22
+ throw error;
23
23
  }
24
24
  }), [setError, setLoading, setSuccess]);
25
25
  const verifyTotpMfa = useCallback((_b) => __awaiter(void 0, [_b], void 0, function* ({ code, deviceId, requestedScopes, }) {
@@ -38,7 +38,7 @@ const useStepUpMfa = ({ stateActions }) => {
38
38
  ? error.message
39
39
  : 'Failed to authenticate TOTP device for step-up authentication';
40
40
  setError(errorMessage);
41
- return null;
41
+ throw error;
42
42
  }
43
43
  }), [setError, setLoading, setSuccess]);
44
44
  const verifyRecoveryCode = useCallback((_c) => __awaiter(void 0, [_c], void 0, function* ({ code, requestedScopes, }) {
@@ -56,7 +56,7 @@ const useStepUpMfa = ({ stateActions }) => {
56
56
  ? error.message
57
57
  : 'Failed to authenticate recovery code for step-up authentication';
58
58
  setError(errorMessage);
59
- return null;
59
+ throw error;
60
60
  }
61
61
  }), [setError, setLoading, setSuccess]);
62
62
  return { verifyPasskeyMfa, verifyRecoveryCode, verifyTotpMfa };
@@ -44,9 +44,12 @@ const convertStellarNetworkToNumeric = (networkId) => {
44
44
  * Resolves the network ID for API requests, handling chain-specific conversions.
45
45
  */
46
46
  const resolveNetworkIdForRequest = (chainName, networkId) => {
47
- // Bitcoin does not need a network ID but the request requires one
47
+ // Bitcoin requests require a network ID; use the connector's live network
48
+ // (1 mainnet, 2 testnet) so the id matches the per-network address, and
49
+ // fall back to mainnet when no network is resolved
48
50
  if (chainName === sdkApiCore.ChainEnum.Btc) {
49
- return 1;
51
+ const numericBtcId = Number(networkId);
52
+ return isNaN(numericBtcId) ? 1 : numericBtcId;
50
53
  }
51
54
  if (chainName === sdkApiCore.ChainEnum.Stellar) {
52
55
  return convertStellarNetworkToNumeric(networkId);
@@ -40,9 +40,12 @@ const convertStellarNetworkToNumeric = (networkId) => {
40
40
  * Resolves the network ID for API requests, handling chain-specific conversions.
41
41
  */
42
42
  const resolveNetworkIdForRequest = (chainName, networkId) => {
43
- // Bitcoin does not need a network ID but the request requires one
43
+ // Bitcoin requests require a network ID; use the connector's live network
44
+ // (1 mainnet, 2 testnet) so the id matches the per-network address, and
45
+ // fall back to mainnet when no network is resolved
44
46
  if (chainName === ChainEnum.Btc) {
45
- return 1;
47
+ const numericBtcId = Number(networkId);
48
+ return isNaN(numericBtcId) ? 1 : numericBtcId;
46
49
  }
47
50
  if (chainName === ChainEnum.Stellar) {
48
51
  return convertStellarNetworkToNumeric(networkId);
@@ -467,7 +467,12 @@ const ActiveWalletBalance = ({ isLoading = false, }) => {
467
467
  currency: 'USD',
468
468
  style: 'currency',
469
469
  });
470
- const canShowFiat = React.useMemo(() => !testnet && showFiat && showMultiAsset && !errorTokenBalances, [testnet, showFiat, showMultiAsset, errorTokenBalances]);
470
+ const hasTokenBalances = React.useMemo(() => filteredTokenBalances.length > 0, [filteredTokenBalances]);
471
+ const canShowFiat = React.useMemo(() => !testnet &&
472
+ showFiat &&
473
+ showMultiAsset &&
474
+ !errorTokenBalances &&
475
+ hasTokenBalances, [testnet, showFiat, showMultiAsset, errorTokenBalances, hasTokenBalances]);
471
476
  const handleScroll = () => {
472
477
  if (contentRef.current) {
473
478
  setHasShadow(contentRef.current.scrollTop > 0);
@@ -463,7 +463,12 @@ const ActiveWalletBalance = ({ isLoading = false, }) => {
463
463
  currency: 'USD',
464
464
  style: 'currency',
465
465
  });
466
- const canShowFiat = useMemo(() => !testnet && showFiat && showMultiAsset && !errorTokenBalances, [testnet, showFiat, showMultiAsset, errorTokenBalances]);
466
+ const hasTokenBalances = useMemo(() => filteredTokenBalances.length > 0, [filteredTokenBalances]);
467
+ const canShowFiat = useMemo(() => !testnet &&
468
+ showFiat &&
469
+ showMultiAsset &&
470
+ !errorTokenBalances &&
471
+ hasTokenBalances, [testnet, showFiat, showMultiAsset, errorTokenBalances, hasTokenBalances]);
467
472
  const handleScroll = () => {
468
473
  if (contentRef.current) {
469
474
  setHasShadow(contentRef.current.scrollTop > 0);