@dynamic-labs/utils 5.11.0 → 5.12.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 CHANGED
@@ -1,4 +1,22 @@
1
1
 
2
+ ### [5.12.1](https://github.com/dynamic-labs/dynamic-auth/compare/v5.12.0...v5.12.1) (2026-10-20)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * rabby not using native rabby:// scheme when redirecting on android devices [main] ([#12541](https://github.com/dynamic-labs/dynamic-auth/issues/12541)) ([923a372](https://github.com/dynamic-labs/dynamic-auth/commit/923a3724eae5e82ef896de78641320b7320933df))
8
+ * **sui,ton:** sign serialized Sui txs without parsing; native TON balance for jetton sends ([#12503](https://github.com/dynamic-labs/dynamic-auth/issues/12503)) ([6a5bfd6](https://github.com/dynamic-labs/dynamic-auth/commit/6a5bfd6bd0118b8ed7ce079159c10ac47cade337))
9
+
10
+ ## [5.12.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.11.0...v5.12.0) (2026-10-16)
11
+
12
+
13
+ ### Features
14
+
15
+ * **embedded-wallet-solana:** add getSolanaSponsorAddress ([#12517](https://github.com/dynamic-labs/dynamic-auth/issues/12517)) ([b95c550](https://github.com/dynamic-labs/dynamic-auth/commit/b95c550e3dab783b7ff0b019051a17b22ea44f97))
16
+ * **embedded-wallet:** show chain and wallet in private key export modal ([#12507](https://github.com/dynamic-labs/dynamic-auth/issues/12507)) ([4bfb6d6](https://github.com/dynamic-labs/dynamic-auth/commit/4bfb6d6168aac3f800792fde933e0597f288058f))
17
+ * **sdk-react-core:** send OTP purpose from step-up flows ([#12511](https://github.com/dynamic-labs/dynamic-auth/issues/12511)) ([0d2d8a3](https://github.com/dynamic-labs/dynamic-auth/commit/0d2d8a31058b3e75c71af7a34f459e2a3ddf383b)), closes [#12898](https://github.com/dynamic-labs/dynamic-auth/issues/12898) [#816](https://github.com/dynamic-labs/dynamic-auth/issues/816) [#203](https://github.com/dynamic-labs/dynamic-auth/issues/203) [#12512](https://github.com/dynamic-labs/dynamic-auth/issues/12512)
18
+ * **wallet-connect:** back WalletConnect storage with native secure storage on mobile ([#12515](https://github.com/dynamic-labs/dynamic-auth/issues/12515)) ([7b57903](https://github.com/dynamic-labs/dynamic-auth/commit/7b5790325fce707d73d591483a0130b960ed055c))
19
+
2
20
  ## [5.11.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.10.0...v5.11.0) (2026-10-14)
3
21
 
4
22
 
package/package.cjs CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "5.11.0";
5
+ var version = "5.12.1";
6
6
 
7
7
  exports.version = version;
package/package.js CHANGED
@@ -1,3 +1,3 @@
1
- var version = "5.11.0";
1
+ var version = "5.12.1";
2
2
 
3
3
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/utils",
3
- "version": "5.11.0",
3
+ "version": "5.12.1",
4
4
  "description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -18,11 +18,11 @@
18
18
  },
19
19
  "homepage": "https://www.dynamic.xyz/",
20
20
  "dependencies": {
21
- "@dynamic-labs/sdk-api-core": "0.92.0",
21
+ "@dynamic-labs/sdk-api-core": "0.104.0",
22
22
  "tldts": "6.0.16",
23
- "@dynamic-labs/assert-package-version": "5.11.0",
24
- "@dynamic-labs/logger": "5.11.0",
25
- "@dynamic-labs/types": "5.11.0",
23
+ "@dynamic-labs/assert-package-version": "5.12.1",
24
+ "@dynamic-labs/logger": "5.12.1",
25
+ "@dynamic-labs/types": "5.12.1",
26
26
  "buffer": "6.0.3",
27
27
  "eventemitter3": "5.0.1"
28
28
  },
package/src/index.cjs CHANGED
@@ -100,6 +100,7 @@ var cloneObjectWithOverrides = require('./cloneObjectWithOverrides/cloneObjectWi
100
100
  var get = require('./get/get.cjs');
101
101
  var hexToString = require('./hexToString/hexToString.cjs');
102
102
  var isHex = require('./isHex/isHex.cjs');
103
+ var isBase64 = require('./isBase64/isBase64.cjs');
103
104
  var isInIframe = require('./isInIframe/isInIframe.cjs');
104
105
  var promiseWithTimeout = require('./promiseWithTimeout/promiseWithTimeout.cjs');
105
106
  var runSafe = require('./runSafe/runSafe.cjs');
@@ -254,6 +255,7 @@ exports.cloneObjectWithOverrides = cloneObjectWithOverrides.cloneObjectWithOverr
254
255
  exports.get = get.get;
255
256
  exports.hexToString = hexToString.hexToString;
256
257
  exports.isHex = isHex.isHex;
258
+ exports.isBase64 = isBase64.isBase64;
257
259
  exports.isInIframe = isInIframe.isInIframe;
258
260
  exports.promiseWithTimeout = promiseWithTimeout.promiseWithTimeout;
259
261
  exports.runSafe = runSafe.runSafe;
package/src/index.d.ts CHANGED
@@ -34,6 +34,7 @@ export { cloneObjectWithOverrides } from './cloneObjectWithOverrides';
34
34
  export { get } from './get';
35
35
  export { hexToString } from './hexToString';
36
36
  export { isHex } from './isHex';
37
+ export { isBase64 } from './isBase64';
37
38
  export { isInIframe } from './isInIframe';
38
39
  export { promiseWithTimeout } from './promiseWithTimeout';
39
40
  export { runSafe } from './runSafe';
package/src/index.js CHANGED
@@ -96,6 +96,7 @@ export { cloneObjectWithOverrides } from './cloneObjectWithOverrides/cloneObject
96
96
  export { get } from './get/get.js';
97
97
  export { hexToString } from './hexToString/hexToString.js';
98
98
  export { isHex } from './isHex/isHex.js';
99
+ export { isBase64 } from './isBase64/isBase64.js';
99
100
  export { isInIframe } from './isInIframe/isInIframe.js';
100
101
  export { promiseWithTimeout } from './promiseWithTimeout/promiseWithTimeout.js';
101
102
  export { runSafe } from './runSafe/runSafe.js';
@@ -0,0 +1 @@
1
+ export { isBase64 } from './isBase64';
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ // Linear-time check (no nested quantifiers → no ReDoS): length must be a
6
+ // multiple of 4 and the string must be base64 chars + ≤2 '=' padding.
7
+ const isBase64 = (value) => value.length > 0 &&
8
+ value.length % 4 === 0 &&
9
+ /^[A-Za-z0-9+/]*={0,2}$/.test(value);
10
+
11
+ exports.isBase64 = isBase64;
@@ -0,0 +1 @@
1
+ export declare const isBase64: (value: string) => boolean;
@@ -0,0 +1,7 @@
1
+ // Linear-time check (no nested quantifiers → no ReDoS): length must be a
2
+ // multiple of 4 and the string must be base64 chars + ≤2 '=' padding.
3
+ const isBase64 = (value) => value.length > 0 &&
4
+ value.length % 4 === 0 &&
5
+ /^[A-Za-z0-9+/]*={0,2}$/.test(value);
6
+
7
+ export { isBase64 };