@dynamic-labs/waas 4.91.6 → 4.92.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,20 @@
1
1
 
2
+ ## [4.92.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.91.6...v4.92.0) (2026-07-08)
3
+
4
+
5
+ ### Features
6
+
7
+ * **captcha:** add Cloudflare Turnstile provider support alongside hCaptcha (v4) ([#11798](https://github.com/dynamic-labs/dynamic-auth/issues/11798)) ([114c770](https://github.com/dynamic-labs/dynamic-auth/commit/114c7702e900d8dedeebe7be867de35d11a93f31))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **ethereum-aa:** resolve kernel client config per wallet (v4) ([#11870](https://github.com/dynamic-labs/dynamic-auth/issues/11870)) ([1b66d79](https://github.com/dynamic-labs/dynamic-auth/commit/1b66d79b4a32b4b6de433b7536bc46e6719224c6))
13
+ * **iframe-setup:** block dangerous URL schemes and verify sender in OPEN_URL ([#11819](https://github.com/dynamic-labs/dynamic-auth/issues/11819)) ([329b27e](https://github.com/dynamic-labs/dynamic-auth/commit/329b27e9fac825916ab227ec8cf93dc343898923))
14
+ * improve social OAuth error messages ([#11837](https://github.com/dynamic-labs/dynamic-auth/issues/11837)) ([8e57c06](https://github.com/dynamic-labs/dynamic-auth/commit/8e57c067c5a89111a32a12fb82e190cf6c46ad67))
15
+ * **react-native-extension:** reject path traversal in downloadFile fileName ([#11816](https://github.com/dynamic-labs/dynamic-auth/issues/11816)) ([9367a56](https://github.com/dynamic-labs/dynamic-auth/commit/9367a56b6daa853d7f7e7f5534261bc68825b239))
16
+ * **sdk-react-core:** display exactly the bytes signed in personal_sign preview ([#11818](https://github.com/dynamic-labs/dynamic-auth/issues/11818)) ([30b9382](https://github.com/dynamic-labs/dynamic-auth/commit/30b93829122f00060cb484aef09a03294c03f651))
17
+
2
18
  ### [4.91.6](https://github.com/dynamic-labs/dynamic-auth/compare/v4.91.5...v4.91.6) (2026-07-03)
3
19
 
4
20
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.91.6";
6
+ var version = "4.92.0";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.91.6";
2
+ var version = "4.92.0";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/waas",
3
- "version": "4.91.6",
3
+ "version": "4.92.0",
4
4
  "type": "module",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -16,18 +16,18 @@
16
16
  "./package.json": "./package.json"
17
17
  },
18
18
  "dependencies": {
19
- "@dynamic-labs-sdk/client": "1.12.1",
20
- "@dynamic-labs/assert-package-version": "4.91.6",
21
- "@dynamic-labs/sdk-api-core": "0.0.1046",
19
+ "@dynamic-labs-sdk/client": "1.18.0",
20
+ "@dynamic-labs/assert-package-version": "4.92.0",
21
+ "@dynamic-labs/sdk-api-core": "0.0.1067",
22
22
  "@dynamic-labs-wallet/browser-wallet-client": "1.0.48",
23
23
  "@dynamic-labs-wallet/forward-mpc-client": "0.12.0",
24
- "@dynamic-labs/ethereum-core": "4.91.6",
25
- "@dynamic-labs/logger": "4.91.6",
26
- "@dynamic-labs/solana-core": "4.91.6",
27
- "@dynamic-labs/sui-core": "4.91.6",
28
- "@dynamic-labs/utils": "4.91.6",
29
- "@dynamic-labs/wallet-book": "4.91.6",
30
- "@dynamic-labs/wallet-connector-core": "4.91.6"
24
+ "@dynamic-labs/ethereum-core": "4.92.0",
25
+ "@dynamic-labs/logger": "4.92.0",
26
+ "@dynamic-labs/solana-core": "4.92.0",
27
+ "@dynamic-labs/sui-core": "4.92.0",
28
+ "@dynamic-labs/utils": "4.92.0",
29
+ "@dynamic-labs/wallet-book": "4.92.0",
30
+ "@dynamic-labs/wallet-connector-core": "4.92.0"
31
31
  },
32
32
  "peerDependencies": {}
33
33
  }
@@ -150,7 +150,7 @@ const withDynamicWaas = (BaseClass) => {
150
150
  accountAddress,
151
151
  authToken,
152
152
  password: resolvedPassword,
153
- sessionPublicKey: yield ((_d = this.getSessionPublicKey) === null || _d === void 0 ? void 0 : _d.call(this)),
153
+ sessionPublicKey: (yield ((_d = this.getSessionPublicKey) === null || _d === void 0 ? void 0 : _d.call(this))),
154
154
  signedSessionId,
155
155
  });
156
156
  });
@@ -277,21 +277,48 @@ const withDynamicWaas = (BaseClass) => {
277
277
  }
278
278
  // Common methods that are identical across all connectors
279
279
  createWalletAccount() {
280
- return _tslib.__awaiter(this, arguments, void 0, function* ({ thresholdSignatureScheme = 'TWO_OF_TWO', password, bitcoinConfig, } = {}) {
280
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ thresholdSignatureScheme = 'TWO_OF_TWO', password, bitcoinConfig, businessAccountId, } = {}) {
281
281
  var _a, _b;
282
282
  const walletClient = yield this.getWaasWalletClient();
283
283
  const signedSessionId = yield ((_a = this.getSignedSessionId) === null || _a === void 0 ? void 0 : _a.call(this));
284
284
  if (!signedSessionId) {
285
285
  throw new utils.DynamicError('Signed session ID is required', 'signed_session_id_is_required');
286
286
  }
287
- const createdWallet = yield walletClient.createWalletAccount({
288
- authToken: (_b = this.getAuthToken) === null || _b === void 0 ? void 0 : _b.call(this),
289
- bitcoinConfig,
287
+ const createdWallet = yield walletClient.createWalletAccount(Object.assign({ authToken: (_b = this.getAuthToken) === null || _b === void 0 ? void 0 : _b.call(this), bitcoinConfig,
288
+ password,
289
+ signedSessionId, thresholdSignatureScheme: thresholdSignatureScheme }, (businessAccountId && { workspaceAccountId: businessAccountId })));
290
+ return createdWallet;
291
+ });
292
+ }
293
+ // Add a business account signer via the reshare ceremony.
294
+ addSignerViaReshare(_a) {
295
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ accountAddress, walletId, businessAccountId, targetSignerIdentity, signerType, password, }) {
296
+ var _b, _c, _d;
297
+ const walletClient = yield this.getWaasWalletClient();
298
+ const signedSessionId = yield ((_b = this.getSignedSessionId) === null || _b === void 0 ? void 0 : _b.call(this));
299
+ if (!signedSessionId) {
300
+ throw new utils.DynamicError('Signed session ID is required', 'signed_session_id_is_required');
301
+ }
302
+ (_c = this.logger) === null || _c === void 0 ? void 0 : _c.debug('[BusinessAccountAddSigner] addSignerViaReshare', {
303
+ accountAddress,
304
+ businessAccountId,
305
+ identifierType: targetSignerIdentity.identifierType,
306
+ identityMode: targetSignerIdentity.userId ? 'userId' : 'identifier',
307
+ signerType,
308
+ walletId,
309
+ });
310
+ // browser-wallet-client@1.0.48 types use workspaceAccountId; cast to
311
+ // bridge the rename while runtime behaviour is correct.
312
+ return walletClient.reshareToNewSignerShareSet({
313
+ accountAddress,
314
+ authToken: (_d = this.getAuthToken) === null || _d === void 0 ? void 0 : _d.call(this),
290
315
  password,
291
316
  signedSessionId,
292
- thresholdSignatureScheme: thresholdSignatureScheme,
317
+ signerType: signerType,
318
+ targetSignerIdentity: targetSignerIdentity,
319
+ walletId,
320
+ workspaceAccountId: businessAccountId,
293
321
  });
294
- return createdWallet;
295
322
  });
296
323
  }
297
324
  importPrivateKey(_a) {
@@ -1,4 +1,4 @@
1
- import { BitcoinConfig, DynamicWalletClient, MigrateFromFireblocksResponse } from '@dynamic-labs-wallet/browser-wallet-client';
1
+ import { BitcoinConfig, DynamicWalletClient } from '@dynamic-labs-wallet/browser-wallet-client';
2
2
  import type { LogoutReason } from '@dynamic-labs-sdk/client';
3
3
  import { InstrumentOptions, Logger } from '@dynamic-labs/logger';
4
4
  import { MFAAction, TokenScope } from '@dynamic-labs/sdk-api-core';
@@ -85,16 +85,31 @@ export declare const withDynamicWaas: <T extends abstract new (...args: any[]) =
85
85
  getWaasWalletClient(traceContext?: TraceContext, { forceRebuild }?: {
86
86
  forceRebuild?: boolean;
87
87
  }): Promise<DynamicWalletClient>;
88
- createWalletAccount({ thresholdSignatureScheme, password, bitcoinConfig, }?: {
88
+ createWalletAccount({ thresholdSignatureScheme, password, bitcoinConfig, businessAccountId, }?: {
89
89
  thresholdSignatureScheme?: string;
90
90
  password?: string;
91
91
  bitcoinConfig?: BitcoinConfig;
92
+ businessAccountId?: string;
92
93
  }): Promise<{
93
94
  chainName: string;
94
95
  accountAddress: string;
95
96
  publicKeyHex: string;
96
97
  rawPublicKey: string | Uint8Array | undefined;
97
98
  }>;
99
+ addSignerViaReshare({ accountAddress, walletId, businessAccountId, targetSignerIdentity, signerType, password, }: {
100
+ accountAddress: string;
101
+ walletId?: string;
102
+ businessAccountId: string;
103
+ targetSignerIdentity: {
104
+ userId?: string;
105
+ identifier?: string;
106
+ identifierType?: string;
107
+ };
108
+ signerType?: 'endUser' | 'server';
109
+ password?: string;
110
+ }): Promise<{
111
+ shareSetId: string;
112
+ }>;
98
113
  importPrivateKey({ privateKey, thresholdSignatureScheme, publicAddressCheck, addressType, legacyWalletId, password, }: {
99
114
  privateKey: string;
100
115
  thresholdSignatureScheme?: string;
@@ -111,7 +126,7 @@ export declare const withDynamicWaas: <T extends abstract new (...args: any[]) =
111
126
  expectedAddresses: Record<string, string>;
112
127
  coinTypes?: Record<string, number>;
113
128
  password?: string;
114
- }): Promise<MigrateFromFireblocksResponse>;
129
+ }): Promise<Record<string, unknown>>;
115
130
  exportPrivateKey({ accountAddress, displayContainer, password, }?: {
116
131
  accountAddress?: string;
117
132
  displayContainer?: HTMLIFrameElement;
@@ -146,7 +146,7 @@ const withDynamicWaas = (BaseClass) => {
146
146
  accountAddress,
147
147
  authToken,
148
148
  password: resolvedPassword,
149
- sessionPublicKey: yield ((_d = this.getSessionPublicKey) === null || _d === void 0 ? void 0 : _d.call(this)),
149
+ sessionPublicKey: (yield ((_d = this.getSessionPublicKey) === null || _d === void 0 ? void 0 : _d.call(this))),
150
150
  signedSessionId,
151
151
  });
152
152
  });
@@ -273,21 +273,48 @@ const withDynamicWaas = (BaseClass) => {
273
273
  }
274
274
  // Common methods that are identical across all connectors
275
275
  createWalletAccount() {
276
- return __awaiter(this, arguments, void 0, function* ({ thresholdSignatureScheme = 'TWO_OF_TWO', password, bitcoinConfig, } = {}) {
276
+ return __awaiter(this, arguments, void 0, function* ({ thresholdSignatureScheme = 'TWO_OF_TWO', password, bitcoinConfig, businessAccountId, } = {}) {
277
277
  var _a, _b;
278
278
  const walletClient = yield this.getWaasWalletClient();
279
279
  const signedSessionId = yield ((_a = this.getSignedSessionId) === null || _a === void 0 ? void 0 : _a.call(this));
280
280
  if (!signedSessionId) {
281
281
  throw new DynamicError('Signed session ID is required', 'signed_session_id_is_required');
282
282
  }
283
- const createdWallet = yield walletClient.createWalletAccount({
284
- authToken: (_b = this.getAuthToken) === null || _b === void 0 ? void 0 : _b.call(this),
285
- bitcoinConfig,
283
+ const createdWallet = yield walletClient.createWalletAccount(Object.assign({ authToken: (_b = this.getAuthToken) === null || _b === void 0 ? void 0 : _b.call(this), bitcoinConfig,
284
+ password,
285
+ signedSessionId, thresholdSignatureScheme: thresholdSignatureScheme }, (businessAccountId && { workspaceAccountId: businessAccountId })));
286
+ return createdWallet;
287
+ });
288
+ }
289
+ // Add a business account signer via the reshare ceremony.
290
+ addSignerViaReshare(_a) {
291
+ return __awaiter(this, arguments, void 0, function* ({ accountAddress, walletId, businessAccountId, targetSignerIdentity, signerType, password, }) {
292
+ var _b, _c, _d;
293
+ const walletClient = yield this.getWaasWalletClient();
294
+ const signedSessionId = yield ((_b = this.getSignedSessionId) === null || _b === void 0 ? void 0 : _b.call(this));
295
+ if (!signedSessionId) {
296
+ throw new DynamicError('Signed session ID is required', 'signed_session_id_is_required');
297
+ }
298
+ (_c = this.logger) === null || _c === void 0 ? void 0 : _c.debug('[BusinessAccountAddSigner] addSignerViaReshare', {
299
+ accountAddress,
300
+ businessAccountId,
301
+ identifierType: targetSignerIdentity.identifierType,
302
+ identityMode: targetSignerIdentity.userId ? 'userId' : 'identifier',
303
+ signerType,
304
+ walletId,
305
+ });
306
+ // browser-wallet-client@1.0.48 types use workspaceAccountId; cast to
307
+ // bridge the rename while runtime behaviour is correct.
308
+ return walletClient.reshareToNewSignerShareSet({
309
+ accountAddress,
310
+ authToken: (_d = this.getAuthToken) === null || _d === void 0 ? void 0 : _d.call(this),
286
311
  password,
287
312
  signedSessionId,
288
- thresholdSignatureScheme: thresholdSignatureScheme,
313
+ signerType: signerType,
314
+ targetSignerIdentity: targetSignerIdentity,
315
+ walletId,
316
+ workspaceAccountId: businessAccountId,
289
317
  });
290
- return createdWallet;
291
318
  });
292
319
  }
293
320
  importPrivateKey(_a) {