@aztec/stdlib 3.0.0-nightly.20250911 → 3.0.0-nightly.20250913
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/contract/interfaces/contract_class.d.ts +1 -1
- 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/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/base_or_merge_rollup_public_inputs.js +1 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +2 -2
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +1 -1
- package/dest/rollup/root_rollup.d.ts +1 -1
- package/dest/rollup/root_rollup.js +1 -1
- package/package.json +8 -8
- package/src/contract/interfaces/contract_class.ts +1 -1
- package/src/interfaces/archiver.ts +36 -0
- package/src/interfaces/aztec-node-admin.ts +12 -1
- package/src/rollup/base_or_merge_rollup_public_inputs.ts +1 -1
- package/src/rollup/block_root_or_block_merge_public_inputs.ts +1 -1
- package/src/rollup/root_rollup.ts +1 -1
|
@@ -14,7 +14,7 @@ export interface ContractClass {
|
|
|
14
14
|
/**
|
|
15
15
|
* Hash of the contract artifact. The specification of this hash is not enforced by the protocol. Should include
|
|
16
16
|
* commitments to code of utility functions and compilation metadata. Intended to be used by clients to verify that
|
|
17
|
-
* an
|
|
17
|
+
* an offchain fetched artifact matches a registered class.
|
|
18
18
|
*/
|
|
19
19
|
artifactHash: Fr;
|
|
20
20
|
/** List of individual private functions, constructors included. */
|
|
@@ -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 = {
|
|
@@ -32,7 +32,7 @@ export declare class BaseOrMergeRollupPublicInputs {
|
|
|
32
32
|
*/
|
|
33
33
|
endSpongeBlob: SpongeBlob;
|
|
34
34
|
/**
|
|
35
|
-
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened
|
|
35
|
+
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened onchain).
|
|
36
36
|
* Note: Truncated to 31 bytes to fit in Fr.
|
|
37
37
|
*/
|
|
38
38
|
outHash: Fr;
|
|
@@ -70,7 +70,7 @@ export declare class BaseOrMergeRollupPublicInputs {
|
|
|
70
70
|
*/
|
|
71
71
|
endSpongeBlob: SpongeBlob,
|
|
72
72
|
/**
|
|
73
|
-
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened
|
|
73
|
+
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened onchain).
|
|
74
74
|
* Note: Truncated to 31 bytes to fit in Fr.
|
|
75
75
|
*/
|
|
76
76
|
outHash: Fr,
|
|
@@ -30,7 +30,7 @@ import { BlockConstantData } from './block_constant_data.js';
|
|
|
30
30
|
*/ startSpongeBlob, /**
|
|
31
31
|
* Sponge state to absorb blob inputs at the end of the rollup circuit.
|
|
32
32
|
*/ endSpongeBlob, /**
|
|
33
|
-
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened
|
|
33
|
+
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened onchain).
|
|
34
34
|
* Note: Truncated to 31 bytes to fit in Fr.
|
|
35
35
|
*/ outHash, /**
|
|
36
36
|
* The summed `transaction_fee` of the constituent transactions.
|
|
@@ -32,7 +32,7 @@ export declare class BlockRootOrBlockMergePublicInputs {
|
|
|
32
32
|
*/
|
|
33
33
|
endGlobalVariables: GlobalVariables;
|
|
34
34
|
/**
|
|
35
|
-
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened
|
|
35
|
+
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened onchain).
|
|
36
36
|
* Note: Truncated to 31 bytes to fit in Fr.
|
|
37
37
|
*/
|
|
38
38
|
outHash: Fr;
|
|
@@ -70,7 +70,7 @@ export declare class BlockRootOrBlockMergePublicInputs {
|
|
|
70
70
|
*/
|
|
71
71
|
endGlobalVariables: GlobalVariables,
|
|
72
72
|
/**
|
|
73
|
-
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened
|
|
73
|
+
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened onchain).
|
|
74
74
|
* Note: Truncated to 31 bytes to fit in Fr.
|
|
75
75
|
*/
|
|
76
76
|
outHash: Fr,
|
|
@@ -31,7 +31,7 @@ import { EpochConstantData } from './epoch_constant_data.js';
|
|
|
31
31
|
*/ startGlobalVariables, /**
|
|
32
32
|
* Global variables for the last block in the range.
|
|
33
33
|
*/ endGlobalVariables, /**
|
|
34
|
-
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened
|
|
34
|
+
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened onchain).
|
|
35
35
|
* Note: Truncated to 31 bytes to fit in Fr.
|
|
36
36
|
*/ outHash, /**
|
|
37
37
|
* The hashes of the proposed block headers of the constituent blocks.
|
|
@@ -64,7 +64,7 @@ export declare class RootRollupInputs {
|
|
|
64
64
|
/**
|
|
65
65
|
* Represents public inputs of the root rollup circuit.
|
|
66
66
|
*
|
|
67
|
-
* NOTE: in practice, we'll hash all of this up into a single public input, for cheap
|
|
67
|
+
* NOTE: in practice, we'll hash all of this up into a single public input, for cheap onchain verification.
|
|
68
68
|
*/
|
|
69
69
|
export declare class RootRollupPublicInputs {
|
|
70
70
|
/** Root of the archive tree before this rollup is processed */
|
|
@@ -74,7 +74,7 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
|
|
|
74
74
|
/**
|
|
75
75
|
* Represents public inputs of the root rollup circuit.
|
|
76
76
|
*
|
|
77
|
-
* NOTE: in practice, we'll hash all of this up into a single public input, for cheap
|
|
77
|
+
* NOTE: in practice, we'll hash all of this up into a single public input, for cheap onchain verification.
|
|
78
78
|
*/ export class RootRollupPublicInputs {
|
|
79
79
|
previousArchiveRoot;
|
|
80
80
|
endArchiveRoot;
|
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.20250913",
|
|
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.20250913",
|
|
73
|
+
"@aztec/blob-lib": "3.0.0-nightly.20250913",
|
|
74
|
+
"@aztec/constants": "3.0.0-nightly.20250913",
|
|
75
|
+
"@aztec/ethereum": "3.0.0-nightly.20250913",
|
|
76
|
+
"@aztec/foundation": "3.0.0-nightly.20250913",
|
|
77
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20250913",
|
|
78
|
+
"@aztec/noir-noirc_abi": "3.0.0-nightly.20250913",
|
|
79
79
|
"@google-cloud/storage": "^7.15.0",
|
|
80
80
|
"axios": "^1.9.0",
|
|
81
81
|
"json-stringify-deterministic": "1.0.12",
|
|
@@ -18,7 +18,7 @@ export interface ContractClass {
|
|
|
18
18
|
/**
|
|
19
19
|
* Hash of the contract artifact. The specification of this hash is not enforced by the protocol. Should include
|
|
20
20
|
* commitments to code of utility functions and compilation metadata. Intended to be used by clients to verify that
|
|
21
|
-
* an
|
|
21
|
+
* an offchain fetched artifact matches a registered class.
|
|
22
22
|
*/
|
|
23
23
|
artifactHash: Fr;
|
|
24
24
|
/** List of individual private functions, constructors included. */
|
|
@@ -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> = {
|
|
@@ -37,7 +37,7 @@ export class BaseOrMergeRollupPublicInputs {
|
|
|
37
37
|
*/
|
|
38
38
|
public endSpongeBlob: SpongeBlob,
|
|
39
39
|
/**
|
|
40
|
-
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened
|
|
40
|
+
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened onchain).
|
|
41
41
|
* Note: Truncated to 31 bytes to fit in Fr.
|
|
42
42
|
*/
|
|
43
43
|
public outHash: Fr,
|
|
@@ -37,7 +37,7 @@ export class BlockRootOrBlockMergePublicInputs {
|
|
|
37
37
|
*/
|
|
38
38
|
public endGlobalVariables: GlobalVariables,
|
|
39
39
|
/**
|
|
40
|
-
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened
|
|
40
|
+
* SHA256 hash of L2 to L1 messages. Used to make public inputs constant-sized (to then be opened onchain).
|
|
41
41
|
* Note: Truncated to 31 bytes to fit in Fr.
|
|
42
42
|
*/
|
|
43
43
|
public outHash: Fr,
|
|
@@ -93,7 +93,7 @@ export class RootRollupInputs {
|
|
|
93
93
|
/**
|
|
94
94
|
* Represents public inputs of the root rollup circuit.
|
|
95
95
|
*
|
|
96
|
-
* NOTE: in practice, we'll hash all of this up into a single public input, for cheap
|
|
96
|
+
* NOTE: in practice, we'll hash all of this up into a single public input, for cheap onchain verification.
|
|
97
97
|
*/
|
|
98
98
|
export class RootRollupPublicInputs {
|
|
99
99
|
constructor(
|