@dynamic-labs/wallet-connector-core 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
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "5.11.0";
6
+ var version = "5.12.1";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "5.11.0";
2
+ var version = "5.12.1";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/wallet-connector-core",
3
- "version": "5.11.0",
3
+ "version": "5.12.1",
4
4
  "description": "Core package for utilities and types for handling multiple wallet/chain support Dynamic SDK",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -18,17 +18,17 @@
18
18
  },
19
19
  "homepage": "https://www.dynamic.xyz/",
20
20
  "dependencies": {
21
- "@dynamic-labs-sdk/client": "1.39.1",
22
- "@dynamic-labs/sdk-api-core": "0.92.0",
23
- "@dynamic-labs-wallet/browser-wallet-client": "1.1.33",
24
- "@dynamic-labs-wallet/core": "1.1.33",
21
+ "@dynamic-labs-sdk/client": "1.41.0",
22
+ "@dynamic-labs/sdk-api-core": "0.104.0",
23
+ "@dynamic-labs-wallet/browser-wallet-client": "1.1.43",
24
+ "@dynamic-labs-wallet/core": "1.1.43",
25
25
  "@dynamic-labs-wallet/forward-mpc-client": "1.0.2",
26
- "@dynamic-labs/assert-package-version": "5.11.0",
27
- "@dynamic-labs/logger": "5.11.0",
28
- "@dynamic-labs/rpc-providers": "5.11.0",
29
- "@dynamic-labs/types": "5.11.0",
30
- "@dynamic-labs/utils": "5.11.0",
31
- "@dynamic-labs/wallet-book": "5.11.0",
26
+ "@dynamic-labs/assert-package-version": "5.12.1",
27
+ "@dynamic-labs/logger": "5.12.1",
28
+ "@dynamic-labs/rpc-providers": "5.12.1",
29
+ "@dynamic-labs/types": "5.12.1",
30
+ "@dynamic-labs/utils": "5.12.1",
31
+ "@dynamic-labs/wallet-book": "5.12.1",
32
32
  "eventemitter3": "5.0.1"
33
33
  },
34
34
  "peerDependencies": {}
@@ -85,11 +85,12 @@ class Wallet extends types.BaseWallet {
85
85
  * @returns A promise that resolves to the signature of the message as a string,
86
86
  * or undefined if the message cannot be signed.
87
87
  */
88
- signMessage(messageToSign) {
88
+ signMessage(messageToSign, options) {
89
89
  return _tslib.__awaiter(this, void 0, void 0, function* () {
90
90
  yield this.sync();
91
91
  return this._connector.signMessage(messageToSign, {
92
92
  address: this.address,
93
+ approvalQuorum: options === null || options === void 0 ? void 0 : options.approvalQuorum,
93
94
  });
94
95
  });
95
96
  }
@@ -1,3 +1,4 @@
1
+ import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
1
2
  import type { BaseWalletProps } from '@dynamic-labs/types';
2
3
  import { BaseWallet } from '@dynamic-labs/types';
3
4
  import { InternalWalletConnector, NameServiceData, WalletConnector } from '../WalletConnectorBase';
@@ -55,7 +56,9 @@ export declare abstract class Wallet<T extends InternalWalletConnector = Interna
55
56
  * @returns A promise that resolves to the signature of the message as a string,
56
57
  * or undefined if the message cannot be signed.
57
58
  */
58
- signMessage(messageToSign: string): Promise<string | undefined>;
59
+ signMessage(messageToSign: string, options?: {
60
+ approvalQuorum?: ApprovalQuorumRequestContext;
61
+ }): Promise<string | undefined>;
59
62
  /**
60
63
  * Switches the network that the wallet is connected to.
61
64
  * @param networkChainId - The chain id of the network to switch to.
@@ -81,11 +81,12 @@ class Wallet extends BaseWallet {
81
81
  * @returns A promise that resolves to the signature of the message as a string,
82
82
  * or undefined if the message cannot be signed.
83
83
  */
84
- signMessage(messageToSign) {
84
+ signMessage(messageToSign, options) {
85
85
  return __awaiter(this, void 0, void 0, function* () {
86
86
  yield this.sync();
87
87
  return this._connector.signMessage(messageToSign, {
88
88
  address: this.address,
89
+ approvalQuorum: options === null || options === void 0 ? void 0 : options.approvalQuorum,
89
90
  });
90
91
  });
91
92
  }
@@ -1,4 +1,5 @@
1
1
  import EventEmitter from 'eventemitter3';
2
+ import type { ApprovalQuorumRequestContext } from '@dynamic-labs-wallet/core';
2
3
  import type { LogoutReason } from '@dynamic-labs-sdk/client';
3
4
  import { IChainRpcProviders } from '@dynamic-labs/rpc-providers';
4
5
  import type { JwtVerifiedCredential, WalletAdditionalAddress } from '@dynamic-labs/sdk-api-core';
@@ -313,6 +314,7 @@ export declare abstract class WalletConnectorBase<C extends WalletConstructor<an
313
314
  */
314
315
  signMessage(messageToSign: string, options?: {
315
316
  address?: string;
317
+ approvalQuorum?: ApprovalQuorumRequestContext;
316
318
  }): Promise<string | undefined>;
317
319
  /**
318
320
  * Returns the array of block explorer URLs available for the current network
@@ -1,5 +1,5 @@
1
1
  import { BitcoinConfig, GetWalletResponse, WalletRecoveryState } from '@dynamic-labs-wallet/browser-wallet-client';
2
- import type { BusinessAccountActionRequired, BusinessAccountIntent } from '@dynamic-labs-wallet/core';
2
+ import type { ApprovalQuorumRequestContext, BusinessAccountActionRequired, BusinessAccountIntent } from '@dynamic-labs-wallet/core';
3
3
  import { MFAAction, SignMessageContext, TokenScope, WaasPolicyRule } from '@dynamic-labs/sdk-api-core';
4
4
  import { WalletConnectorBase } from '..';
5
5
  interface GetMfaTokenFunction {
@@ -198,8 +198,9 @@ export interface IDynamicWaasConnector extends WalletConnectorBase {
198
198
  cloudProviderAccessToken?: string;
199
199
  mfaToken?: string;
200
200
  }): Promise<void>;
201
- signRawMessage({ accountAddress, context, message, password, }: {
201
+ signRawMessage({ accountAddress, approvalQuorum, context, message, password, }: {
202
202
  accountAddress: string;
203
+ approvalQuorum?: ApprovalQuorumRequestContext;
203
204
  context?: SignMessageContext;
204
205
  message: string;
205
206
  password?: string;
@@ -208,11 +209,12 @@ export interface IDynamicWaasConnector extends WalletConnectorBase {
208
209
  accountAddress: string;
209
210
  password?: string;
210
211
  }): Promise<void>;
211
- signMessageWithContext({ message, context, }: {
212
+ signMessageWithContext({ message, approvalQuorum, context, }: {
212
213
  message: string | {
213
214
  raw: string;
214
215
  };
215
- context: SignMessageContext;
216
+ approvalQuorum?: ApprovalQuorumRequestContext;
217
+ context?: SignMessageContext;
216
218
  }): Promise<string>;
217
219
  /**
218
220
  * @param forceRebuild when true, drop the cached client and rebuild it with
@@ -6,14 +6,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
6
6
  var utils = require('@dynamic-labs/utils');
7
7
 
8
8
  const getConnectionDeepLink = (uri, deepLinks, preference, redirectUrl) => {
9
- // on android, the connection deeplink is simply the uri
10
- // see: https://docs.walletconnect.com/mobile-linking#for-android
11
- if (utils.isAndroid()) {
12
- return uri;
13
- }
14
9
  const deepLink = getRegularDeepLink(uri, deepLinks, preference);
15
10
  if (!deepLink) {
16
- return `${deepLink}?uri=${encodeURIComponent(uri)}`;
11
+ return uri;
17
12
  }
18
13
  const deepLinkUrl = new URL(deepLink);
19
14
  const deepLinkParams = new URLSearchParams(deepLinkUrl.search);
@@ -26,11 +21,6 @@ const getConnectionDeepLink = (uri, deepLinks, preference, redirectUrl) => {
26
21
  };
27
22
  const getRegularDeepLink = (uri, deepLinks, preference) => {
28
23
  var _a, _b, _c, _d;
29
- if (utils.isAndroid()) {
30
- // on android, the deeplink is simply the uri, without the query params
31
- // see: https://docs.walletconnect.com/mobile-linking#for-android
32
- return uri.split('?')[0];
33
- }
34
24
  const index = utils.isMobile() ? 'mobile' : 'desktop';
35
25
  let origin;
36
26
  if (preference === 'native') {
@@ -49,7 +39,10 @@ const getDeepLink = ({ mode, uri = '', deepLinks, preference, redirectUrl, }) =>
49
39
  case 'connection':
50
40
  return getConnectionDeepLink(uri, deepLinks, preference, redirectUrl);
51
41
  case 'regular':
52
- return getRegularDeepLink(uri, deepLinks, preference);
42
+ return (getRegularDeepLink(uri, deepLinks, preference) ||
43
+ // on android, without a wallet scheme, the deeplink is the uri without the query params
44
+ // see: https://docs.walletconnect.com/mobile-linking#for-android
45
+ (utils.isAndroid() ? uri.split('?')[0] : ''));
53
46
  }
54
47
  };
55
48
 
@@ -2,14 +2,9 @@
2
2
  import { isAndroid, isMobile } from '@dynamic-labs/utils';
3
3
 
4
4
  const getConnectionDeepLink = (uri, deepLinks, preference, redirectUrl) => {
5
- // on android, the connection deeplink is simply the uri
6
- // see: https://docs.walletconnect.com/mobile-linking#for-android
7
- if (isAndroid()) {
8
- return uri;
9
- }
10
5
  const deepLink = getRegularDeepLink(uri, deepLinks, preference);
11
6
  if (!deepLink) {
12
- return `${deepLink}?uri=${encodeURIComponent(uri)}`;
7
+ return uri;
13
8
  }
14
9
  const deepLinkUrl = new URL(deepLink);
15
10
  const deepLinkParams = new URLSearchParams(deepLinkUrl.search);
@@ -22,11 +17,6 @@ const getConnectionDeepLink = (uri, deepLinks, preference, redirectUrl) => {
22
17
  };
23
18
  const getRegularDeepLink = (uri, deepLinks, preference) => {
24
19
  var _a, _b, _c, _d;
25
- if (isAndroid()) {
26
- // on android, the deeplink is simply the uri, without the query params
27
- // see: https://docs.walletconnect.com/mobile-linking#for-android
28
- return uri.split('?')[0];
29
- }
30
20
  const index = isMobile() ? 'mobile' : 'desktop';
31
21
  let origin;
32
22
  if (preference === 'native') {
@@ -45,7 +35,10 @@ const getDeepLink = ({ mode, uri = '', deepLinks, preference, redirectUrl, }) =>
45
35
  case 'connection':
46
36
  return getConnectionDeepLink(uri, deepLinks, preference, redirectUrl);
47
37
  case 'regular':
48
- return getRegularDeepLink(uri, deepLinks, preference);
38
+ return (getRegularDeepLink(uri, deepLinks, preference) ||
39
+ // on android, without a wallet scheme, the deeplink is the uri without the query params
40
+ // see: https://docs.walletconnect.com/mobile-linking#for-android
41
+ (isAndroid() ? uri.split('?')[0] : ''));
49
42
  }
50
43
  };
51
44