@aztec/stdlib 3.0.0-nightly.20250911 → 3.0.0-nightly.20250912

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.
@@ -1,8 +1,51 @@
1
+ import type { L1ContractAddresses } from '@aztec/ethereum';
1
2
  import type { ApiSchemaFor } from '@aztec/foundation/schemas';
3
+ import { z } from 'zod';
2
4
  import { type L2BlockSource } from '../block/l2_block_source.js';
3
5
  import { type ContractDataSource } from '../contract/index.js';
4
6
  import type { L1ToL2MessageSource } from '../messaging/l1_to_l2_message_source.js';
5
7
  import type { L2LogsSource } from './l2_logs_source.js';
8
+ /**
9
+ * The archiver configuration.
10
+ */
11
+ export type ArchiverSpecificConfig = {
12
+ /** The polling interval in ms for retrieving new L2 blocks and encrypted logs. */
13
+ archiverPollingIntervalMS?: number;
14
+ /** The number of L2 blocks the archiver will attempt to download at a time. */
15
+ archiverBatchSize?: number;
16
+ /** The polling interval viem uses in ms */
17
+ viemPollingIntervalMS?: number;
18
+ /** The deployed L1 contract addresses */
19
+ l1Contracts: L1ContractAddresses;
20
+ /** The max number of logs that can be obtained in 1 "getPublicLogs" call. */
21
+ maxLogs?: number;
22
+ /** The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKB. */
23
+ archiverStoreMapSizeKb?: number;
24
+ /** Whether to skip validating block attestations (use only for testing). */
25
+ skipValidateBlockAttestations?: boolean;
26
+ };
27
+ export declare const ArchiverSpecificConfigSchema: z.ZodObject<{
28
+ archiverPollingIntervalMS: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
29
+ archiverBatchSize: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
30
+ viemPollingIntervalMS: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
31
+ maxLogs: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
32
+ archiverStoreMapSizeKb: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
33
+ skipValidateBlockAttestations: z.ZodOptional<z.ZodBoolean>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ archiverPollingIntervalMS?: number | undefined;
36
+ archiverBatchSize?: number | undefined;
37
+ viemPollingIntervalMS?: number | undefined;
38
+ maxLogs?: number | undefined;
39
+ archiverStoreMapSizeKb?: number | undefined;
40
+ skipValidateBlockAttestations?: boolean | undefined;
41
+ }, {
42
+ archiverPollingIntervalMS?: string | number | bigint | undefined;
43
+ archiverBatchSize?: string | number | bigint | undefined;
44
+ viemPollingIntervalMS?: string | number | bigint | undefined;
45
+ maxLogs?: string | number | bigint | undefined;
46
+ archiverStoreMapSizeKb?: string | number | bigint | undefined;
47
+ skipValidateBlockAttestations?: boolean | undefined;
48
+ }>;
6
49
  export type ArchiverApi = Omit<L2BlockSource & L2LogsSource & ContractDataSource & L1ToL2MessageSource, 'start' | 'stop'>;
7
50
  export declare const ArchiverApiSchema: ApiSchemaFor<ArchiverApi>;
8
51
  //# sourceMappingURL=archiver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/interfaces/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,6BAA6B,CAAC;AAG/E,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAOnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,aAAa,GAAG,YAAY,GAAG,kBAAkB,GAAG,mBAAmB,EACvE,OAAO,GAAG,MAAM,CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAiDvD,CAAC"}
1
+ {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/interfaces/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,6BAA6B,CAAC;AAG/E,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAOnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,kFAAkF;IAClF,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yCAAyC;IACzC,WAAW,EAAE,mBAAmB,CAAC;IAEjC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qGAAqG;IACrG,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,4EAA4E;IAC5E,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;EAOvC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,aAAa,GAAG,YAAY,GAAG,kBAAkB,GAAG,mBAAmB,EACvE,OAAO,GAAG,MAAM,CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAiDvD,CAAC"}
@@ -14,6 +14,14 @@ import { indexedTxSchema } from '../tx/indexed_tx_effect.js';
14
14
  import { TxHash } from '../tx/tx_hash.js';
15
15
  import { TxReceipt } from '../tx/tx_receipt.js';
16
16
  import { GetContractClassLogsResponseSchema, GetPublicLogsResponseSchema } from './get_logs_response.js';
17
+ export const ArchiverSpecificConfigSchema = z.object({
18
+ archiverPollingIntervalMS: schemas.Integer.optional(),
19
+ archiverBatchSize: schemas.Integer.optional(),
20
+ viemPollingIntervalMS: schemas.Integer.optional(),
21
+ maxLogs: schemas.Integer.optional(),
22
+ archiverStoreMapSizeKb: schemas.Integer.optional(),
23
+ skipValidateBlockAttestations: z.boolean().optional()
24
+ });
17
25
  export const ArchiverApiSchema = {
18
26
  getRollupAddress: z.function().args().returns(schemas.EthAddress),
19
27
  getRegistryAddress: z.function().args().returns(schemas.EthAddress),
@@ -3,6 +3,7 @@ import { z } from 'zod';
3
3
  import type { ApiSchemaFor } from '../schemas/schemas.js';
4
4
  import { type Offense, type SlashPayloadRound } from '../slashing/index.js';
5
5
  import { type ComponentsVersions } from '../versioning/index.js';
6
+ import { type ArchiverSpecificConfig } from './archiver.js';
6
7
  import { type SequencerConfig } from './configs.js';
7
8
  import { type ProverConfig } from './prover-client.js';
8
9
  import { type SlasherConfig } from './slasher.js';
@@ -40,10 +41,10 @@ export interface AztecNodeAdmin {
40
41
  /** Returns all offenses applicable for the given round. */
41
42
  getSlashOffenses(round: bigint | 'all' | 'current'): Promise<Offense[]>;
42
43
  }
43
- export type AztecNodeAdminConfig = ValidatorClientFullConfig & SequencerConfig & ProverConfig & SlasherConfig & {
44
+ export type AztecNodeAdminConfig = ValidatorClientFullConfig & SequencerConfig & ProverConfig & SlasherConfig & Pick<ArchiverSpecificConfig, 'archiverPollingIntervalMS' | 'skipValidateBlockAttestations' | 'archiverBatchSize'> & {
44
45
  maxTxPoolSize: number;
45
46
  };
46
- export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
47
+ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
47
48
  transactionPollingIntervalMS: z.ZodOptional<z.ZodNumber>;
48
49
  maxTxsPerBlock: z.ZodOptional<z.ZodNumber>;
49
50
  minTxsPerBlock: z.ZodOptional<z.ZodNumber>;
@@ -128,7 +129,14 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
128
129
  attestationPollingIntervalMs: z.ZodNumber;
129
130
  validatorReexecute: z.ZodBoolean;
130
131
  validatorReexecuteDeadlineMs: z.ZodNumber;
131
- }>, {
132
+ }>, Pick<{
133
+ archiverPollingIntervalMS: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
134
+ archiverBatchSize: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
135
+ viemPollingIntervalMS: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
136
+ maxLogs: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
137
+ archiverStoreMapSizeKb: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
138
+ skipValidateBlockAttestations: z.ZodOptional<z.ZodBoolean>;
139
+ }, "archiverPollingIntervalMS" | "archiverBatchSize" | "skipValidateBlockAttestations">>, {
132
140
  maxTxPoolSize: z.ZodNumber;
133
141
  }>, "strip", z.ZodTypeAny, {
134
142
  secondsBeforeInvalidatingBlockAsCommitteeMember: number;
@@ -189,6 +197,9 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
189
197
  attestationPropagationTime?: number | undefined;
190
198
  skipCollectingAttestations?: boolean | undefined;
191
199
  proverId?: import("@aztec/foundation/schemas").EthAddress | undefined;
200
+ archiverPollingIntervalMS?: number | undefined;
201
+ archiverBatchSize?: number | undefined;
202
+ skipValidateBlockAttestations?: boolean | undefined;
192
203
  slashOverridePayload?: import("@aztec/foundation/schemas").EthAddress | undefined;
193
204
  slashSelfAllowed?: boolean | undefined;
194
205
  nodeUrl?: string | undefined;
@@ -252,6 +263,9 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
252
263
  attestationPropagationTime?: number | undefined;
253
264
  skipCollectingAttestations?: boolean | undefined;
254
265
  proverId?: any;
266
+ archiverPollingIntervalMS?: string | number | bigint | undefined;
267
+ archiverBatchSize?: string | number | bigint | undefined;
268
+ skipValidateBlockAttestations?: boolean | undefined;
255
269
  slashOverridePayload?: string | undefined;
256
270
  slashSelfAllowed?: boolean | undefined;
257
271
  nodeUrl?: string | undefined;
@@ -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,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,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGU,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"}
@@ -2,11 +2,16 @@ import { createSafeJsonRpcClient, defaultFetch } from '@aztec/foundation/json-rp
2
2
  import { z } from 'zod';
3
3
  import { OffenseSchema, SlashPayloadRoundSchema } from '../slashing/index.js';
4
4
  import { getVersioningResponseHandler } from '../versioning/index.js';
5
+ import { ArchiverSpecificConfigSchema } from './archiver.js';
5
6
  import { SequencerConfigSchema } from './configs.js';
6
7
  import { ProverConfigSchema } from './prover-client.js';
7
8
  import { SlasherConfigSchema } from './slasher.js';
8
9
  import { ValidatorClientConfigSchema } from './validator.js';
9
- export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConfigSchema).merge(SlasherConfigSchema).merge(ValidatorClientConfigSchema).merge(z.object({
10
+ export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConfigSchema).merge(SlasherConfigSchema).merge(ValidatorClientConfigSchema).merge(ArchiverSpecificConfigSchema.pick({
11
+ archiverPollingIntervalMS: true,
12
+ skipValidateBlockAttestations: true,
13
+ archiverBatchSize: true
14
+ })).merge(z.object({
10
15
  maxTxPoolSize: z.number()
11
16
  }));
12
17
  export const AztecNodeAdminApiSchema = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "3.0.0-nightly.20250911",
3
+ "version": "3.0.0-nightly.20250912",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -69,13 +69,13 @@
69
69
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
70
70
  },
71
71
  "dependencies": {
72
- "@aztec/bb.js": "3.0.0-nightly.20250911",
73
- "@aztec/blob-lib": "3.0.0-nightly.20250911",
74
- "@aztec/constants": "3.0.0-nightly.20250911",
75
- "@aztec/ethereum": "3.0.0-nightly.20250911",
76
- "@aztec/foundation": "3.0.0-nightly.20250911",
77
- "@aztec/l1-artifacts": "3.0.0-nightly.20250911",
78
- "@aztec/noir-noirc_abi": "3.0.0-nightly.20250911",
72
+ "@aztec/bb.js": "3.0.0-nightly.20250912",
73
+ "@aztec/blob-lib": "3.0.0-nightly.20250912",
74
+ "@aztec/constants": "3.0.0-nightly.20250912",
75
+ "@aztec/ethereum": "3.0.0-nightly.20250912",
76
+ "@aztec/foundation": "3.0.0-nightly.20250912",
77
+ "@aztec/l1-artifacts": "3.0.0-nightly.20250912",
78
+ "@aztec/noir-noirc_abi": "3.0.0-nightly.20250912",
79
79
  "@google-cloud/storage": "^7.15.0",
80
80
  "axios": "^1.9.0",
81
81
  "json-stringify-deterministic": "1.0.12",
@@ -1,3 +1,4 @@
1
+ import type { L1ContractAddresses } from '@aztec/ethereum';
1
2
  import type { ApiSchemaFor } from '@aztec/foundation/schemas';
2
3
 
3
4
  import { z } from 'zod';
@@ -24,6 +25,41 @@ import { TxReceipt } from '../tx/tx_receipt.js';
24
25
  import { GetContractClassLogsResponseSchema, GetPublicLogsResponseSchema } from './get_logs_response.js';
25
26
  import type { L2LogsSource } from './l2_logs_source.js';
26
27
 
28
+ /**
29
+ * The archiver configuration.
30
+ */
31
+ export type ArchiverSpecificConfig = {
32
+ /** The polling interval in ms for retrieving new L2 blocks and encrypted logs. */
33
+ archiverPollingIntervalMS?: number;
34
+
35
+ /** The number of L2 blocks the archiver will attempt to download at a time. */
36
+ archiverBatchSize?: number;
37
+
38
+ /** The polling interval viem uses in ms */
39
+ viemPollingIntervalMS?: number;
40
+
41
+ /** The deployed L1 contract addresses */
42
+ l1Contracts: L1ContractAddresses;
43
+
44
+ /** The max number of logs that can be obtained in 1 "getPublicLogs" call. */
45
+ maxLogs?: number;
46
+
47
+ /** The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKB. */
48
+ archiverStoreMapSizeKb?: number;
49
+
50
+ /** Whether to skip validating block attestations (use only for testing). */
51
+ skipValidateBlockAttestations?: boolean;
52
+ };
53
+
54
+ export const ArchiverSpecificConfigSchema = z.object({
55
+ archiverPollingIntervalMS: schemas.Integer.optional(),
56
+ archiverBatchSize: schemas.Integer.optional(),
57
+ viemPollingIntervalMS: schemas.Integer.optional(),
58
+ maxLogs: schemas.Integer.optional(),
59
+ archiverStoreMapSizeKb: schemas.Integer.optional(),
60
+ skipValidateBlockAttestations: z.boolean().optional(),
61
+ });
62
+
27
63
  export type ArchiverApi = Omit<
28
64
  L2BlockSource & L2LogsSource & ContractDataSource & L1ToL2MessageSource,
29
65
  'start' | 'stop'
@@ -5,6 +5,7 @@ import { z } from 'zod';
5
5
  import type { ApiSchemaFor } from '../schemas/schemas.js';
6
6
  import { type Offense, OffenseSchema, type SlashPayloadRound, SlashPayloadRoundSchema } from '../slashing/index.js';
7
7
  import { type ComponentsVersions, getVersioningResponseHandler } from '../versioning/index.js';
8
+ import { type ArchiverSpecificConfig, ArchiverSpecificConfigSchema } from './archiver.js';
8
9
  import { type SequencerConfig, SequencerConfigSchema } from './configs.js';
9
10
  import { type ProverConfig, ProverConfigSchema } from './prover-client.js';
10
11
  import { type SlasherConfig, SlasherConfigSchema } from './slasher.js';
@@ -54,11 +55,21 @@ export interface AztecNodeAdmin {
54
55
  export type AztecNodeAdminConfig = ValidatorClientFullConfig &
55
56
  SequencerConfig &
56
57
  ProverConfig &
57
- SlasherConfig & { maxTxPoolSize: number };
58
+ SlasherConfig &
59
+ Pick<ArchiverSpecificConfig, 'archiverPollingIntervalMS' | 'skipValidateBlockAttestations' | 'archiverBatchSize'> & {
60
+ maxTxPoolSize: number;
61
+ };
58
62
 
59
63
  export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConfigSchema)
60
64
  .merge(SlasherConfigSchema)
61
65
  .merge(ValidatorClientConfigSchema)
66
+ .merge(
67
+ ArchiverSpecificConfigSchema.pick({
68
+ archiverPollingIntervalMS: true,
69
+ skipValidateBlockAttestations: true,
70
+ archiverBatchSize: true,
71
+ }),
72
+ )
62
73
  .merge(z.object({ maxTxPoolSize: z.number() }));
63
74
 
64
75
  export const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin> = {