@aztec/stdlib 3.0.0-nightly.20251111 → 3.0.0-nightly.20251112

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "3.0.0-nightly.20251111",
3
+ "version": "3.0.0-nightly.20251112",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -72,13 +72,13 @@
72
72
  },
73
73
  "dependencies": {
74
74
  "@aws-sdk/client-s3": "^3.892.0",
75
- "@aztec/bb.js": "3.0.0-nightly.20251111",
76
- "@aztec/blob-lib": "3.0.0-nightly.20251111",
77
- "@aztec/constants": "3.0.0-nightly.20251111",
78
- "@aztec/ethereum": "3.0.0-nightly.20251111",
79
- "@aztec/foundation": "3.0.0-nightly.20251111",
80
- "@aztec/l1-artifacts": "3.0.0-nightly.20251111",
81
- "@aztec/noir-noirc_abi": "3.0.0-nightly.20251111",
75
+ "@aztec/bb.js": "3.0.0-nightly.20251112",
76
+ "@aztec/blob-lib": "3.0.0-nightly.20251112",
77
+ "@aztec/constants": "3.0.0-nightly.20251112",
78
+ "@aztec/ethereum": "3.0.0-nightly.20251112",
79
+ "@aztec/foundation": "3.0.0-nightly.20251112",
80
+ "@aztec/l1-artifacts": "3.0.0-nightly.20251112",
81
+ "@aztec/noir-noirc_abi": "3.0.0-nightly.20251112",
82
82
  "@google-cloud/storage": "^7.15.0",
83
83
  "axios": "^1.12.0",
84
84
  "json-stringify-deterministic": "1.0.12",
package/src/avm/avm.ts CHANGED
@@ -574,6 +574,9 @@ export class AvmExecutionHints {
574
574
  public readonly contractClasses: AvmContractClassHint[] = [],
575
575
  public readonly bytecodeCommitments: AvmBytecodeCommitmentHint[] = [],
576
576
  public readonly debugFunctionNames: AvmDebugFunctionNameHint[] = [],
577
+ public readonly contractDBCreateCheckpointHints: AvmContractDBCreateCheckpointHint[] = [],
578
+ public readonly contractDBCommitCheckpointHints: AvmContractDBCommitCheckpointHint[] = [],
579
+ public readonly contractDBRevertCheckpointHints: AvmContractDBRevertCheckpointHint[] = [],
577
580
  // Merkle DB hints.
578
581
  public startingTreeRoots: TreeSnapshots = TreeSnapshots.empty(),
579
582
  public readonly getSiblingPathHints: AvmGetSiblingPathHint[] = [],
@@ -587,9 +590,6 @@ export class AvmExecutionHints {
587
590
  public readonly createCheckpointHints: AvmCreateCheckpointHint[] = [],
588
591
  public readonly commitCheckpointHints: AvmCommitCheckpointHint[] = [],
589
592
  public readonly revertCheckpointHints: AvmRevertCheckpointHint[] = [],
590
- public readonly contractDBCreateCheckpointHints: AvmContractDBCreateCheckpointHint[] = [],
591
- public readonly contractDBCommitCheckpointHints: AvmContractDBCommitCheckpointHint[] = [],
592
- public readonly contractDBRevertCheckpointHints: AvmContractDBRevertCheckpointHint[] = [],
593
593
  ) {}
594
594
 
595
595
  static empty() {
@@ -606,6 +606,9 @@ export class AvmExecutionHints {
606
606
  contractClasses: AvmContractClassHint.schema.array(),
607
607
  bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
608
608
  debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
609
+ contractDBCreateCheckpointHints: AvmContractDBCreateCheckpointHint.schema.array(),
610
+ contractDBCommitCheckpointHints: AvmContractDBCommitCheckpointHint.schema.array(),
611
+ contractDBRevertCheckpointHints: AvmContractDBRevertCheckpointHint.schema.array(),
609
612
  startingTreeRoots: TreeSnapshots.schema,
610
613
  getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
611
614
  getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
@@ -618,9 +621,6 @@ export class AvmExecutionHints {
618
621
  createCheckpointHints: AvmCreateCheckpointHint.schema.array(),
619
622
  commitCheckpointHints: AvmCommitCheckpointHint.schema.array(),
620
623
  revertCheckpointHints: AvmRevertCheckpointHint.schema.array(),
621
- contractDBCreateCheckpointHints: AvmContractDBCreateCheckpointHint.schema.array(),
622
- contractDBCommitCheckpointHints: AvmContractDBCommitCheckpointHint.schema.array(),
623
- contractDBRevertCheckpointHints: AvmContractDBRevertCheckpointHint.schema.array(),
624
624
  })
625
625
  .transform(
626
626
  ({
@@ -631,6 +631,9 @@ export class AvmExecutionHints {
631
631
  contractClasses,
632
632
  bytecodeCommitments,
633
633
  debugFunctionNames,
634
+ contractDBCreateCheckpointHints,
635
+ contractDBCommitCheckpointHints,
636
+ contractDBRevertCheckpointHints,
634
637
  startingTreeRoots,
635
638
  getSiblingPathHints,
636
639
  getPreviousValueIndexHints,
@@ -643,9 +646,6 @@ export class AvmExecutionHints {
643
646
  createCheckpointHints,
644
647
  commitCheckpointHints,
645
648
  revertCheckpointHints,
646
- contractDBCreateCheckpointHints,
647
- contractDBCommitCheckpointHints,
648
- contractDBRevertCheckpointHints,
649
649
  }) =>
650
650
  new AvmExecutionHints(
651
651
  globalVariables,
@@ -655,6 +655,9 @@ export class AvmExecutionHints {
655
655
  contractClasses,
656
656
  bytecodeCommitments,
657
657
  debugFunctionNames,
658
+ contractDBCreateCheckpointHints,
659
+ contractDBCommitCheckpointHints,
660
+ contractDBRevertCheckpointHints,
658
661
  startingTreeRoots,
659
662
  getSiblingPathHints,
660
663
  getPreviousValueIndexHints,
@@ -667,9 +670,6 @@ export class AvmExecutionHints {
667
670
  createCheckpointHints,
668
671
  commitCheckpointHints,
669
672
  revertCheckpointHints,
670
- contractDBCreateCheckpointHints,
671
- contractDBCommitCheckpointHints,
672
- contractDBRevertCheckpointHints,
673
673
  ),
674
674
  );
675
675
  }
@@ -6,7 +6,7 @@ import { createWriteStream } from 'fs';
6
6
  import { mkdir } from 'fs/promises';
7
7
  import { dirname } from 'path';
8
8
  import { Readable } from 'stream';
9
- import { finished } from 'stream/promises';
9
+ import { pipeline } from 'stream/promises';
10
10
 
11
11
  import type { ReadOnlyFileStore } from './interface.js';
12
12
 
@@ -43,11 +43,14 @@ export class HttpFileStore implements ReadOnlyFileStore {
43
43
  public async download(pathOrUrl: string, destPath: string): Promise<void> {
44
44
  const url = this.getUrl(pathOrUrl);
45
45
  try {
46
+ this.log.debug(`Downloading file from ${url} to ${destPath}`);
46
47
  const response = await this.fetch<Readable>({ url, method: 'GET', responseType: 'stream' });
48
+ this.log.debug(`Response ${response.status} (${response.statusText}) from ${url}, writing to ${destPath}`);
47
49
  await mkdir(dirname(destPath), { recursive: true });
48
- await finished(response.data.pipe(createWriteStream(destPath)));
50
+ await pipeline(response.data, createWriteStream(destPath));
51
+ this.log.debug(`Download of ${url} to ${destPath} complete`);
49
52
  } catch (error) {
50
- throw new Error(`Error fetching file from ${url}: ${error instanceof Error ? error.message : String(error)}`);
53
+ throw new Error(`Error fetching file from ${url}`, { cause: error });
51
54
  }
52
55
  }
53
56
 
@@ -12,7 +12,7 @@ import { mkdir, mkdtemp, stat, unlink } from 'fs/promises';
12
12
  import { tmpdir } from 'os';
13
13
  import { basename, dirname, join } from 'path';
14
14
  import { Readable } from 'stream';
15
- import { finished } from 'stream/promises';
15
+ import { pipeline } from 'stream/promises';
16
16
  import { createGzip } from 'zlib';
17
17
 
18
18
  import type { FileStore, FileStoreSaveOptions } from './interface.js';
@@ -88,11 +88,8 @@ export class S3FileStore implements FileStore {
88
88
  // Pre-gzip to a temp file so we know the exact length for R2/S3 headers
89
89
  const tmpDir = await mkdtemp(join(tmpdir(), 's3-upload-'));
90
90
  const gzPath = join(tmpDir, `${basename(srcPath)}.gz`);
91
- const source = createReadStream(srcPath);
92
- const gz = createGzip();
93
- const out = createWriteStream(gzPath);
94
91
  try {
95
- await finished(source.pipe(gz).pipe(out));
92
+ await pipeline(createReadStream(srcPath), createGzip(), createWriteStream(gzPath));
96
93
  const st = await stat(gzPath);
97
94
  contentLength = st.size;
98
95
  bodyPath = gzPath;
@@ -144,8 +141,7 @@ export class S3FileStore implements FileStore {
144
141
  const { bucket, key } = this.getBucketAndKey(pathOrUrlStr);
145
142
  const out: GetObjectCommandOutput = await this.s3.send(new GetObjectCommand({ Bucket: bucket, Key: key }));
146
143
  await mkdir(dirname(destPath), { recursive: true });
147
- const write = createWriteStream(destPath);
148
- await finished((out.Body as Readable).pipe(write));
144
+ await pipeline(out.Body as Readable, createWriteStream(destPath));
149
145
  }
150
146
 
151
147
  public async exists(pathOrUrlStr: string): Promise<boolean> {
@@ -59,6 +59,9 @@ import {
59
59
  AvmCircuitPublicInputs,
60
60
  AvmCommitCheckpointHint,
61
61
  AvmContractClassHint,
62
+ AvmContractDBCommitCheckpointHint,
63
+ AvmContractDBCreateCheckpointHint,
64
+ AvmContractDBRevertCheckpointHint,
62
65
  AvmContractInstanceHint,
63
66
  AvmCreateCheckpointHint,
64
67
  AvmDebugFunctionNameHint,
@@ -1364,6 +1367,30 @@ export function makeAvmCheckpointActionRevertCheckpointHint(seed = 0): AvmRevert
1364
1367
  );
1365
1368
  }
1366
1369
 
1370
+ export function makeAvmContractDBCheckpointActionCreateCheckpointHint(seed = 0): AvmContractDBCreateCheckpointHint {
1371
+ return new AvmContractDBCreateCheckpointHint(
1372
+ /*actionCounter=*/ seed,
1373
+ /*oldCheckpointId=*/ seed + 1,
1374
+ /*newCheckpointId=*/ seed + 2,
1375
+ );
1376
+ }
1377
+
1378
+ export function makeAvmContractDBCheckpointActionCommitCheckpointHint(seed = 0): AvmContractDBCommitCheckpointHint {
1379
+ return new AvmContractDBCommitCheckpointHint(
1380
+ /*actionCounter=*/ seed,
1381
+ /*oldCheckpointId=*/ seed + 1,
1382
+ /*newCheckpointId=*/ seed + 2,
1383
+ );
1384
+ }
1385
+
1386
+ export function makeAvmContractDBCheckpointActionRevertCheckpointHint(seed = 0): AvmContractDBRevertCheckpointHint {
1387
+ return new AvmContractDBRevertCheckpointHint(
1388
+ /*actionCounter=*/ seed,
1389
+ /*oldCheckpointId=*/ seed + 1,
1390
+ /*newCheckpointId=*/ seed + 2,
1391
+ );
1392
+ }
1393
+
1367
1394
  /**
1368
1395
  * Makes arbitrary AvmContractInstanceHint.
1369
1396
  * @param seed - The seed to use for generating the state reference.
@@ -1479,6 +1506,21 @@ export async function makeAvmExecutionHints(
1479
1506
  contractClasses: makeArray(baseLength + 5, makeAvmContractClassHint, seed + 0x4900),
1480
1507
  bytecodeCommitments: await makeArrayAsync(baseLength + 5, makeAvmBytecodeCommitmentHint, seed + 0x4900),
1481
1508
  debugFunctionNames: makeArray(baseLength + 5, makeAvmDebugFunctionNameHint, seed + 0x4a00),
1509
+ contractDBCreateCheckpointHints: makeArray(
1510
+ baseLength + 5,
1511
+ makeAvmContractDBCheckpointActionCreateCheckpointHint,
1512
+ seed + 0x5900,
1513
+ ),
1514
+ contractDBCommitCheckpointHints: makeArray(
1515
+ baseLength + 5,
1516
+ makeAvmContractDBCheckpointActionCommitCheckpointHint,
1517
+ seed + 0x5b00,
1518
+ ),
1519
+ contractDBRevertCheckpointHints: makeArray(
1520
+ baseLength + 5,
1521
+ makeAvmContractDBCheckpointActionRevertCheckpointHint,
1522
+ seed + 0x5d00,
1523
+ ),
1482
1524
  startingTreeRoots: makeTreeSnapshots(seed + 0x4900),
1483
1525
  getSiblingPathHints: makeArray(baseLength + 5, makeAvmGetSiblingPathHint, seed + 0x4b00),
1484
1526
  getPreviousValueIndexHints: makeArray(baseLength + 5, makeAvmGetPreviousValueIndexHint, seed + 0x4d00),
@@ -1514,6 +1556,9 @@ export async function makeAvmExecutionHints(
1514
1556
  fields.contractClasses,
1515
1557
  fields.bytecodeCommitments,
1516
1558
  fields.debugFunctionNames,
1559
+ fields.contractDBCreateCheckpointHints,
1560
+ fields.contractDBCommitCheckpointHints,
1561
+ fields.contractDBRevertCheckpointHints,
1517
1562
  fields.startingTreeRoots,
1518
1563
  fields.getSiblingPathHints,
1519
1564
  fields.getPreviousValueIndexHints,