@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.
- package/dest/interfaces/archiver.d.ts +43 -0
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +8 -0
- package/dest/interfaces/aztec-node-admin.d.ts +17 -3
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +6 -1
- package/package.json +8 -8
- package/src/interfaces/archiver.ts +36 -0
- package/src/interfaces/aztec-node-admin.ts +12 -1
|
@@ -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;
|
|
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;
|
|
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(
|
|
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.
|
|
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.
|
|
73
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
74
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
75
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
76
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
77
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
78
|
-
"@aztec/noir-noirc_abi": "3.0.0-nightly.
|
|
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 &
|
|
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> = {
|