@aztec/stdlib 3.0.0-nightly.20250925 → 3.0.0-nightly.20250926

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.
Files changed (64) hide show
  1. package/dest/avm/avm_accumulated_data.d.ts +1 -0
  2. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  3. package/dest/avm/avm_accumulated_data.js +4 -0
  4. package/dest/avm/index.d.ts +0 -1
  5. package/dest/avm/index.d.ts.map +1 -1
  6. package/dest/avm/index.js +0 -1
  7. package/dest/file-store/factory.d.ts.map +1 -1
  8. package/dest/file-store/factory.js +18 -0
  9. package/dest/file-store/s3.d.ts +25 -0
  10. package/dest/file-store/s3.d.ts.map +1 -0
  11. package/dest/file-store/s3.js +187 -0
  12. package/dest/interfaces/aztec-node-admin.d.ts +6 -0
  13. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  14. package/dest/interfaces/slasher.d.ts +4 -0
  15. package/dest/interfaces/slasher.d.ts.map +1 -1
  16. package/dest/interfaces/slasher.js +1 -0
  17. package/dest/interfaces/validator.d.ts +6 -1
  18. package/dest/interfaces/validator.d.ts.map +1 -1
  19. package/dest/interfaces/validator.js +2 -1
  20. package/dest/rollup/avm_proof_data.d.ts +2 -12
  21. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  22. package/dest/rollup/avm_proof_data.js +0 -24
  23. package/dest/rollup/base_rollup_hints.d.ts +15 -16
  24. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  25. package/dest/rollup/base_rollup_hints.js +24 -25
  26. package/dest/rollup/block_root_rollup_private_inputs.d.ts +13 -13
  27. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  28. package/dest/rollup/block_root_rollup_private_inputs.js +20 -20
  29. package/dest/rollup/index.d.ts +1 -1
  30. package/dest/rollup/index.d.ts.map +1 -1
  31. package/dest/rollup/index.js +1 -1
  32. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
  33. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  34. package/dest/rollup/public_tx_base_rollup_private_inputs.js +2 -2
  35. package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
  36. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
  37. package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
  38. package/dest/rollup/tx_rollup_public_inputs.d.ts +4 -4
  39. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  40. package/dest/rollup/tx_rollup_public_inputs.js +7 -7
  41. package/dest/tests/factories.d.ts +4 -4
  42. package/dest/tests/factories.d.ts.map +1 -1
  43. package/dest/tests/factories.js +20 -25
  44. package/package.json +9 -8
  45. package/src/avm/avm_accumulated_data.ts +10 -0
  46. package/src/avm/index.ts +0 -1
  47. package/src/file-store/factory.ts +15 -0
  48. package/src/file-store/s3.ts +186 -0
  49. package/src/interfaces/slasher.ts +2 -0
  50. package/src/interfaces/validator.ts +5 -1
  51. package/src/rollup/avm_proof_data.ts +2 -31
  52. package/src/rollup/base_rollup_hints.ts +20 -21
  53. package/src/rollup/block_root_rollup_private_inputs.ts +14 -14
  54. package/src/rollup/index.ts +1 -1
  55. package/src/rollup/public_tx_base_rollup_private_inputs.ts +3 -2
  56. package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
  57. package/src/rollup/tx_rollup_public_inputs.ts +4 -4
  58. package/src/tests/factories.ts +25 -37
  59. package/dest/avm/public_data_hint.d.ts +0 -16
  60. package/dest/avm/public_data_hint.d.ts.map +0 -1
  61. package/dest/avm/public_data_hint.js +0 -27
  62. package/dest/rollup/state_diff_hints.d.ts.map +0 -1
  63. package/dest/rollup/state_diff_hints.js +0 -85
  64. package/src/avm/public_data_hint.ts +0 -38
@@ -145,6 +145,7 @@ export declare class AvmAccumulatedData {
145
145
  static empty(): AvmAccumulatedData;
146
146
  isEmpty(): boolean;
147
147
  [inspect.custom](): string;
148
+ getArrayLengths(): AvmAccumulatedDataArrayLengths;
148
149
  }
149
150
  /**
150
151
  * Represents the lengths of arrays in AVM accumulated data
@@ -1 +1 @@
1
- {"version":3,"file":"avm_accumulated_data.d.ts","sourceRoot":"","sources":["../../src/avm/avm_accumulated_data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avm_accumulated_data.d.ts","sourceRoot":"","sources":["../../src/avm/avm_accumulated_data.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { BufferReader, FieldReader, assertLength, serializeToBuffer, serializeTo
7
7
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
8
8
  import { inspect } from 'util';
9
9
  import { z } from 'zod';
10
+ import { countAccumulatedItems } from '../kernel/utils/index.js';
10
11
  import { FlatPublicLogs } from '../logs/public_log.js';
11
12
  import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
12
13
  import { PublicDataWrite } from './public_data_write.js';
@@ -94,6 +95,9 @@ export class AvmAccumulatedData {
94
95
  publicDataWrites: [${this.publicDataWrites.filter((x)=>!x.isEmpty()).map((h)=>inspect(h)).join(', ')}],
95
96
  }`;
96
97
  }
98
+ getArrayLengths() {
99
+ return new AvmAccumulatedDataArrayLengths(countAccumulatedItems(this.noteHashes), countAccumulatedItems(this.nullifiers), countAccumulatedItems(this.l2ToL1Msgs), countAccumulatedItems(this.publicDataWrites));
100
+ }
97
101
  }
98
102
  /**
99
103
  * Represents the lengths of arrays in AVM accumulated data
@@ -3,7 +3,6 @@ export * from './avm_accumulated_data.js';
3
3
  export * from './avm_circuit_public_inputs.js';
4
4
  export * from './revert_code.js';
5
5
  export * from './public_data_write.js';
6
- export * from './public_data_hint.js';
7
6
  export * from './public_data_update_request.js';
8
7
  export * from './contract_storage_update_request.js';
9
8
  export * from './contract_storage_read.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/avm/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/avm/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC"}
package/dest/avm/index.js CHANGED
@@ -3,7 +3,6 @@ export * from './avm_accumulated_data.js';
3
3
  export * from './avm_circuit_public_inputs.js';
4
4
  export * from './revert_code.js';
5
5
  export * from './public_data_write.js';
6
- export * from './public_data_hint.js';
7
6
  export * from './public_data_update_request.js';
8
7
  export * from './contract_storage_update_request.js';
9
8
  export * from './contract_storage_read.js';
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/file-store/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AASnE,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3F,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAgC9F,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC3G,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/file-store/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAWnE,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3F,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AA6C9F,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC3G,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -2,8 +2,10 @@ import { createLogger } from '@aztec/foundation/log';
2
2
  import { GoogleCloudFileStore } from './gcs.js';
3
3
  import { HttpFileStore } from './http.js';
4
4
  import { LocalFileStore } from './local.js';
5
+ import { S3FileStore } from './s3.js';
5
6
  const supportedExamples = [
6
7
  `gs://bucket-name/path/to/store`,
8
+ `s3://bucket-name/path/to/store`,
7
9
  `file:///absolute/local/path/to/store`,
8
10
  `https://host/path`
9
11
  ];
@@ -30,6 +32,22 @@ export async function createFileStore(config, logger = createLogger('stdlib:file
30
32
  } catch {
31
33
  throw new Error(`Invalid google cloud store definition: '${config}'.`);
32
34
  }
35
+ } else if (config.startsWith('s3://')) {
36
+ try {
37
+ const url = new URL(config);
38
+ const bucket = url.host;
39
+ const path = url.pathname.replace(/^\/+/, '');
40
+ const endpoint = url.searchParams.get('endpoint');
41
+ const publicBaseUrl = url.searchParams.get('publicBaseUrl') ?? undefined;
42
+ logger.info(`Creating S3 file store at ${bucket} ${path}`);
43
+ const store = new S3FileStore(bucket, path, {
44
+ endpoint: endpoint ?? undefined,
45
+ publicBaseUrl
46
+ });
47
+ return store;
48
+ } catch {
49
+ throw new Error(`Invalid S3 store definition: '${config}'.`);
50
+ }
33
51
  } else {
34
52
  throw new Error(`Unknown file store config: '${config}'. Supported values are ${supportedExamples.join(', ')}.`);
35
53
  }
@@ -0,0 +1,25 @@
1
+ import { type Logger } from '@aztec/foundation/log';
2
+ import type { FileStore, FileStoreSaveOptions } from './interface.js';
3
+ export declare class S3FileStore implements FileStore {
4
+ private readonly bucketName;
5
+ private readonly basePath;
6
+ private readonly log;
7
+ private readonly s3;
8
+ private readonly region;
9
+ private readonly endpoint?;
10
+ private readonly publicBaseUrl?;
11
+ constructor(bucketName: string, basePath: string, opts: {
12
+ endpoint?: string;
13
+ publicBaseUrl?: string;
14
+ }, log?: Logger);
15
+ save(path: string, data: Buffer, opts?: FileStoreSaveOptions): Promise<string>;
16
+ upload(destPath: string, srcPath: string, opts?: FileStoreSaveOptions): Promise<string>;
17
+ read(pathOrUrlStr: string): Promise<Buffer>;
18
+ download(pathOrUrlStr: string, destPath: string): Promise<void>;
19
+ exists(pathOrUrlStr: string): Promise<boolean>;
20
+ private extractUserMetadata;
21
+ private buildReturnedUrl;
22
+ private getBucketAndKey;
23
+ private getFullPath;
24
+ }
25
+ //# sourceMappingURL=s3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../src/file-store/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAgBlE,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAMtE,qBAAa,WAAY,YAAW,SAAS;IAOzC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;gBAGrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EACjC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAClC,GAAG,GAAE,MAA6C;IAiBxD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBlF,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB3F,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW3C,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe3D,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,WAAW;CAKpB"}
@@ -0,0 +1,187 @@
1
+ import { createLogger } from '@aztec/foundation/log';
2
+ import { GetObjectCommand, HeadObjectCommand, PutObjectCommand, S3Client } from '@aws-sdk/client-s3';
3
+ import { createReadStream, createWriteStream } from 'fs';
4
+ import { mkdir } from 'fs/promises';
5
+ import { dirname, join } from 'path';
6
+ import { finished } from 'stream/promises';
7
+ import { createGzip } from 'zlib';
8
+ function normalizeBasePath(path) {
9
+ return path?.replace(/^\/+|\/+$/g, '') ?? '';
10
+ }
11
+ export class S3FileStore {
12
+ bucketName;
13
+ basePath;
14
+ log;
15
+ s3;
16
+ region;
17
+ endpoint;
18
+ publicBaseUrl;
19
+ constructor(bucketName, basePath, opts, log = createLogger('stdlib:s3-file-store')){
20
+ this.bucketName = bucketName;
21
+ this.basePath = basePath;
22
+ this.log = log;
23
+ this.endpoint = opts.endpoint;
24
+ this.region = this.endpoint ? 'auto' : process.env.AWS_REGION ?? process.env.AWS_DEFAULT_REGION ?? 'us-east-1';
25
+ this.publicBaseUrl = opts.publicBaseUrl;
26
+ const clientOptions = {};
27
+ if (this.endpoint) {
28
+ clientOptions.region = 'auto';
29
+ clientOptions.endpoint = this.endpoint;
30
+ clientOptions.forcePathStyle = true;
31
+ } else {
32
+ clientOptions.region = this.region;
33
+ }
34
+ this.s3 = new S3Client(clientOptions);
35
+ }
36
+ async save(path, data, opts = {}) {
37
+ const key = this.getFullPath(path);
38
+ const shouldCompress = !opts.compress;
39
+ const body = shouldCompress ? (await import('zlib')).gzipSync(data) : data;
40
+ const put = new PutObjectCommand({
41
+ Bucket: this.bucketName,
42
+ Key: key,
43
+ Body: body,
44
+ ContentEncoding: shouldCompress ? 'gzip' : undefined,
45
+ CacheControl: opts.metadata?.['Cache-control'],
46
+ Metadata: this.extractUserMetadata(opts.metadata)
47
+ });
48
+ await this.s3.send(put);
49
+ return this.buildReturnedUrl(key, !!opts.public);
50
+ }
51
+ async upload(destPath, srcPath, opts = {}) {
52
+ const key = this.getFullPath(destPath);
53
+ const shouldCompress = opts.compress !== false; // default true like GCS impl
54
+ await mkdir(dirname(srcPath), {
55
+ recursive: true
56
+ }).catch(()=>undefined);
57
+ const source = createReadStream(srcPath);
58
+ const bodyStream = shouldCompress ? source.pipe(createGzip()) : source;
59
+ const put = new PutObjectCommand({
60
+ Bucket: this.bucketName,
61
+ Key: key,
62
+ Body: bodyStream,
63
+ ContentEncoding: shouldCompress ? 'gzip' : undefined,
64
+ CacheControl: opts.metadata?.['Cache-control'],
65
+ Metadata: this.extractUserMetadata(opts.metadata)
66
+ });
67
+ await this.s3.send(put);
68
+ return this.buildReturnedUrl(key, !!opts.public);
69
+ }
70
+ async read(pathOrUrlStr) {
71
+ const { bucket, key } = this.getBucketAndKey(pathOrUrlStr);
72
+ const out = await this.s3.send(new GetObjectCommand({
73
+ Bucket: bucket,
74
+ Key: key
75
+ }));
76
+ const stream = out.Body;
77
+ const chunks = [];
78
+ for await (const chunk of stream){
79
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
80
+ }
81
+ return Buffer.concat(chunks);
82
+ }
83
+ async download(pathOrUrlStr, destPath) {
84
+ const { bucket, key } = this.getBucketAndKey(pathOrUrlStr);
85
+ const out = await this.s3.send(new GetObjectCommand({
86
+ Bucket: bucket,
87
+ Key: key
88
+ }));
89
+ await mkdir(dirname(destPath), {
90
+ recursive: true
91
+ });
92
+ const write = createWriteStream(destPath);
93
+ await finished(out.Body.pipe(write));
94
+ }
95
+ async exists(pathOrUrlStr) {
96
+ try {
97
+ const { bucket, key } = this.getBucketAndKey(pathOrUrlStr);
98
+ await this.s3.send(new HeadObjectCommand({
99
+ Bucket: bucket,
100
+ Key: key
101
+ }));
102
+ return true;
103
+ } catch (err) {
104
+ const code = err?.$metadata?.httpStatusCode ?? err?.name ?? err?.Code;
105
+ if (code === 404 || code === 'NotFound' || code === 'NoSuchKey') {
106
+ return false;
107
+ }
108
+ this.log.warn(`Error checking existence for ${pathOrUrlStr}: ${err?.message ?? String(err)}`);
109
+ return false;
110
+ }
111
+ }
112
+ extractUserMetadata(meta) {
113
+ if (!meta) {
114
+ return undefined;
115
+ }
116
+ const { ['Cache-control']: _ignored, ...rest } = meta;
117
+ return Object.keys(rest).length ? rest : undefined;
118
+ }
119
+ buildReturnedUrl(key, makePublic) {
120
+ if (!makePublic) {
121
+ return `s3://${this.bucketName}/${key}`;
122
+ }
123
+ if (this.publicBaseUrl) {
124
+ const base = this.publicBaseUrl.replace(/\/$/, '');
125
+ // key already includes basePath via getFullPath, so do not prefix basePath again
126
+ const full = key.replace(/^\/+/, '');
127
+ return `${base}/${full}`;
128
+ }
129
+ // Try to synthesize a URL from endpoint if available (works for public R2 buckets)
130
+ if (this.endpoint) {
131
+ try {
132
+ const url = new URL(this.endpoint);
133
+ return `https://${this.bucketName}.${url.host}/${key}`;
134
+ } catch {
135
+ // fallthrough
136
+ }
137
+ }
138
+ // Fallback to AWS style URL if region looks valid
139
+ return `https://${this.bucketName}.s3.${this.region}.amazonaws.com/${key}`;
140
+ }
141
+ getBucketAndKey(pathOrUrlStr) {
142
+ if (URL.canParse(pathOrUrlStr)) {
143
+ const url = new URL(pathOrUrlStr);
144
+ if (url.protocol === 's3:') {
145
+ return {
146
+ bucket: url.host,
147
+ key: url.pathname.replace(/^\/+/, '')
148
+ };
149
+ }
150
+ // For https URLs, try to infer virtual-hosted or path-style
151
+ if (url.protocol === 'https:' || url.protocol === 'http:') {
152
+ // If the URL matches the configured publicBaseUrl host, map back to our bucket and key
153
+ if (this.publicBaseUrl && url.host === new URL(this.publicBaseUrl).host) {
154
+ return {
155
+ bucket: this.bucketName,
156
+ key: url.pathname.replace(/^\/+/, '')
157
+ };
158
+ }
159
+ const hostParts = url.host.split('.');
160
+ if (hostParts.length > 3 && (hostParts[1] === 's3' || hostParts[hostParts.length - 2] === 'r2')) {
161
+ // virtual hosted
162
+ return {
163
+ bucket: hostParts[0],
164
+ key: url.pathname.replace(/^\/+/, '')
165
+ };
166
+ } else if (this.endpoint && url.host === new URL(this.endpoint).host) {
167
+ // path-style at custom endpoint
168
+ const [bucket, ...rest] = url.pathname.replace(/^\/+/, '').split('/');
169
+ return {
170
+ bucket,
171
+ key: rest.join('/')
172
+ };
173
+ }
174
+ }
175
+ }
176
+ // Treat as path
177
+ return {
178
+ bucket: this.bucketName,
179
+ key: this.getFullPath(pathOrUrlStr)
180
+ };
181
+ }
182
+ getFullPath(path) {
183
+ const base = normalizeBasePath(this.basePath);
184
+ const rel = path.replace(/^\/+/, '');
185
+ return base ? join(base, rel) : rel;
186
+ }
187
+ }
@@ -121,6 +121,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
121
121
  slashMaxPayloadSize: z.ZodNumber;
122
122
  slashGracePeriodL2Slots: z.ZodNumber;
123
123
  slashBroadcastedInvalidBlockPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
124
+ slashExecuteRoundsLookBack: z.ZodNumber;
124
125
  slashSelfAllowed: z.ZodOptional<z.ZodBoolean>;
125
126
  }>, {
126
127
  validatorAddresses: z.ZodOptional<z.ZodArray<z.ZodType<import("@aztec/foundation/schemas").EthAddress, any, string>, "many">>;
@@ -129,6 +130,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
129
130
  attestationPollingIntervalMs: z.ZodNumber;
130
131
  validatorReexecute: z.ZodBoolean;
131
132
  validatorReexecuteDeadlineMs: z.ZodNumber;
133
+ alwaysReexecuteBlockProposals: z.ZodOptional<z.ZodBoolean>;
132
134
  }>, Pick<{
133
135
  archiverPollingIntervalMS: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
134
136
  archiverBatchSize: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
@@ -157,6 +159,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
157
159
  slashMaxPayloadSize: number;
158
160
  slashGracePeriodL2Slots: number;
159
161
  slashBroadcastedInvalidBlockPenalty: bigint;
162
+ slashExecuteRoundsLookBack: number;
160
163
  realProofs: boolean;
161
164
  proverTestDelayType: "fixed" | "realistic";
162
165
  proverTestDelayMs: number;
@@ -204,6 +207,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
204
207
  slashSelfAllowed?: boolean | undefined;
205
208
  nodeUrl?: string | undefined;
206
209
  validatorAddresses?: import("@aztec/foundation/schemas").EthAddress[] | undefined;
210
+ alwaysReexecuteBlockProposals?: boolean | undefined;
207
211
  }, {
208
212
  secondsBeforeInvalidatingBlockAsCommitteeMember: number;
209
213
  secondsBeforeInvalidatingBlockAsNonCommitteeMember: number;
@@ -223,6 +227,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
223
227
  slashMaxPayloadSize: number;
224
228
  slashGracePeriodL2Slots: number;
225
229
  slashBroadcastedInvalidBlockPenalty: string | number | bigint;
230
+ slashExecuteRoundsLookBack: number;
226
231
  realProofs: boolean;
227
232
  proverTestDelayType: "fixed" | "realistic";
228
233
  proverTestDelayMs: number;
@@ -270,6 +275,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
270
275
  slashSelfAllowed?: boolean | undefined;
271
276
  nodeUrl?: string | undefined;
272
277
  validatorAddresses?: string[] | undefined;
278
+ alwaysReexecuteBlockProposals?: boolean | undefined;
273
279
  }>;
274
280
  export declare const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin>;
275
281
  export declare function createAztecNodeAdminClient(url: string, versions?: Partial<ComponentsVersions>, fetch?: typeof defaultFetch): AztecNodeAdmin;
@@ -1 +1 @@
1
- {"version":3,"file":"aztec-node-admin.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAiB,KAAK,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,KAAK,sBAAsB,EAAgC,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,cAAc,CAAC;AACvE,OAAO,EAA+B,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,+CAA+C;IAC/C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,gDAAgD;IAChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,2EAA2E;IAC3E,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEjD,2DAA2D;IAC3D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACzE;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAC1D,eAAe,GACf,YAAY,GACZ,aAAa,GACb,IAAI,CAAC,sBAAsB,EAAE,2BAA2B,GAAG,+BAA+B,GAAG,mBAAmB,CAAC,GAAG;IAClH,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEJ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUU,CAAC;AAElD,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,cAAc,CAYhE,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAC1C,KAAK,sBAAe,GACnB,cAAc,CAMhB"}
1
+ {"version":3,"file":"aztec-node-admin.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAiB,KAAK,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,KAAK,sBAAsB,EAAgC,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,cAAc,CAAC;AACvE,OAAO,EAA+B,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,+CAA+C;IAC/C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,gDAAgD;IAChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,2EAA2E;IAC3E,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEjD,2DAA2D;IAC3D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACzE;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAC1D,eAAe,GACf,YAAY,GACZ,aAAa,GACb,IAAI,CAAC,sBAAsB,EAAE,2BAA2B,GAAG,+BAA+B,GAAG,mBAAmB,CAAC,GAAG;IAClH,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEJ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUU,CAAC;AAElD,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,cAAc,CAYhE,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAC1C,KAAK,sBAAe,GACnB,cAAc,CAMhB"}
@@ -20,6 +20,7 @@ export interface SlasherConfig {
20
20
  slashOffenseExpirationRounds: number;
21
21
  slashMaxPayloadSize: number;
22
22
  slashGracePeriodL2Slots: number;
23
+ slashExecuteRoundsLookBack: number;
23
24
  }
24
25
  export declare const SlasherConfigSchema: z.ZodObject<{
25
26
  slashOverridePayload: z.ZodOptional<z.ZodType<EthAddress, any, string>>;
@@ -39,6 +40,7 @@ export declare const SlasherConfigSchema: z.ZodObject<{
39
40
  slashMaxPayloadSize: z.ZodNumber;
40
41
  slashGracePeriodL2Slots: z.ZodNumber;
41
42
  slashBroadcastedInvalidBlockPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
43
+ slashExecuteRoundsLookBack: z.ZodNumber;
42
44
  slashSelfAllowed: z.ZodOptional<z.ZodBoolean>;
43
45
  }, "strip", z.ZodTypeAny, {
44
46
  slashMinPenaltyPercentage: number;
@@ -57,6 +59,7 @@ export declare const SlasherConfigSchema: z.ZodObject<{
57
59
  slashMaxPayloadSize: number;
58
60
  slashGracePeriodL2Slots: number;
59
61
  slashBroadcastedInvalidBlockPenalty: bigint;
62
+ slashExecuteRoundsLookBack: number;
60
63
  slashOverridePayload?: EthAddress | undefined;
61
64
  slashSelfAllowed?: boolean | undefined;
62
65
  }, {
@@ -76,6 +79,7 @@ export declare const SlasherConfigSchema: z.ZodObject<{
76
79
  slashMaxPayloadSize: number;
77
80
  slashGracePeriodL2Slots: number;
78
81
  slashBroadcastedInvalidBlockPenalty: string | number | bigint;
82
+ slashExecuteRoundsLookBack: number;
79
83
  slashOverridePayload?: string | undefined;
80
84
  slashSelfAllowed?: boolean | undefined;
81
85
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"slasher.d.ts","sourceRoot":"","sources":["../../src/interfaces/slasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,oBAAoB,EAAE,UAAU,EAAE,CAAC;IACnC,+BAA+B,EAAE,MAAM,CAAC;IACxC,wCAAwC,EAAE,MAAM,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,sCAAsC,EAAE,MAAM,CAAC;IAC/C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBE,CAAC"}
1
+ {"version":3,"file":"slasher.d.ts","sourceRoot":"","sources":["../../src/interfaces/slasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,oBAAoB,EAAE,UAAU,EAAE,CAAC;IACnC,+BAA+B,EAAE,MAAM,CAAC;IACxC,wCAAwC,EAAE,MAAM,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,sCAAsC,EAAE,MAAM,CAAC;IAC/C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,0BAA0B,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBE,CAAC"}
@@ -18,5 +18,6 @@ export const SlasherConfigSchema = z.object({
18
18
  slashMaxPayloadSize: z.number(),
19
19
  slashGracePeriodL2Slots: z.number(),
20
20
  slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
21
+ slashExecuteRoundsLookBack: z.number(),
21
22
  slashSelfAllowed: z.boolean().optional()
22
23
  });
@@ -23,10 +23,12 @@ export interface ValidatorClientConfig {
23
23
  disabledValidators: EthAddress[];
24
24
  /** Interval between polling for new attestations from peers */
25
25
  attestationPollingIntervalMs: number;
26
- /** Re-execute transactions before attesting */
26
+ /** Whether to re-execute transactions in a block proposal before attesting */
27
27
  validatorReexecute: boolean;
28
28
  /** Will re-execute until this many milliseconds are left in the slot */
29
29
  validatorReexecuteDeadlineMs: number;
30
+ /** Whether to always reexecute block proposals, even for non-validator nodes or when out of the currnet committee */
31
+ alwaysReexecuteBlockProposals?: boolean;
30
32
  }
31
33
  export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerConfig, 'txPublicSetupAllowList'> & Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty'>;
32
34
  export declare const ValidatorClientConfigSchema: z.ZodObject<{
@@ -36,6 +38,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
36
38
  attestationPollingIntervalMs: z.ZodNumber;
37
39
  validatorReexecute: z.ZodBoolean;
38
40
  validatorReexecuteDeadlineMs: z.ZodNumber;
41
+ alwaysReexecuteBlockProposals: z.ZodOptional<z.ZodBoolean>;
39
42
  }, "strip", z.ZodTypeAny, {
40
43
  disableValidator: boolean;
41
44
  disabledValidators: EthAddress[];
@@ -43,6 +46,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
43
46
  validatorReexecute: boolean;
44
47
  validatorReexecuteDeadlineMs: number;
45
48
  validatorAddresses?: EthAddress[] | undefined;
49
+ alwaysReexecuteBlockProposals?: boolean | undefined;
46
50
  }, {
47
51
  disableValidator: boolean;
48
52
  disabledValidators: string[];
@@ -50,6 +54,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
50
54
  validatorReexecute: boolean;
51
55
  validatorReexecuteDeadlineMs: number;
52
56
  validatorAddresses?: string[] | undefined;
57
+ alwaysReexecuteBlockProposals?: boolean | undefined;
53
58
  }>;
54
59
  export interface Validator {
55
60
  start(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC;IAEpD,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;IAElC,+BAA+B;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAE1B,6DAA6D;IAC7D,kBAAkB,EAAE,UAAU,EAAE,CAAC;IAEjC,+DAA+D;IAC/D,4BAA4B,EAAE,MAAM,CAAC;IAErC,+CAA+C;IAC/C,kBAAkB,EAAE,OAAO,CAAC;IAE5B,wEAAwE;IACxE,4BAA4B,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAC3D,IAAI,CAAC,eAAe,EAAE,wBAAwB,CAAC,GAC/C,IAAI,CAAC,aAAa,EAAE,qCAAqC,CAAC,CAAC;AAE7D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;EAOgC,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAG/D,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,EAAE,EACX,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,EAAE,EAAE,EACT,eAAe,EAAE,UAAU,GAAG,SAAS,EACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IACtC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,SAAS,CAAC,CAAC;IAEnG,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5G,0BAA0B,CACxB,sBAAsB,EAAE,+BAA+B,EACvD,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC;CACvB"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC;IAEpD,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;IAElC,+BAA+B;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAE1B,6DAA6D;IAC7D,kBAAkB,EAAE,UAAU,EAAE,CAAC;IAEjC,+DAA+D;IAC/D,4BAA4B,EAAE,MAAM,CAAC;IAErC,8EAA8E;IAC9E,kBAAkB,EAAE,OAAO,CAAC;IAE5B,wEAAwE;IACxE,4BAA4B,EAAE,MAAM,CAAC;IAErC,qHAAqH;IACrH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAC3D,IAAI,CAAC,eAAe,EAAE,wBAAwB,CAAC,GAC/C,IAAI,CAAC,aAAa,EAAE,qCAAqC,CAAC,CAAC;AAE7D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;EAQgC,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAG/D,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,EAAE,EACX,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,EAAE,EAAE,EACT,eAAe,EAAE,UAAU,GAAG,SAAS,EACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IACtC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,SAAS,CAAC,CAAC;IAEnG,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5G,0BAA0B,CACxB,sBAAsB,EAAE,+BAA+B,EACvD,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC;CACvB"}
@@ -6,5 +6,6 @@ export const ValidatorClientConfigSchema = z.object({
6
6
  disabledValidators: z.array(schemas.EthAddress),
7
7
  attestationPollingIntervalMs: z.number().min(0),
8
8
  validatorReexecute: z.boolean(),
9
- validatorReexecuteDeadlineMs: z.number().min(0)
9
+ validatorReexecuteDeadlineMs: z.number().min(0),
10
+ alwaysReexecuteBlockProposals: z.boolean().optional()
10
11
  });
@@ -1,17 +1,7 @@
1
1
  import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
- import { BufferReader } from '@aztec/foundation/serialize';
4
3
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
5
- import { RecursiveProof } from '../proofs/recursive_proof.js';
6
- import { VkData } from '../vks/vk_data.js';
7
- export declare class AvmProofData {
8
- publicInputs: AvmCircuitPublicInputs;
9
- proof: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
10
- vkData: VkData;
11
- constructor(publicInputs: AvmCircuitPublicInputs, proof: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>, vkData: VkData);
12
- static fromBuffer(buffer: Buffer | BufferReader): AvmProofData;
13
- toBuffer(): Buffer<ArrayBufferLike>;
14
- static empty(): AvmProofData;
15
- }
4
+ import type { ProofData } from '../proofs/proof_data.js';
5
+ export type AvmProofData = ProofData<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
16
6
  export declare function enhanceProofWithPiValidationFlag(proof: Fr[], skipPublicInputsValidation: boolean): Fr[];
17
7
  //# sourceMappingURL=avm_proof_data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"avm_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/avm_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAA2B,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,qBAAa,YAAY;IAEd,YAAY,EAAE,sBAAsB;IACpC,KAAK,EAAE,cAAc,CAAC,OAAO,oCAAoC,CAAC;IAClE,MAAM,EAAE,MAAM;gBAFd,YAAY,EAAE,sBAAsB,EACpC,KAAK,EAAE,cAAc,CAAC,OAAO,oCAAoC,CAAC,EAClE,MAAM,EAAE,MAAM;IAGvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;IAIR,MAAM,CAAC,KAAK;CAOb;AAGD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,OAAO,GAAG,EAAE,EAAE,CAGvG"}
1
+ {"version":3,"file":"avm_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/avm_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,sBAAsB,EAAE,OAAO,oCAAoC,CAAC,CAAC;AAG1G,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,OAAO,GAAG,EAAE,EAAE,CAGvG"}
@@ -1,29 +1,5 @@
1
1
  import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
- import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
5
- import { RecursiveProof, makeEmptyRecursiveProof } from '../proofs/recursive_proof.js';
6
- import { VkData } from '../vks/vk_data.js';
7
- export class AvmProofData {
8
- publicInputs;
9
- proof;
10
- vkData;
11
- constructor(publicInputs, proof, vkData){
12
- this.publicInputs = publicInputs;
13
- this.proof = proof;
14
- this.vkData = vkData;
15
- }
16
- static fromBuffer(buffer) {
17
- const reader = BufferReader.asReader(buffer);
18
- return new AvmProofData(reader.readObject(AvmCircuitPublicInputs), RecursiveProof.fromBuffer(reader), reader.readObject(VkData));
19
- }
20
- toBuffer() {
21
- return serializeToBuffer(this.publicInputs, this.proof, this.vkData);
22
- }
23
- static empty() {
24
- return new AvmProofData(AvmCircuitPublicInputs.empty(), makeEmptyRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED), VkData.empty());
25
- }
26
- }
27
3
  // TODO(#14234)[Unconditional PIs validation]: remove this function.
28
4
  export function enhanceProofWithPiValidationFlag(proof, skipPublicInputsValidation) {
29
5
  const skipPublicInputsField = skipPublicInputsValidation ? new Fr(1) : new Fr(0);
@@ -2,14 +2,13 @@ import { SpongeBlob } from '@aztec/blob-lib/types';
2
2
  import { ARCHIVE_HEIGHT, MAX_CONTRACT_CLASS_LOGS_PER_TX } from '@aztec/constants';
3
3
  import { Fr } from '@aztec/foundation/fields';
4
4
  import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
5
- import { MembershipWitness } from '@aztec/foundation/trees';
6
5
  import type { FieldsOf } from '@aztec/foundation/types';
7
- import { PublicDataHint } from '../avm/public_data_hint.js';
8
6
  import { ContractClassLogFields } from '../logs/index.js';
9
- import { AppendOnlyTreeSnapshot } from '../trees/index.js';
7
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
8
+ import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
10
9
  import { PartialStateReference } from '../tx/partial_state_reference.js';
11
10
  import { BlockConstantData } from './block_constant_data.js';
12
- import { PrivateBaseStateDiffHints } from './state_diff_hints.js';
11
+ import { TreeSnapshotDiffHints } from './tree_snapshot_diff_hints.js';
13
12
  export type BaseRollupHints = PrivateBaseRollupHints | PublicBaseRollupHints;
14
13
  export declare class PrivateBaseRollupHints {
15
14
  /**
@@ -23,15 +22,15 @@ export declare class PrivateBaseRollupHints {
23
22
  /**
24
23
  * Hints used while proving state diff validity.
25
24
  */
26
- stateDiffHints: PrivateBaseStateDiffHints;
25
+ treeSnapshotDiffHints: TreeSnapshotDiffHints;
27
26
  /**
28
- * Public data read hint for accessing the balance of the fee payer.
27
+ * Public data tree leaf preimage for accessing the balance of the fee payer.
29
28
  */
30
- feePayerFeeJuiceBalanceReadHint: PublicDataHint;
29
+ feePayerBalanceLeafPreimage: PublicDataTreeLeafPreimage;
31
30
  /**
32
31
  * Membership witnesses of blocks referred by each of the 2 kernels.
33
32
  */
34
- archiveRootMembershipWitness: MembershipWitness<typeof ARCHIVE_HEIGHT>;
33
+ anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>;
35
34
  /**
36
35
  * Preimages to the kernel's contractClassLogsHashes.
37
36
  */
@@ -52,15 +51,15 @@ export declare class PrivateBaseRollupHints {
52
51
  /**
53
52
  * Hints used while proving state diff validity.
54
53
  */
55
- stateDiffHints: PrivateBaseStateDiffHints,
54
+ treeSnapshotDiffHints: TreeSnapshotDiffHints,
56
55
  /**
57
- * Public data read hint for accessing the balance of the fee payer.
56
+ * Public data tree leaf preimage for accessing the balance of the fee payer.
58
57
  */
59
- feePayerFeeJuiceBalanceReadHint: PublicDataHint,
58
+ feePayerBalanceLeafPreimage: PublicDataTreeLeafPreimage,
60
59
  /**
61
60
  * Membership witnesses of blocks referred by each of the 2 kernels.
62
61
  */
63
- archiveRootMembershipWitness: MembershipWitness<typeof ARCHIVE_HEIGHT>,
62
+ anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
64
63
  /**
65
64
  * Preimages to the kernel's contractClassLogsHashes.
66
65
  */
@@ -70,7 +69,7 @@ export declare class PrivateBaseRollupHints {
70
69
  */
71
70
  constants: BlockConstantData);
72
71
  static from(fields: FieldsOf<PrivateBaseRollupHints>): PrivateBaseRollupHints;
73
- static getFields(fields: FieldsOf<PrivateBaseRollupHints>): readonly [PartialStateReference, SpongeBlob, PrivateBaseStateDiffHints, PublicDataHint, MembershipWitness<29>, [ContractClassLogFields], BlockConstantData];
72
+ static getFields(fields: FieldsOf<PrivateBaseRollupHints>): readonly [PartialStateReference, SpongeBlob, TreeSnapshotDiffHints, PublicDataTreeLeafPreimage, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [ContractClassLogFields], BlockConstantData];
74
73
  /**
75
74
  * Serializes the inputs to a buffer.
76
75
  * @returns The inputs serialized to a buffer.
@@ -97,7 +96,7 @@ export declare class PublicBaseRollupHints {
97
96
  /**
98
97
  * Membership witnesses of blocks referred by each of the 2 kernels.
99
98
  */
100
- archiveRootMembershipWitness: MembershipWitness<typeof ARCHIVE_HEIGHT>;
99
+ anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>;
101
100
  /**
102
101
  * Preimages to the kernel's contractClassLogsHashes.
103
102
  */
@@ -118,7 +117,7 @@ export declare class PublicBaseRollupHints {
118
117
  /**
119
118
  * Membership witnesses of blocks referred by each of the 2 kernels.
120
119
  */
121
- archiveRootMembershipWitness: MembershipWitness<typeof ARCHIVE_HEIGHT>,
120
+ anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
122
121
  /**
123
122
  * Preimages to the kernel's contractClassLogsHashes.
124
123
  */
@@ -128,7 +127,7 @@ export declare class PublicBaseRollupHints {
128
127
  */
129
128
  proverId: Fr);
130
129
  static from(fields: FieldsOf<PublicBaseRollupHints>): PublicBaseRollupHints;
131
- static getFields(fields: FieldsOf<PublicBaseRollupHints>): readonly [SpongeBlob, AppendOnlyTreeSnapshot, MembershipWitness<29>, [ContractClassLogFields], Fr];
130
+ static getFields(fields: FieldsOf<PublicBaseRollupHints>): readonly [SpongeBlob, AppendOnlyTreeSnapshot, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [ContractClassLogFields], Fr];
132
131
  /**
133
132
  * Serializes the inputs to a buffer.
134
133
  * @returns The inputs serialized to a buffer.