@dynamic-labs/aleo 5.3.1 → 5.4.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,43 @@
1
1
 
2
+ ## [5.4.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.3.2...v5.4.0) (2026-08-25)
3
+
4
+
5
+ ### Features
6
+
7
+ * **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))
8
+ * **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))
9
+ * **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))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **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))
15
+ * 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))
16
+ * **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))
17
+ * **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))
18
+
19
+
20
+ ### Performance Improvements
21
+
22
+ * **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))
23
+
24
+ ### [5.3.2](https://github.com/dynamic-labs/dynamic-auth/compare/v5.3.1...v5.3.2) (2026-08-19)
25
+
26
+
27
+ ### Features
28
+
29
+ * **bitcoin:** add allowedSighash to embedded wallet signPsbt ([#12233](https://github.com/dynamic-labs/dynamic-auth/issues/12233)) ([d0ff829](https://github.com/dynamic-labs/dynamic-auth/commit/d0ff8291a3d1771d5ca356172acc10af94349b15))
30
+ * **bitcoin:** forward signingIndexes to embedded PSBT signing ([#12211](https://github.com/dynamic-labs/dynamic-auth/issues/12211)) ([733da3d](https://github.com/dynamic-labs/dynamic-auth/commit/733da3d32f39a9ae6d813df84fcff6350ba12eb5))
31
+ * expose createOfflineRecoveryShares SDK function in webview and legacy client ([#12239](https://github.com/dynamic-labs/dynamic-auth/issues/12239)) ([c8056e8](https://github.com/dynamic-labs/dynamic-auth/commit/c8056e8d5a1c66ac0146b046bc7cc198de118f0b))
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * **bitcoin:** parse PSBTs with the active network's address encoding ([#12219](https://github.com/dynamic-labs/dynamic-auth/issues/12219)) ([8b151e2](https://github.com/dynamic-labs/dynamic-auth/commit/8b151e23440094cfa0d48728e1d0f19de567ca05))
37
+ * **bitcoin:** stop ensureActiveAccount from resetting a switched network ([#12215](https://github.com/dynamic-labs/dynamic-auth/issues/12215)) ([86668b7](https://github.com/dynamic-labs/dynamic-auth/commit/86668b79d23cd89b7e96518551cdaecab7dd5ce3))
38
+ * remediate high-severity dependency vulnerabilities ([#12238](https://github.com/dynamic-labs/dynamic-auth/issues/12238)) ([a4fc78c](https://github.com/dynamic-labs/dynamic-auth/commit/a4fc78ca27ee44ce6a1038c4e0d07f55528b4994))
39
+ * **waas-svm:** retry SVM gas sponsorship before falling back, then throw ([#12240](https://github.com/dynamic-labs/dynamic-auth/issues/12240)) ([f599a7a](https://github.com/dynamic-labs/dynamic-auth/commit/f599a7af55727e06373772acf574ee7c43e56bbb))
40
+
2
41
  ### [5.3.1](https://github.com/dynamic-labs/dynamic-auth/compare/v5.3.0...v5.3.1) (2026-08-14)
3
42
 
4
43
  ## [5.3.0](https://github.com/dynamic-labs/dynamic-auth/compare/v5.2.0...v5.3.0) (2026-08-12)
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.1";
6
+ var version = "5.4.0";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "5.3.1";
2
+ var version = "5.4.0";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/aleo",
3
- "version": "5.3.1",
3
+ "version": "5.4.0",
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,19 +18,19 @@
18
18
  },
19
19
  "homepage": "https://www.dynamic.xyz/",
20
20
  "dependencies": {
21
- "@dynamic-labs/assert-package-version": "5.3.1",
22
- "@dynamic-labs-sdk/client": "1.27.1",
23
- "@dynamic-labs/sdk-api-core": "0.0.1118",
21
+ "@dynamic-labs/assert-package-version": "5.4.0",
22
+ "@dynamic-labs-sdk/client": "1.29.0",
23
+ "@dynamic-labs/sdk-api-core": "0.12.0",
24
24
  "@provablehq/aleo-wallet-adaptor-core": "0.3.0-alpha.3",
25
25
  "@provablehq/aleo-wallet-adaptor-shield": "0.3.0-alpha.3",
26
26
  "@provablehq/aleo-wallet-standard": "0.3.0-alpha.3",
27
27
  "@provablehq/aleo-types": "0.3.0-alpha.3",
28
- "@dynamic-labs/logger": "5.3.1",
29
- "@dynamic-labs/types": "5.3.1",
30
- "@dynamic-labs/utils": "5.3.1",
31
- "@dynamic-labs/waas": "5.3.1",
32
- "@dynamic-labs/wallet-book": "5.3.1",
33
- "@dynamic-labs/wallet-connector-core": "5.3.1"
28
+ "@dynamic-labs/logger": "5.4.0",
29
+ "@dynamic-labs/types": "5.4.0",
30
+ "@dynamic-labs/utils": "5.4.0",
31
+ "@dynamic-labs/waas": "5.4.0",
32
+ "@dynamic-labs/wallet-book": "5.4.0",
33
+ "@dynamic-labs/wallet-connector-core": "5.4.0"
34
34
  },
35
35
  "peerDependencies": {}
36
36
  }
@@ -4,6 +4,7 @@
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var _tslib = require('../../../_virtual/_tslib.cjs');
7
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
7
8
  var utils = require('@dynamic-labs/utils');
8
9
  var waas = require('@dynamic-labs/waas');
9
10
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
@@ -227,10 +228,10 @@ const hasUsableRecordShape = (r) => {
227
228
  };
228
229
  /**
229
230
  * Dynamic WaaS connector for Aleo.
230
- * Phase 1: supports wallet creation (MPC keygen → aleo1... address) and
231
- * retrieval of the active WaaS wallet. signMessage and signTransaction
232
- * throw NotSupported until Sodot adds `EdBls12377.sign(bytes)` and we wire up
233
- * the Aleo `signRequest` ceremony.
231
+ * Supports wallet creation (MPC keygen → aleo1... address), message signing
232
+ * (Aleo Schnorr signatures via Sodot's EdBls12377.signBytes), and retrieval
233
+ * of the active WaaS wallet. signTransaction throws NotSupported until we
234
+ * wire up the Aleo `signRequest` ceremony.
234
235
  */
235
236
  class DynamicWaasAleoConnector extends waas.withDynamicWaas(WaasAleoWalletConnector.WaasAleoWalletConnector) {
236
237
  constructor(props) {
@@ -335,11 +336,42 @@ class DynamicWaasAleoConnector extends waas.withDynamicWaas(WaasAleoWalletConnec
335
336
  return this.activeAccountAddress ? [this.activeAccountAddress] : [];
336
337
  });
337
338
  }
338
- // Phase 1: signMessage not supported (Sodot EdBls12377 lacks sign(bytes))
339
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
340
339
  signMessage(message) {
341
340
  return _tslib.__awaiter(this, void 0, void 0, function* () {
342
- throw new utils.DynamicError('Aleo signMessage is not supported yet — pending EdBls12377.sign(bytes) from Sodot', 'aleo_signmessage_is_not_supported_yet');
341
+ return this.walletUiUtils.signMessage({
342
+ handler: () => _tslib.__awaiter(this, void 0, void 0, function* () { return this.internalSignMessage(message); }),
343
+ message,
344
+ walletConnector: this,
345
+ });
346
+ });
347
+ }
348
+ internalSignMessage(message) {
349
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
350
+ var _a, _b, _c;
351
+ const walletClient = yield this.getWaasWalletClient();
352
+ this.ensureActiveAccountFromVerifiedCredentials();
353
+ if (!this.activeAccountAddress) {
354
+ throw new utils.DynamicError('Active account address is required', 'active_account_address_is_required');
355
+ }
356
+ const signedSessionId = yield this.requireSignedSessionId();
357
+ const mfaToken = yield ((_a = this.getMfaToken) === null || _a === void 0 ? void 0 : _a.call(this, {
358
+ mfaAction: sdkApiCore.MFAAction.WalletWaasSign,
359
+ }));
360
+ const elevatedAccessToken = yield ((_b = this.getElevatedAccessToken) === null || _b === void 0 ? void 0 : _b.call(this, {
361
+ scope: sdkApiCore.TokenScope.Walletsign,
362
+ }));
363
+ const password = yield this.getPasswordIfNeeded({
364
+ accountAddress: this.activeAccountAddress,
365
+ });
366
+ return walletClient.signMessage({
367
+ accountAddress: this.activeAccountAddress,
368
+ authToken: (_c = this.getAuthToken) === null || _c === void 0 ? void 0 : _c.call(this),
369
+ elevatedAccessToken,
370
+ message,
371
+ mfaToken,
372
+ password,
373
+ signedSessionId,
374
+ });
343
375
  });
344
376
  }
345
377
  /* eslint-disable @typescript-eslint/no-unused-vars */
@@ -1,5 +1,5 @@
1
1
  import type { LogoutReason } from '@dynamic-labs-sdk/client';
2
- import { JwtVerifiedCredential, SignMessageContext } from '@dynamic-labs/sdk-api-core';
2
+ import { JwtVerifiedCredential, MFAAction, SignMessageContext, TokenScope } from '@dynamic-labs/sdk-api-core';
3
3
  import { IUITransaction, WalletUiUtils } from '@dynamic-labs/types';
4
4
  import { IDynamicWaasConnector, InternalWalletConnector } from '@dynamic-labs/wallet-connector-core';
5
5
  import { Logger } from '@dynamic-labs/logger';
@@ -26,12 +26,12 @@ declare const DynamicWaasAleoConnector_base: (abstract new (...args: any[]) => {
26
26
  getSignedSessionId?: (() => Promise<string>) | undefined;
27
27
  getSessionPublicKey?: (() => Promise<string | undefined>) | undefined;
28
28
  getMfaToken?: ((props?: {
29
- mfaAction?: import("@dynamic-labs-sdk/client").MFAAction | undefined;
29
+ mfaAction?: MFAAction | undefined;
30
30
  } | undefined) => Promise<string | undefined>) | undefined;
31
31
  getWalletPassword?: import("@dynamic-labs/wallet-connector-core").GetWalletPasswordFn | undefined;
32
32
  getAuthToken?: (() => string) | undefined;
33
33
  getElevatedAccessToken?: ((props: {
34
- scope: import("@dynamic-labs-sdk/client").TokenScope;
34
+ scope: TokenScope;
35
35
  }) => Promise<string | undefined>) | undefined;
36
36
  onUnauthorized?: (() => void | Promise<void>) | undefined;
37
37
  environmentId?: string | undefined;
@@ -49,10 +49,10 @@ declare const DynamicWaasAleoConnector_base: (abstract new (...args: any[]) => {
49
49
  setOnUnauthorizedFunction(onUnauthorized: () => void | Promise<void>): void;
50
50
  setWaasAuthMode(authMode: "cookie" | "header"): void;
51
51
  setGetMfaTokenFunction(getMfaToken: (props?: {
52
- mfaAction?: import("@dynamic-labs-sdk/client").MFAAction | undefined;
52
+ mfaAction?: MFAAction | undefined;
53
53
  } | undefined) => Promise<string | undefined>): void;
54
54
  setGetElevatedAccessTokenFunction(getElevatedAccessToken: (params: {
55
- scope: import("@dynamic-labs-sdk/client").TokenScope;
55
+ scope: TokenScope;
56
56
  }) => Promise<string | undefined>): void;
57
57
  setGetWalletPasswordFunction(getWalletPassword: import("@dynamic-labs/wallet-connector-core").GetWalletPasswordFn): void;
58
58
  getPasswordIfNeeded({ accountAddress, }: {
@@ -104,13 +104,14 @@ declare const DynamicWaasAleoConnector_base: (abstract new (...args: any[]) => {
104
104
  }): Promise<{
105
105
  shareSetId: string;
106
106
  }>;
107
- importPrivateKey({ privateKey, thresholdSignatureScheme, publicAddressCheck, addressType, legacyWalletId, password, }: {
107
+ importPrivateKey({ privateKey, thresholdSignatureScheme, publicAddressCheck, addressType, legacyWalletId, password, isRawScalarImport, }: {
108
108
  privateKey: string;
109
109
  thresholdSignatureScheme?: string | undefined;
110
110
  publicAddressCheck?: string | undefined;
111
111
  addressType?: string | undefined;
112
112
  legacyWalletId?: string | undefined;
113
113
  password?: string | undefined;
114
+ isRawScalarImport?: boolean | undefined;
114
115
  }): Promise<void>;
115
116
  migrateFromFireblocks({ deviceId, jwt, walletPassword, ncwStorage, expectedAddresses, coinTypes, password, }: {
116
117
  deviceId: string;
@@ -201,6 +202,12 @@ declare const DynamicWaasAleoConnector_base: (abstract new (...args: any[]) => {
201
202
  getWalletRecoveryState({ accountAddress, }: {
202
203
  accountAddress: string;
203
204
  }): Promise<import("@dynamic-labs-wallet/browser-wallet-client").WalletRecoveryState>;
205
+ createOfflineRecoveryShares({ accountAddress, password, cloudProviderAccessToken, mfaToken, }: {
206
+ accountAddress: string;
207
+ password?: string | undefined;
208
+ cloudProviderAccessToken?: string | undefined;
209
+ mfaToken?: string | undefined;
210
+ }): Promise<void>;
204
211
  endSession(reason?: LogoutReason | undefined): Promise<void>;
205
212
  getActiveAccountAddress(): Promise<string | undefined>;
206
213
  getConnectedAccounts(): Promise<string[]>;
@@ -234,10 +241,10 @@ declare const DynamicWaasAleoConnector_base: (abstract new (...args: any[]) => {
234
241
  }) & typeof WaasAleoWalletConnector;
235
242
  /**
236
243
  * Dynamic WaaS connector for Aleo.
237
- * Phase 1: supports wallet creation (MPC keygen → aleo1... address) and
238
- * retrieval of the active WaaS wallet. signMessage and signTransaction
239
- * throw NotSupported until Sodot adds `EdBls12377.sign(bytes)` and we wire up
240
- * the Aleo `signRequest` ceremony.
244
+ * Supports wallet creation (MPC keygen → aleo1... address), message signing
245
+ * (Aleo Schnorr signatures via Sodot's EdBls12377.signBytes), and retrieval
246
+ * of the active WaaS wallet. signTransaction throws NotSupported until we
247
+ * wire up the Aleo `signRequest` ceremony.
241
248
  */
242
249
  export declare class DynamicWaasAleoConnector extends DynamicWaasAleoConnector_base implements IDynamicWaasConnector {
243
250
  ChainWallet: typeof AleoWallet;
@@ -265,6 +272,7 @@ export declare class DynamicWaasAleoConnector extends DynamicWaasAleoConnector_b
265
272
  connect(): Promise<void>;
266
273
  getConnectedAccounts(): Promise<string[]>;
267
274
  signMessage(message: string): Promise<string>;
275
+ internalSignMessage(message: string): Promise<string>;
268
276
  signMessageWithContext({ message, context, }: {
269
277
  message: string | {
270
278
  raw: string;
@@ -1,5 +1,6 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../../_virtual/_tslib.js';
3
+ import { MFAAction, TokenScope } from '@dynamic-labs/sdk-api-core';
3
4
  import { DynamicError } from '@dynamic-labs/utils';
4
5
  import { withDynamicWaas } from '@dynamic-labs/waas';
5
6
  import { isSameAddress } from '@dynamic-labs/wallet-connector-core';
@@ -223,10 +224,10 @@ const hasUsableRecordShape = (r) => {
223
224
  };
224
225
  /**
225
226
  * Dynamic WaaS connector for Aleo.
226
- * Phase 1: supports wallet creation (MPC keygen → aleo1... address) and
227
- * retrieval of the active WaaS wallet. signMessage and signTransaction
228
- * throw NotSupported until Sodot adds `EdBls12377.sign(bytes)` and we wire up
229
- * the Aleo `signRequest` ceremony.
227
+ * Supports wallet creation (MPC keygen → aleo1... address), message signing
228
+ * (Aleo Schnorr signatures via Sodot's EdBls12377.signBytes), and retrieval
229
+ * of the active WaaS wallet. signTransaction throws NotSupported until we
230
+ * wire up the Aleo `signRequest` ceremony.
230
231
  */
231
232
  class DynamicWaasAleoConnector extends withDynamicWaas(WaasAleoWalletConnector) {
232
233
  constructor(props) {
@@ -331,11 +332,42 @@ class DynamicWaasAleoConnector extends withDynamicWaas(WaasAleoWalletConnector)
331
332
  return this.activeAccountAddress ? [this.activeAccountAddress] : [];
332
333
  });
333
334
  }
334
- // Phase 1: signMessage not supported (Sodot EdBls12377 lacks sign(bytes))
335
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
336
335
  signMessage(message) {
337
336
  return __awaiter(this, void 0, void 0, function* () {
338
- throw new DynamicError('Aleo signMessage is not supported yet — pending EdBls12377.sign(bytes) from Sodot', 'aleo_signmessage_is_not_supported_yet');
337
+ return this.walletUiUtils.signMessage({
338
+ handler: () => __awaiter(this, void 0, void 0, function* () { return this.internalSignMessage(message); }),
339
+ message,
340
+ walletConnector: this,
341
+ });
342
+ });
343
+ }
344
+ internalSignMessage(message) {
345
+ return __awaiter(this, void 0, void 0, function* () {
346
+ var _a, _b, _c;
347
+ const walletClient = yield this.getWaasWalletClient();
348
+ this.ensureActiveAccountFromVerifiedCredentials();
349
+ if (!this.activeAccountAddress) {
350
+ throw new DynamicError('Active account address is required', 'active_account_address_is_required');
351
+ }
352
+ const signedSessionId = yield this.requireSignedSessionId();
353
+ const mfaToken = yield ((_a = this.getMfaToken) === null || _a === void 0 ? void 0 : _a.call(this, {
354
+ mfaAction: MFAAction.WalletWaasSign,
355
+ }));
356
+ const elevatedAccessToken = yield ((_b = this.getElevatedAccessToken) === null || _b === void 0 ? void 0 : _b.call(this, {
357
+ scope: TokenScope.Walletsign,
358
+ }));
359
+ const password = yield this.getPasswordIfNeeded({
360
+ accountAddress: this.activeAccountAddress,
361
+ });
362
+ return walletClient.signMessage({
363
+ accountAddress: this.activeAccountAddress,
364
+ authToken: (_c = this.getAuthToken) === null || _c === void 0 ? void 0 : _c.call(this),
365
+ elevatedAccessToken,
366
+ message,
367
+ mfaToken,
368
+ password,
369
+ signedSessionId,
370
+ });
339
371
  });
340
372
  }
341
373
  /* eslint-disable @typescript-eslint/no-unused-vars */