@dynamic-labs/waas-sui 5.3.2 → 5.4.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,38 @@
1
1
 
2
+ ### [5.4.1](https://github.com/dynamic-labs/dynamic-auth/compare/v5.4.0...v5.4.1) (2026-08-26)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **webview-controller:** resolve which keychain key a session belongs to ([#12246](https://github.com/dynamic-labs/dynamic-auth/issues/12246)) ([3d110db](https://github.com/dynamic-labs/dynamic-auth/commit/3d110db831c6e9d82d07d86841f5c7733924b17e))
8
+ * **bitcoin:** forward the password through the BTC importPrivateKey override ([#12278](https://github.com/dynamic-labs/dynamic-auth/issues/12278)) ([21e1df3](https://github.com/dynamic-labs/dynamic-auth/commit/21e1df3e33e96e2efdb15ffa0fd29a441056202e))
9
+ * **react-native-extension:** recover 4.x expo-secure-store sessions on keychain miss ([#12254](https://github.com/dynamic-labs/dynamic-auth/issues/12254)) ([217e991](https://github.com/dynamic-labs/dynamic-auth/commit/217e991838f3073c12e2d2fab7a2e12830faad9e)), closes [#12092](https://github.com/dynamic-labs/dynamic-auth/issues/12092) [#12092](https://github.com/dynamic-labs/dynamic-auth/issues/12092) [#12092](https://github.com/dynamic-labs/dynamic-auth/issues/12092) [#12092](https://github.com/dynamic-labs/dynamic-auth/issues/12092) [#12242](https://github.com/dynamic-labs/dynamic-auth/issues/12242) [#12242](https://github.com/dynamic-labs/dynamic-auth/issues/12242)
10
+ * **transaction-card:** use walletConnector prop for network/fee instead of primaryWallet ([#12063](https://github.com/dynamic-labs/dynamic-auth/issues/12063)) ([81314d2](https://github.com/dynamic-labs/dynamic-auth/commit/81314d25fba4b20ab89631bc2d9ceeb9e2b6b2ac))
11
+ * **waas-svm:** instrument sponsorship retry attempts ([#12281](https://github.com/dynamic-labs/dynamic-auth/issues/12281)) ([7273a4b](https://github.com/dynamic-labs/dynamic-auth/commit/7273a4bc456cad512c0e9fbcd2abd66532a2f7df))
12
+ * **webview-controller:** recover 4.x secure-storage sessions and surface init failures ([#12242](https://github.com/dynamic-labs/dynamic-auth/issues/12242)) ([b51605c](https://github.com/dynamic-labs/dynamic-auth/commit/b51605cc9bdbb5d695173192c502a58d899bbbdd)), closes [#12094](https://github.com/dynamic-labs/dynamic-auth/issues/12094) [#12095](https://github.com/dynamic-labs/dynamic-auth/issues/12095) [#12098](https://github.com/dynamic-labs/dynamic-auth/issues/12098) [dynamic-labs/flutter-sdk#256](https://github.com/dynamic-labs/flutter-sdk/issues/256)
13
+
14
+ ## [5.4.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.3.2...v5.4.0) (2026-08-25)
15
+
16
+
17
+ ### Features
18
+
19
+ * **aleo:** wire up signMessage on the WaaS Aleo connector ([#12235](https://github.com/dynamic-labs/dynamic-auth/issues/12235)) ([e56cbf5](https://github.com/dynamic-labs/dynamic-auth/commit/e56cbf5546bdcc21ce916dece43ae36dcea9b808))
20
+ * **waas:** thread isRawScalarImport through importPrivateKey for ed25519 chains ([#12220](https://github.com/dynamic-labs/dynamic-auth/issues/12220)) ([ced9efa](https://github.com/dynamic-labs/dynamic-auth/commit/ced9efac5fa5a4a1280383419f56fe22733722cd))
21
+ * **webview:** add policies message contract and controller ([#12248](https://github.com/dynamic-labs/dynamic-auth/issues/12248)) ([8557c1e](https://github.com/dynamic-labs/dynamic-auth/commit/8557c1ed3861e12f1f06b2bb610184813b577daa))
22
+
23
+
24
+ ### Bug Fixes
25
+
26
+ * **bitcoin:** pass the wallet's address type when signing ([#12265](https://github.com/dynamic-labs/dynamic-auth/issues/12265)) ([b8a8eab](https://github.com/dynamic-labs/dynamic-auth/commit/b8a8eab7e4cc294cc307fb10ea6814e76111a274))
27
+ * remediate high-severity tar vulnerability and prune a dead override ([#12268](https://github.com/dynamic-labs/dynamic-auth/issues/12268)) ([6b1b343](https://github.com/dynamic-labs/dynamic-auth/commit/6b1b343e7947e8da30012446677e342ae9bfe14a))
28
+ * **waas-svm:** fix retry-classification and environmentId gaps in [#12240](https://github.com/dynamic-labs/dynamic-auth/issues/12240) ([#12247](https://github.com/dynamic-labs/dynamic-auth/issues/12247)) ([e79cecc](https://github.com/dynamic-labs/dynamic-auth/commit/e79ceccd424c48c3a7f45fdd6ea288c269ac0171))
29
+ * **wallet-connect:** reopen WalletConnect IndexedDB when the browser closes the connection ([#12262](https://github.com/dynamic-labs/dynamic-auth/issues/12262)) ([1a20dde](https://github.com/dynamic-labs/dynamic-auth/commit/1a20ddeaeec590ae3390c9e47ef3c14738379b83))
30
+
31
+
32
+ ### Performance Improvements
33
+
34
+ * **ethereum-gasless-core:** parallel 7702 auth signing and long-poll sponsored-tx status ([#12225](https://github.com/dynamic-labs/dynamic-auth/issues/12225)) ([53ca916](https://github.com/dynamic-labs/dynamic-auth/commit/53ca91668f8dd839c52d55a0e5d7bb5257f7f415))
35
+
2
36
  ### [5.3.2](https://github.com/dynamic-labs/dynamic-auth/compare/v5.3.1...v5.3.2) (2026-08-19)
3
37
 
4
38
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "5.3.2";
6
+ var version = "5.4.1";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "5.3.2";
2
+ var version = "5.4.1";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/waas-sui",
3
- "version": "5.3.2",
3
+ "version": "5.4.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,21 +18,21 @@
18
18
  },
19
19
  "homepage": "https://www.dynamic.xyz/",
20
20
  "dependencies": {
21
- "@dynamic-labs-sdk/client": "1.27.1",
21
+ "@dynamic-labs-sdk/client": "1.29.0",
22
22
  "@dynamic-labs/sdk-api-core": "0.12.0",
23
23
  "@dynamic-labs-wallet/browser-wallet-client": "1.0.106",
24
24
  "@dynamic-labs-wallet/forward-mpc-client": "1.0.1",
25
25
  "@mysten/sui": "1.45.2",
26
26
  "@mysten/wallet-standard": "0.19.9",
27
- "@dynamic-labs/assert-package-version": "5.3.2",
28
- "@dynamic-labs/logger": "5.3.2",
29
- "@dynamic-labs/rpc-providers": "5.3.2",
30
- "@dynamic-labs/sui-core": "5.3.2",
31
- "@dynamic-labs/types": "5.3.2",
32
- "@dynamic-labs/utils": "5.3.2",
33
- "@dynamic-labs/waas": "5.3.2",
34
- "@dynamic-labs/wallet-book": "5.3.2",
35
- "@dynamic-labs/wallet-connector-core": "5.3.2"
27
+ "@dynamic-labs/assert-package-version": "5.4.1",
28
+ "@dynamic-labs/logger": "5.4.1",
29
+ "@dynamic-labs/rpc-providers": "5.4.1",
30
+ "@dynamic-labs/sui-core": "5.4.1",
31
+ "@dynamic-labs/types": "5.4.1",
32
+ "@dynamic-labs/utils": "5.4.1",
33
+ "@dynamic-labs/waas": "5.4.1",
34
+ "@dynamic-labs/wallet-book": "5.4.1",
35
+ "@dynamic-labs/wallet-connector-core": "5.4.1"
36
36
  },
37
37
  "peerDependencies": {}
38
38
  }
@@ -103,25 +103,6 @@ class DynamicWaasSuiConnector extends waas.withDynamicWaas(suiCore.SuiWalletConn
103
103
  }
104
104
  });
105
105
  }
106
- // Override importPrivateKey to use the proper type casting for SUI
107
- importPrivateKey(_a) {
108
- return _tslib.__awaiter(this, arguments, void 0, function* ({ privateKey, thresholdSignatureScheme = 'TWO_OF_TWO', publicAddressCheck, legacyWalletId, }) {
109
- var _b, _c;
110
- const walletClient = yield this.getWaasWalletClient();
111
- const signedSessionId = yield ((_b = this.getSignedSessionId) === null || _b === void 0 ? void 0 : _b.call(this));
112
- if (!signedSessionId) {
113
- throw new utils.DynamicError('Signed session ID is required', 'signed_session_id_is_required');
114
- }
115
- yield walletClient.importPrivateKey({
116
- authToken: (_c = this.getAuthToken) === null || _c === void 0 ? void 0 : _c.call(this),
117
- legacyWalletId,
118
- privateKey,
119
- publicAddressCheck,
120
- signedSessionId,
121
- thresholdSignatureScheme: thresholdSignatureScheme,
122
- });
123
- });
124
- }
125
106
  signMessage(message) {
126
107
  return _tslib.__awaiter(this, void 0, void 0, function* () {
127
108
  var _a, _b, _c, _d;
@@ -249,19 +230,18 @@ class DynamicWaasSuiConnector extends waas.withDynamicWaas(suiCore.SuiWalletConn
249
230
  });
250
231
  }
251
232
  // Chain-specific override for exportClientKeyshares - SUI needs to handle optional account address
252
- exportClientKeyshares(_a) {
233
+ exportClientKeyshares(params) {
253
234
  const _super = Object.create(null, {
254
235
  exportClientKeyshares: { get: () => super.exportClientKeyshares }
255
236
  });
256
- return _tslib.__awaiter(this, arguments, void 0, function* ({ accountAddress, password, }) {
257
- const targetAccountAddress = accountAddress || this.activeAccountAddress;
237
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
238
+ const targetAccountAddress = params.accountAddress || this.activeAccountAddress;
258
239
  if (!targetAccountAddress) {
259
240
  throw new Error('Account address is required');
260
241
  }
261
- return _super.exportClientKeyshares.call(this, {
262
- accountAddress: targetAccountAddress,
263
- password,
264
- });
242
+ // Spread, so a field added to ExportClientKeysharesParams later still
243
+ // reaches the base instead of being silently dropped here.
244
+ return _super.exportClientKeyshares.call(this, Object.assign(Object.assign({}, params), { accountAddress: targetAccountAddress }));
265
245
  });
266
246
  }
267
247
  /** Function used to create transactions in the SDK interface */
@@ -6,7 +6,7 @@ import { SignedTransaction } from '@mysten/wallet-standard';
6
6
  import { MFAAction, TokenScope } from '@dynamic-labs/sdk-api-core';
7
7
  import { SuiWalletConnector, SuiWalletConnectorProps } from '@dynamic-labs/sui-core';
8
8
  import { IUITransaction } from '@dynamic-labs/types';
9
- import { IDynamicWaasConnector } from '@dynamic-labs/wallet-connector-core';
9
+ import { ExportClientKeysharesParams, IDynamicWaasConnector } from '@dynamic-labs/wallet-connector-core';
10
10
  import { WaasSuiWallet } from '../wallet/WaasSuiWallet';
11
11
  declare const DynamicWaasSuiConnector_base: (abstract new (...args: any[]) => {
12
12
  [x: string]: any;
@@ -69,12 +69,7 @@ declare const DynamicWaasSuiConnector_base: (abstract new (...args: any[]) => {
69
69
  getWaasWalletClient(traceContext?: import("dist/packages/waas/utils/instrumentation").TraceContext | undefined, { forceRebuild }?: {
70
70
  forceRebuild?: boolean | undefined;
71
71
  } | undefined): Promise<DynamicWalletClient>;
72
- createWalletAccount({ thresholdSignatureScheme, password, bitcoinConfig, businessAccountId, }?: {
73
- thresholdSignatureScheme?: string | undefined;
74
- password?: string | undefined;
75
- bitcoinConfig?: import("@dynamic-labs-wallet/browser-wallet-client").BitcoinConfig | undefined;
76
- businessAccountId?: string | undefined;
77
- } | undefined): Promise<{
72
+ createWalletAccount({ thresholdSignatureScheme, password, bitcoinConfig, businessAccountId, }?: import("@dynamic-labs/wallet-connector-core").CreateWalletAccountParams | undefined): Promise<{
78
73
  chainName: string;
79
74
  accountAddress: string;
80
75
  publicKeyHex: string;
@@ -94,14 +89,7 @@ declare const DynamicWaasSuiConnector_base: (abstract new (...args: any[]) => {
94
89
  }): Promise<{
95
90
  shareSetId: string;
96
91
  }>;
97
- importPrivateKey({ privateKey, thresholdSignatureScheme, publicAddressCheck, addressType, legacyWalletId, password, }: {
98
- privateKey: string;
99
- thresholdSignatureScheme?: string | undefined;
100
- publicAddressCheck?: string | undefined;
101
- addressType?: string | undefined;
102
- legacyWalletId?: string | undefined;
103
- password?: string | undefined;
104
- }): Promise<void>;
92
+ importPrivateKey({ privateKey, thresholdSignatureScheme, publicAddressCheck, addressType, legacyWalletId, password, isRawScalarImport, }: import("@dynamic-labs/wallet-connector-core").ImportPrivateKeyParams): Promise<void>;
105
93
  migrateFromFireblocks({ deviceId, jwt, walletPassword, ncwStorage, expectedAddresses, coinTypes, password, }: {
106
94
  deviceId: string;
107
95
  jwt: string;
@@ -119,10 +107,7 @@ declare const DynamicWaasSuiConnector_base: (abstract new (...args: any[]) => {
119
107
  getExportHandler(): {
120
108
  clear: () => void;
121
109
  };
122
- exportClientKeyshares({ accountAddress, password, }: {
123
- accountAddress: string;
124
- password?: string | undefined;
125
- }): Promise<void>;
110
+ exportClientKeyshares({ accountAddress, password, }: ExportClientKeysharesParams): Promise<void>;
126
111
  runBackupLifecycle({ provider, accountAddress, password, performBackup, }: {
127
112
  provider: string;
128
113
  accountAddress: string;
@@ -138,11 +123,7 @@ declare const DynamicWaasSuiConnector_base: (abstract new (...args: any[]) => {
138
123
  };
139
124
  }) => Promise<void>;
140
125
  }): Promise<void>;
141
- backupKeySharesToGoogleDrive({ accountAddress, password, googleDriveAccessToken, }: {
142
- accountAddress: string;
143
- password?: string | undefined;
144
- googleDriveAccessToken?: string | undefined;
145
- }): Promise<void>;
126
+ backupKeySharesToGoogleDrive({ accountAddress, password, googleDriveAccessToken, }: import("@dynamic-labs/wallet-connector-core").BackupKeySharesToGoogleDriveParams): Promise<void>;
146
127
  exportClientKeysharesFromGoogleDrive({ accountAddress, password, }: {
147
128
  accountAddress: string;
148
129
  password?: string | undefined;
@@ -156,24 +137,13 @@ declare const DynamicWaasSuiConnector_base: (abstract new (...args: any[]) => {
156
137
  }): Promise<void>;
157
138
  hideICloudSignIn(): Promise<void>;
158
139
  isICloudAuthenticated(): Promise<boolean>;
159
- refreshWalletAccountShares({ accountAddress, password, }: {
160
- accountAddress: string;
161
- password?: string | undefined;
162
- }): Promise<void>;
163
- reshareWalletAccountShares({ accountAddress, thresholdSignatureScheme, password, }: {
164
- accountAddress: string;
165
- thresholdSignatureScheme: string;
166
- password?: string | undefined;
167
- }): Promise<void>;
140
+ refreshWalletAccountShares({ accountAddress, password, }: import("@dynamic-labs/wallet-connector-core").RefreshWalletAccountSharesParams): Promise<void>;
141
+ reshareWalletAccountShares({ accountAddress, thresholdSignatureScheme, password, }: import("@dynamic-labs/wallet-connector-core").ReshareWalletAccountSharesParams): Promise<void>;
168
142
  revokeDelegation({ accountAddress, password, }: {
169
143
  accountAddress: string;
170
144
  password?: string | undefined;
171
145
  }): Promise<void>;
172
- updatePassword({ accountAddress, existingPassword, newPassword, }: {
173
- accountAddress: string;
174
- existingPassword?: string | undefined;
175
- newPassword: string;
176
- }): Promise<void>;
146
+ updatePassword({ accountAddress, existingPassword, newPassword, }: import("@dynamic-labs/wallet-connector-core").UpdatePasswordParams): Promise<void>;
177
147
  setPassword({ accountAddress, newPassword, }: {
178
148
  accountAddress: string;
179
149
  newPassword: string;
@@ -247,12 +217,6 @@ export declare class DynamicWaasSuiConnector extends DynamicWaasSuiConnector_bas
247
217
  private setActiveAccountAddress;
248
218
  getActiveAccountAddress(): Promise<string | undefined>;
249
219
  validateActiveWallet(expectedAddress: string): Promise<void>;
250
- importPrivateKey({ privateKey, thresholdSignatureScheme, publicAddressCheck, legacyWalletId, }: {
251
- privateKey: string;
252
- thresholdSignatureScheme?: string;
253
- publicAddressCheck?: string;
254
- legacyWalletId?: string;
255
- }): Promise<void>;
256
220
  signMessage(message: string): Promise<string>;
257
221
  private createAndSignTransaction;
258
222
  signTransaction(transaction: Transaction): Promise<SignedTransaction>;
@@ -262,10 +226,7 @@ export declare class DynamicWaasSuiConnector extends DynamicWaasSuiConnector_bas
262
226
  accountAddress: string;
263
227
  }): Promise<DynamicWalletClient>;
264
228
  getWalletClient(): Promise<DynamicWalletClient | undefined>;
265
- exportClientKeyshares({ accountAddress, password, }: {
266
- accountAddress: string;
267
- password?: string;
268
- }): Promise<void>;
229
+ exportClientKeyshares(params: ExportClientKeysharesParams): Promise<void>;
269
230
  /** Function used to create transactions in the SDK interface */
270
231
  createUiTransaction(from: string): Promise<IUITransaction>;
271
232
  endSession(reason?: LogoutReason): Promise<void>;
@@ -99,25 +99,6 @@ class DynamicWaasSuiConnector extends withDynamicWaas(SuiWalletConnector) {
99
99
  }
100
100
  });
101
101
  }
102
- // Override importPrivateKey to use the proper type casting for SUI
103
- importPrivateKey(_a) {
104
- return __awaiter(this, arguments, void 0, function* ({ privateKey, thresholdSignatureScheme = 'TWO_OF_TWO', publicAddressCheck, legacyWalletId, }) {
105
- var _b, _c;
106
- const walletClient = yield this.getWaasWalletClient();
107
- const signedSessionId = yield ((_b = this.getSignedSessionId) === null || _b === void 0 ? void 0 : _b.call(this));
108
- if (!signedSessionId) {
109
- throw new DynamicError('Signed session ID is required', 'signed_session_id_is_required');
110
- }
111
- yield walletClient.importPrivateKey({
112
- authToken: (_c = this.getAuthToken) === null || _c === void 0 ? void 0 : _c.call(this),
113
- legacyWalletId,
114
- privateKey,
115
- publicAddressCheck,
116
- signedSessionId,
117
- thresholdSignatureScheme: thresholdSignatureScheme,
118
- });
119
- });
120
- }
121
102
  signMessage(message) {
122
103
  return __awaiter(this, void 0, void 0, function* () {
123
104
  var _a, _b, _c, _d;
@@ -245,19 +226,18 @@ class DynamicWaasSuiConnector extends withDynamicWaas(SuiWalletConnector) {
245
226
  });
246
227
  }
247
228
  // Chain-specific override for exportClientKeyshares - SUI needs to handle optional account address
248
- exportClientKeyshares(_a) {
229
+ exportClientKeyshares(params) {
249
230
  const _super = Object.create(null, {
250
231
  exportClientKeyshares: { get: () => super.exportClientKeyshares }
251
232
  });
252
- return __awaiter(this, arguments, void 0, function* ({ accountAddress, password, }) {
253
- const targetAccountAddress = accountAddress || this.activeAccountAddress;
233
+ return __awaiter(this, void 0, void 0, function* () {
234
+ const targetAccountAddress = params.accountAddress || this.activeAccountAddress;
254
235
  if (!targetAccountAddress) {
255
236
  throw new Error('Account address is required');
256
237
  }
257
- return _super.exportClientKeyshares.call(this, {
258
- accountAddress: targetAccountAddress,
259
- password,
260
- });
238
+ // Spread, so a field added to ExportClientKeysharesParams later still
239
+ // reaches the base instead of being silently dropped here.
240
+ return _super.exportClientKeyshares.call(this, Object.assign(Object.assign({}, params), { accountAddress: targetAccountAddress }));
261
241
  });
262
242
  }
263
243
  /** Function used to create transactions in the SDK interface */