@aztec/cli 3.0.0-nightly.20251222 → 3.0.0-nightly.20251223

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.
@@ -13,12 +13,16 @@ export async function sequencers(opts) {
13
13
  const chain = createEthereumChain(l1RpcUrls, chainId);
14
14
  const publicClient = createPublicClient({
15
15
  chain: chain.chainInfo,
16
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
16
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
17
+ batch: false
18
+ })))
17
19
  });
18
20
  const walletClient = mnemonic ? createWalletClient({
19
21
  account: mnemonicToAccount(mnemonic),
20
22
  chain: chain.chainInfo,
21
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
23
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
24
+ batch: false
25
+ })))
22
26
  }) : undefined;
23
27
  const rollup = new RollupContract(publicClient, l1ContractAddresses.rollupAddress);
24
28
  const writeableRollup = walletClient ? getContract({
@@ -5,7 +5,9 @@ export async function getL1Addresses(registryAddress, rollupVersion, rpcUrls, ch
5
5
  const chain = createEthereumChain(rpcUrls, chainId);
6
6
  const publicClient = createPublicClient({
7
7
  chain: chain.chainInfo,
8
- transport: fallback(rpcUrls.map((url)=>http(url))),
8
+ transport: fallback(rpcUrls.map((url)=>http(url, {
9
+ batch: false
10
+ }))),
9
11
  pollingInterval: 100
10
12
  });
11
13
  const addresses = await RegistryContract.collectAddresses(publicClient, registryAddress.toString(), rollupVersion);
@@ -6,7 +6,9 @@ export async function getL1Balance(who, token, l1RpcUrls, chainId, json, log) {
6
6
  const chain = createEthereumChain(l1RpcUrls, chainId);
7
7
  const publicClient = createPublicClient({
8
8
  chain: chain.chainInfo,
9
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
9
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
10
+ batch: false
11
+ })))
10
12
  });
11
13
  let balance = 0n;
12
14
  if (token) {
@@ -11,4 +11,4 @@ export declare function proverStats(opts: {
11
11
  provingTimeout: bigint | undefined;
12
12
  rawLogs: boolean;
13
13
  }): Promise<void>;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyX3N0YXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9wcm92ZXJfc3RhdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLEtBQUssS0FBSyxFQUE2QixNQUFNLHVCQUF1QixDQUFDO0FBUTlFLHdCQUFzQixXQUFXLENBQUMsSUFBSSxFQUFFO0lBQ3RDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwQixPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLGVBQWUsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ3BDLE9BQU8sRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzVCLEdBQUcsRUFBRSxLQUFLLENBQUM7SUFDWCxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFFBQVEsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsY0FBYyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDbkMsT0FBTyxFQUFFLE9BQU8sQ0FBQztDQUNsQixpQkF1SUEifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyX3N0YXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9wcm92ZXJfc3RhdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLEtBQUssS0FBSyxFQUE2QixNQUFNLHVCQUF1QixDQUFDO0FBUTlFLHdCQUFzQixXQUFXLENBQUMsSUFBSSxFQUFFO0lBQ3RDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwQixPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLGVBQWUsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ3BDLE9BQU8sRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzVCLEdBQUcsRUFBRSxLQUFLLENBQUM7SUFDWCxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFFBQVEsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsY0FBYyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDbkMsT0FBTyxFQUFFLE9BQU8sQ0FBQztDQUNsQixpQkEwSUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"prover_stats.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/prover_stats.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,KAAK,EAA6B,MAAM,uBAAuB,CAAC;AAQ9E,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,GAAG,EAAE,KAAK,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB,iBAuIA"}
1
+ {"version":3,"file":"prover_stats.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/prover_stats.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,KAAK,EAA6B,MAAM,uBAAuB,CAAC;AAQ9E,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,GAAG,EAAE,KAAK,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB,iBA0IA"}
@@ -18,7 +18,9 @@ export async function proverStats(opts) {
18
18
  const chain = createEthereumChain(l1RpcUrls, chainId).chainInfo;
19
19
  const publicClient = createPublicClient({
20
20
  chain,
21
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
21
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
22
+ batch: false
23
+ })))
22
24
  });
23
25
  const lastBlockNum = endBlock ?? await publicClient.getBlockNumber();
24
26
  debugLog.verbose(`Querying events on rollup at ${rollup.toString()} from ${startBlock} up to ${lastBlockNum}`);
@@ -66,7 +66,9 @@ export async function newValidatorKeystore(options, log) {
66
66
  const chain = createEthereumChain(l1RpcUrls, l1ChainId);
67
67
  const publicClient = createPublicClient({
68
68
  chain: chain.chainInfo,
69
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
69
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
70
+ batch: false
71
+ })))
70
72
  });
71
73
  const gse = new GSEContract(publicClient, gseAddress);
72
74
  // Extract keystore base name without extension for unique staker output filenames
@@ -185,7 +185,9 @@ import { privateKeyToAddress } from 'viem/accounts';
185
185
  const chain = createEthereumChain(l1RpcUrls, l1ChainId);
186
186
  const publicClient = createPublicClient({
187
187
  chain: chain.chainInfo,
188
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
188
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
189
+ batch: false
190
+ })))
189
191
  });
190
192
  const gse = new GSEContract(publicClient, gseAddress);
191
193
  const keystoreBaseName = basename(from, '.json');
@@ -4,7 +4,7 @@ import type { NetworkNames } from '@aztec/foundation/config';
4
4
  import type { SharedNodeConfig } from '@aztec/node-lib/config';
5
5
  import type { P2PConfig } from '@aztec/p2p/config';
6
6
  import type { SequencerConfig, SlasherConfig } from '@aztec/stdlib/interfaces/server';
7
- export type L2ChainConfig = Omit<L1ContractsConfig, keyof L1TxUtilsConfig> & Omit<SlasherConfig, 'slashValidatorsNever' | 'slashValidatorsAlways' | 'slashOverridePayload' | 'slashSelfAllowed'> & Pick<P2PConfig, 'bootstrapNodes' | 'p2pEnabled' | 'txPoolDeleteTxsAfterReorg'> & Pick<SequencerConfig, 'minTxsPerBlock' | 'maxTxsPerBlock'> & {
7
+ export type L2ChainConfig = Omit<L1ContractsConfig, keyof L1TxUtilsConfig> & Omit<SlasherConfig, 'slashValidatorsNever' | 'slashValidatorsAlways' | 'slashOverridePayload' | 'slashSelfAllowed'> & Pick<P2PConfig, 'bootstrapNodes' | 'p2pEnabled' | 'txPoolDeleteTxsAfterReorg'> & Pick<SequencerConfig, 'buildCheckpointIfEmpty' | 'minTxsPerBlock' | 'maxTxsPerBlock' | 'blockDurationMs'> & {
8
8
  l1ChainId: number;
9
9
  testAccounts: boolean;
10
10
  sponsoredFPC: boolean;
@@ -38,4 +38,4 @@ export declare const devnetL2ChainConfig: L2ChainConfig;
38
38
  export declare function getL2ChainConfig(networkName: NetworkNames): L2ChainConfig | undefined;
39
39
  export declare function enrichEnvironmentWithChainName(networkName: NetworkNames): void;
40
40
  export declare function enrichEnvironmentWithChainConfig(config: L2ChainConfig): void;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbDJfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluX2wyX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLEtBQUssaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVl0RixNQUFNLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQyxHQUN4RSxJQUFJLENBQUMsYUFBYSxFQUFFLHNCQUFzQixHQUFHLHVCQUF1QixHQUFHLHNCQUFzQixHQUFHLGtCQUFrQixDQUFDLEdBQ25ILElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEdBQUcsWUFBWSxHQUFHLDJCQUEyQixDQUFDLEdBQzlFLElBQUksQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsR0FBRztJQUMzRCxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFlBQVksRUFBRSxPQUFPLENBQUM7SUFDdEIsWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUN0QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsVUFBVSxFQUFFLE9BQU8sQ0FBQztJQUNwQixhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDeEIsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2QixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQztJQUM3QixvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2hDLHlCQUF5QixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ25DLHdCQUF3QixDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEMsdUJBQXVCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDbEMscUJBQXFCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFJaEMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0lBQzNCLHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQixxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUIsc0JBQXNCLEVBQUUsTUFBTSxDQUFDO0lBQy9CLHVCQUF1QixFQUFFLE1BQU0sQ0FBQztJQUdoQyxlQUFlLEVBQUUsT0FBTyxDQUFDO0lBQ3pCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQztDQUM5QixDQUFDO0FBK0NKLGVBQU8sTUFBTSw0QkFBNEIsRUFBRSxhQW1GMUMsQ0FBQztBQUVGLGVBQU8sTUFBTSwwQkFBMEIsRUFBRSxhQXVEeEMsQ0FBQztBQUVGLGVBQU8sTUFBTSxvQkFBb0IsRUFBRSxhQXVEbEMsQ0FBQztBQUVGLGVBQU8sTUFBTSxvQkFBb0IsRUFBRSxhQXlGbEMsQ0FBQztBQUVGLGVBQU8sTUFBTSxvQkFBb0IsRUFBRSxhQXdGbEMsQ0FBQztBQUVGLGVBQU8sTUFBTSxtQkFBbUIsRUFBRSxhQXVEakMsQ0FBQztBQUVGLHdCQUFnQixnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsWUFBWSxHQUFHLGFBQWEsR0FBRyxTQUFTLENBZ0JyRjtBQU1ELHdCQUFnQiw4QkFBOEIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxRQWF2RTtBQUVELHdCQUFnQixnQ0FBZ0MsQ0FBQyxNQUFNLEVBQUUsYUFBYSxRQWlHckUifQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbDJfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluX2wyX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLEtBQUssaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVl0RixNQUFNLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQyxHQUN4RSxJQUFJLENBQUMsYUFBYSxFQUFFLHNCQUFzQixHQUFHLHVCQUF1QixHQUFHLHNCQUFzQixHQUFHLGtCQUFrQixDQUFDLEdBQ25ILElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEdBQUcsWUFBWSxHQUFHLDJCQUEyQixDQUFDLEdBQzlFLElBQUksQ0FBQyxlQUFlLEVBQUUsd0JBQXdCLEdBQUcsZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsR0FBRztJQUMxRyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFlBQVksRUFBRSxPQUFPLENBQUM7SUFDdEIsWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUN0QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsVUFBVSxFQUFFLE9BQU8sQ0FBQztJQUNwQixhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDeEIsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2QixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQztJQUM3QixvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2hDLHlCQUF5QixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ25DLHdCQUF3QixDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEMsdUJBQXVCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDbEMscUJBQXFCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFJaEMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0lBQzNCLHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQixxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUIsc0JBQXNCLEVBQUUsTUFBTSxDQUFDO0lBQy9CLHVCQUF1QixFQUFFLE1BQU0sQ0FBQztJQUdoQyxlQUFlLEVBQUUsT0FBTyxDQUFDO0lBQ3pCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQztDQUM5QixDQUFDO0FBK0NKLGVBQU8sTUFBTSw0QkFBNEIsRUFBRSxhQW9GMUMsQ0FBQztBQUVGLGVBQU8sTUFBTSwwQkFBMEIsRUFBRSxhQXdEeEMsQ0FBQztBQUVGLGVBQU8sTUFBTSxvQkFBb0IsRUFBRSxhQXdEbEMsQ0FBQztBQUVGLGVBQU8sTUFBTSxvQkFBb0IsRUFBRSxhQTBGbEMsQ0FBQztBQUVGLGVBQU8sTUFBTSxvQkFBb0IsRUFBRSxhQXlGbEMsQ0FBQztBQUVGLGVBQU8sTUFBTSxtQkFBbUIsRUFBRSxhQXdEakMsQ0FBQztBQUVGLHdCQUFnQixnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsWUFBWSxHQUFHLGFBQWEsR0FBRyxTQUFTLENBZ0JyRjtBQU1ELHdCQUFnQiw4QkFBOEIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxRQWF2RTtBQUVELHdCQUFnQixnQ0FBZ0MsQ0FBQyxNQUFNLEVBQUUsYUFBYSxRQXVHckUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAYtF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,eAAe,CAAC,GACxE,IAAI,CAAC,aAAa,EAAE,sBAAsB,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,kBAAkB,CAAC,GACnH,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,YAAY,GAAG,2BAA2B,CAAC,GAC9E,IAAI,CAAC,eAAe,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,GAAG;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAIhC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAGhC,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AA+CJ,eAAO,MAAM,4BAA4B,EAAE,aAmF1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aAuDxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAuDlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAyFlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAwFlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAuDjC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,GAAG,SAAS,CAgBrF;AAMD,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,YAAY,QAavE;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,aAAa,QAiGrE"}
1
+ {"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAYtF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,eAAe,CAAC,GACxE,IAAI,CAAC,aAAa,EAAE,sBAAsB,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,kBAAkB,CAAC,GACnH,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,YAAY,GAAG,2BAA2B,CAAC,GAC9E,IAAI,CAAC,eAAe,EAAE,wBAAwB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC,GAAG;IAC1G,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAIhC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAGhC,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AA+CJ,eAAO,MAAM,4BAA4B,EAAE,aAoF1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aAwDxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAwDlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aA0FlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAyFlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAwDjC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,GAAG,SAAS,CAgBrF;AAMD,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,YAAY,QAavE;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,aAAa,QAuGrE"}
@@ -52,6 +52,7 @@ export const stagingIgnitionL2ChainConfig = {
52
52
  bootstrapNodes: [],
53
53
  minTxsPerBlock: 0,
54
54
  maxTxsPerBlock: 0,
55
+ buildCheckpointIfEmpty: true,
55
56
  realProofs: true,
56
57
  snapshotsUrls: [
57
58
  `${SNAPSHOTS_URL}/staging-ignition/`
@@ -121,6 +122,7 @@ export const stagingPublicL2ChainConfig = {
121
122
  bootstrapNodes: [],
122
123
  minTxsPerBlock: 0,
123
124
  maxTxsPerBlock: 20,
125
+ buildCheckpointIfEmpty: true,
124
126
  realProofs: true,
125
127
  snapshotsUrls: [
126
128
  `${SNAPSHOTS_URL}/staging-public/`
@@ -163,6 +165,7 @@ export const nextNetL2ChainConfig = {
163
165
  bootstrapNodes: [],
164
166
  minTxsPerBlock: 0,
165
167
  maxTxsPerBlock: 8,
168
+ buildCheckpointIfEmpty: true,
166
169
  realProofs: true,
167
170
  snapshotsUrls: [],
168
171
  autoUpdate: 'config-and-version',
@@ -203,6 +206,7 @@ export const testnetL2ChainConfig = {
203
206
  bootstrapNodes: [],
204
207
  minTxsPerBlock: 0,
205
208
  maxTxsPerBlock: 20,
209
+ buildCheckpointIfEmpty: true,
206
210
  realProofs: true,
207
211
  snapshotsUrls: [
208
212
  `${SNAPSHOTS_URL}/testnet/`
@@ -275,6 +279,7 @@ export const mainnetL2ChainConfig = {
275
279
  bootstrapNodes: [],
276
280
  minTxsPerBlock: 0,
277
281
  maxTxsPerBlock: 0,
282
+ buildCheckpointIfEmpty: true,
278
283
  realProofs: true,
279
284
  snapshotsUrls: [
280
285
  `${SNAPSHOTS_URL}/mainnet/`
@@ -343,6 +348,7 @@ export const devnetL2ChainConfig = {
343
348
  bootstrapNodes: [],
344
349
  minTxsPerBlock: 0,
345
350
  maxTxsPerBlock: 8,
351
+ buildCheckpointIfEmpty: true,
346
352
  realProofs: false,
347
353
  snapshotsUrls: [],
348
354
  autoUpdate: 'config-and-version',
@@ -425,6 +431,12 @@ export function enrichEnvironmentWithChainConfig(config) {
425
431
  enrichVar('L1_CHAIN_ID', config.l1ChainId.toString());
426
432
  enrichVar('SEQ_MIN_TX_PER_BLOCK', config.minTxsPerBlock.toString());
427
433
  enrichVar('SEQ_MAX_TX_PER_BLOCK', config.maxTxsPerBlock.toString());
434
+ if (config.blockDurationMs !== undefined) {
435
+ enrichVar('SEQ_BLOCK_DURATION_MS', config.blockDurationMs.toString());
436
+ }
437
+ if (config.buildCheckpointIfEmpty !== undefined) {
438
+ enrichVar('SEQ_BUILD_CHECKPOINT_IF_EMPTY', config.buildCheckpointIfEmpty.toString());
439
+ }
428
440
  enrichVar('PROVER_REAL_PROOFS', config.realProofs.toString());
429
441
  enrichVar('PXE_PROVER_ENABLED', config.realProofs.toString());
430
442
  enrichVar('SYNC_SNAPSHOTS_URLS', config.snapshotsUrls.join(','));
@@ -19,4 +19,4 @@ export declare function getNetworkConfig(networkName: NetworkNames, cacheDir?: s
19
19
  * Does not throw if the network simply doesn't exist in the config - just returns without enriching
20
20
  */
21
21
  export declare function enrichEnvironmentWithNetworkConfig(networkName: NetworkNames): Promise<void>;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUEwQixLQUFLLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYXpHOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxXQUFXLEVBQUUsWUFBWSxFQUN6QixRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBOEJwQztBQXVERDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsWUFBWSxpQkF3QmpGIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUEwQixLQUFLLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYXpHOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxXQUFXLEVBQUUsWUFBWSxFQUN6QixRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBOEJwQztBQXVERDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsWUFBWSxpQkEyQmpGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA0B,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAazG;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA8BpC;AAuDD;;;;;;;;GAQG;AACH,wBAAsB,kCAAkC,CAAC,WAAW,EAAE,YAAY,iBAwBjF"}
1
+ {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA0B,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAazG;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA8BpC;AAuDD;;;;;;;;GAQG;AACH,wBAAsB,kCAAkC,CAAC,WAAW,EAAE,YAAY,iBA2BjF"}
@@ -109,4 +109,7 @@ const NETWORK_CONFIG_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour
109
109
  if (networkConfig.blobFileStoreUrls?.length) {
110
110
  enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
111
111
  }
112
+ if (networkConfig.blockDurationMs !== undefined) {
113
+ enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
114
+ }
112
115
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/cli",
3
- "version": "3.0.0-nightly.20251222",
3
+ "version": "3.0.0-nightly.20251223",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./contracts": "./dest/cmds/contracts/index.js",
@@ -74,21 +74,21 @@
74
74
  ]
75
75
  },
76
76
  "dependencies": {
77
- "@aztec/accounts": "3.0.0-nightly.20251222",
78
- "@aztec/archiver": "3.0.0-nightly.20251222",
79
- "@aztec/aztec.js": "3.0.0-nightly.20251222",
80
- "@aztec/constants": "3.0.0-nightly.20251222",
81
- "@aztec/entrypoints": "3.0.0-nightly.20251222",
82
- "@aztec/ethereum": "3.0.0-nightly.20251222",
83
- "@aztec/foundation": "3.0.0-nightly.20251222",
84
- "@aztec/l1-artifacts": "3.0.0-nightly.20251222",
85
- "@aztec/node-keystore": "3.0.0-nightly.20251222",
86
- "@aztec/node-lib": "3.0.0-nightly.20251222",
87
- "@aztec/p2p": "3.0.0-nightly.20251222",
88
- "@aztec/protocol-contracts": "3.0.0-nightly.20251222",
89
- "@aztec/stdlib": "3.0.0-nightly.20251222",
90
- "@aztec/test-wallet": "3.0.0-nightly.20251222",
91
- "@aztec/world-state": "3.0.0-nightly.20251222",
77
+ "@aztec/accounts": "3.0.0-nightly.20251223",
78
+ "@aztec/archiver": "3.0.0-nightly.20251223",
79
+ "@aztec/aztec.js": "3.0.0-nightly.20251223",
80
+ "@aztec/constants": "3.0.0-nightly.20251223",
81
+ "@aztec/entrypoints": "3.0.0-nightly.20251223",
82
+ "@aztec/ethereum": "3.0.0-nightly.20251223",
83
+ "@aztec/foundation": "3.0.0-nightly.20251223",
84
+ "@aztec/l1-artifacts": "3.0.0-nightly.20251223",
85
+ "@aztec/node-keystore": "3.0.0-nightly.20251223",
86
+ "@aztec/node-lib": "3.0.0-nightly.20251223",
87
+ "@aztec/p2p": "3.0.0-nightly.20251223",
88
+ "@aztec/protocol-contracts": "3.0.0-nightly.20251223",
89
+ "@aztec/stdlib": "3.0.0-nightly.20251223",
90
+ "@aztec/test-wallet": "3.0.0-nightly.20251223",
91
+ "@aztec/world-state": "3.0.0-nightly.20251223",
92
92
  "@ethersproject/wallet": "^5.8.0",
93
93
  "@iarna/toml": "^2.2.5",
94
94
  "@libp2p/peer-id-factory": "^3.0.4",
@@ -102,9 +102,9 @@
102
102
  "viem": "npm:@aztec/viem@2.38.2"
103
103
  },
104
104
  "devDependencies": {
105
- "@aztec/aztec-node": "3.0.0-nightly.20251222",
106
- "@aztec/kv-store": "3.0.0-nightly.20251222",
107
- "@aztec/telemetry-client": "3.0.0-nightly.20251222",
105
+ "@aztec/aztec-node": "3.0.0-nightly.20251223",
106
+ "@aztec/kv-store": "3.0.0-nightly.20251223",
107
+ "@aztec/telemetry-client": "3.0.0-nightly.20251223",
108
108
  "@jest/globals": "^30.0.0",
109
109
  "@types/jest": "^30.0.0",
110
110
  "@types/lodash.chunk": "^4.2.9",
@@ -121,15 +121,15 @@
121
121
  "typescript": "^5.3.3"
122
122
  },
123
123
  "peerDependencies": {
124
- "@aztec/accounts": "3.0.0-nightly.20251222",
125
- "@aztec/bb-prover": "3.0.0-nightly.20251222",
126
- "@aztec/ethereum": "3.0.0-nightly.20251222",
127
- "@aztec/l1-artifacts": "3.0.0-nightly.20251222",
128
- "@aztec/noir-contracts.js": "3.0.0-nightly.20251222",
129
- "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251222",
130
- "@aztec/noir-test-contracts.js": "3.0.0-nightly.20251222",
131
- "@aztec/protocol-contracts": "3.0.0-nightly.20251222",
132
- "@aztec/stdlib": "3.0.0-nightly.20251222"
124
+ "@aztec/accounts": "3.0.0-nightly.20251223",
125
+ "@aztec/bb-prover": "3.0.0-nightly.20251223",
126
+ "@aztec/ethereum": "3.0.0-nightly.20251223",
127
+ "@aztec/l1-artifacts": "3.0.0-nightly.20251223",
128
+ "@aztec/noir-contracts.js": "3.0.0-nightly.20251223",
129
+ "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251223",
130
+ "@aztec/noir-test-contracts.js": "3.0.0-nightly.20251223",
131
+ "@aztec/protocol-contracts": "3.0.0-nightly.20251223",
132
+ "@aztec/stdlib": "3.0.0-nightly.20251223"
133
133
  },
134
134
  "files": [
135
135
  "dest",
@@ -26,14 +26,14 @@ export async function sequencers(opts: {
26
26
  const chain = createEthereumChain(l1RpcUrls, chainId);
27
27
  const publicClient = createPublicClient({
28
28
  chain: chain.chainInfo,
29
- transport: fallback(l1RpcUrls.map(url => http(url))),
29
+ transport: fallback(l1RpcUrls.map(url => http(url, { batch: false }))),
30
30
  });
31
31
 
32
32
  const walletClient = mnemonic
33
33
  ? createWalletClient({
34
34
  account: mnemonicToAccount(mnemonic),
35
35
  chain: chain.chainInfo,
36
- transport: fallback(l1RpcUrls.map(url => http(url))),
36
+ transport: fallback(l1RpcUrls.map(url => http(url, { batch: false }))),
37
37
  })
38
38
  : undefined;
39
39
 
@@ -17,7 +17,7 @@ export async function getL1Addresses(
17
17
  const chain = createEthereumChain(rpcUrls, chainId);
18
18
  const publicClient: ViemPublicClient = createPublicClient({
19
19
  chain: chain.chainInfo,
20
- transport: fallback(rpcUrls.map(url => http(url))),
20
+ transport: fallback(rpcUrls.map(url => http(url, { batch: false }))),
21
21
  pollingInterval: 100,
22
22
  });
23
23
  const addresses = await RegistryContract.collectAddresses(publicClient, registryAddress.toString(), rollupVersion);
@@ -18,7 +18,7 @@ export async function getL1Balance(
18
18
  const chain = createEthereumChain(l1RpcUrls, chainId);
19
19
  const publicClient = createPublicClient({
20
20
  chain: chain.chainInfo,
21
- transport: fallback(l1RpcUrls.map(url => http(url))),
21
+ transport: fallback(l1RpcUrls.map(url => http(url, { batch: false }))),
22
22
  });
23
23
 
24
24
  let balance = 0n;
@@ -47,7 +47,10 @@ export async function proverStats(opts: {
47
47
  .then(a => a.rollupAddress);
48
48
 
49
49
  const chain = createEthereumChain(l1RpcUrls, chainId).chainInfo;
50
- const publicClient = createPublicClient({ chain, transport: fallback(l1RpcUrls.map(url => http(url))) });
50
+ const publicClient = createPublicClient({
51
+ chain,
52
+ transport: fallback(l1RpcUrls.map(url => http(url, { batch: false }))),
53
+ });
51
54
  const lastBlockNum = endBlock ?? (await publicClient.getBlockNumber());
52
55
  debugLog.verbose(`Querying events on rollup at ${rollup.toString()} from ${startBlock} up to ${lastBlockNum}`);
53
56
 
@@ -135,7 +135,7 @@ export async function newValidatorKeystore(options: NewValidatorKeystoreOptions,
135
135
  const chain = createEthereumChain(l1RpcUrls, l1ChainId);
136
136
  const publicClient = createPublicClient({
137
137
  chain: chain.chainInfo,
138
- transport: fallback(l1RpcUrls.map(url => http(url))),
138
+ transport: fallback(l1RpcUrls.map(url => http(url, { batch: false }))),
139
139
  });
140
140
  const gse = new GSEContract(publicClient, gseAddress);
141
141
 
@@ -273,7 +273,7 @@ export async function generateStakerJson(options: StakerOptions, log: LogFn): Pr
273
273
  const chain = createEthereumChain(l1RpcUrls, l1ChainId);
274
274
  const publicClient = createPublicClient({
275
275
  chain: chain.chainInfo,
276
- transport: fallback(l1RpcUrls.map(url => http(url))),
276
+ transport: fallback(l1RpcUrls.map(url => http(url, { batch: false }))),
277
277
  });
278
278
  const gse = new GSEContract(publicClient, gseAddress);
279
279
 
@@ -19,7 +19,7 @@ const tbMapSizeKb = 1_024 * 1_024 * 1_024; // 1 TB
19
19
  export type L2ChainConfig = Omit<L1ContractsConfig, keyof L1TxUtilsConfig> &
20
20
  Omit<SlasherConfig, 'slashValidatorsNever' | 'slashValidatorsAlways' | 'slashOverridePayload' | 'slashSelfAllowed'> &
21
21
  Pick<P2PConfig, 'bootstrapNodes' | 'p2pEnabled' | 'txPoolDeleteTxsAfterReorg'> &
22
- Pick<SequencerConfig, 'minTxsPerBlock' | 'maxTxsPerBlock'> & {
22
+ Pick<SequencerConfig, 'buildCheckpointIfEmpty' | 'minTxsPerBlock' | 'maxTxsPerBlock' | 'blockDurationMs'> & {
23
23
  l1ChainId: number;
24
24
  testAccounts: boolean;
25
25
  sponsoredFPC: boolean;
@@ -104,6 +104,7 @@ export const stagingIgnitionL2ChainConfig: L2ChainConfig = {
104
104
  bootstrapNodes: [],
105
105
  minTxsPerBlock: 0,
106
106
  maxTxsPerBlock: 0,
107
+ buildCheckpointIfEmpty: true,
107
108
  realProofs: true,
108
109
  snapshotsUrls: [`${SNAPSHOTS_URL}/staging-ignition/`],
109
110
  autoUpdate: 'config-and-version',
@@ -189,6 +190,7 @@ export const stagingPublicL2ChainConfig: L2ChainConfig = {
189
190
  bootstrapNodes: [],
190
191
  minTxsPerBlock: 0,
191
192
  maxTxsPerBlock: 20,
193
+ buildCheckpointIfEmpty: true,
192
194
  realProofs: true,
193
195
  snapshotsUrls: [`${SNAPSHOTS_URL}/staging-public/`],
194
196
  autoUpdate: 'config-and-version',
@@ -246,6 +248,7 @@ export const nextNetL2ChainConfig: L2ChainConfig = {
246
248
  bootstrapNodes: [],
247
249
  minTxsPerBlock: 0,
248
250
  maxTxsPerBlock: 8,
251
+ buildCheckpointIfEmpty: true,
249
252
  realProofs: true,
250
253
  snapshotsUrls: [],
251
254
  autoUpdate: 'config-and-version',
@@ -303,6 +306,7 @@ export const testnetL2ChainConfig: L2ChainConfig = {
303
306
  bootstrapNodes: [],
304
307
  minTxsPerBlock: 0,
305
308
  maxTxsPerBlock: 20,
309
+ buildCheckpointIfEmpty: true,
306
310
  realProofs: true,
307
311
  snapshotsUrls: [`${SNAPSHOTS_URL}/testnet/`],
308
312
  autoUpdate: 'config-and-version',
@@ -396,6 +400,7 @@ export const mainnetL2ChainConfig: L2ChainConfig = {
396
400
  bootstrapNodes: [],
397
401
  minTxsPerBlock: 0,
398
402
  maxTxsPerBlock: 0,
403
+ buildCheckpointIfEmpty: true,
399
404
  realProofs: true,
400
405
  snapshotsUrls: [`${SNAPSHOTS_URL}/mainnet/`],
401
406
  autoUpdate: 'notify',
@@ -484,6 +489,7 @@ export const devnetL2ChainConfig: L2ChainConfig = {
484
489
  bootstrapNodes: [],
485
490
  minTxsPerBlock: 0,
486
491
  maxTxsPerBlock: 8,
492
+ buildCheckpointIfEmpty: true,
487
493
  realProofs: false,
488
494
  snapshotsUrls: [],
489
495
  autoUpdate: 'config-and-version',
@@ -577,6 +583,12 @@ export function enrichEnvironmentWithChainConfig(config: L2ChainConfig) {
577
583
  enrichVar('L1_CHAIN_ID', config.l1ChainId.toString());
578
584
  enrichVar('SEQ_MIN_TX_PER_BLOCK', config.minTxsPerBlock.toString());
579
585
  enrichVar('SEQ_MAX_TX_PER_BLOCK', config.maxTxsPerBlock.toString());
586
+ if (config.blockDurationMs !== undefined) {
587
+ enrichVar('SEQ_BLOCK_DURATION_MS', config.blockDurationMs.toString());
588
+ }
589
+ if (config.buildCheckpointIfEmpty !== undefined) {
590
+ enrichVar('SEQ_BUILD_CHECKPOINT_IF_EMPTY', config.buildCheckpointIfEmpty.toString());
591
+ }
580
592
  enrichVar('PROVER_REAL_PROOFS', config.realProofs.toString());
581
593
  enrichVar('PXE_PROVER_ENABLED', config.realProofs.toString());
582
594
  enrichVar('SYNC_SNAPSHOTS_URLS', config.snapshotsUrls.join(','));
@@ -141,4 +141,7 @@ export async function enrichEnvironmentWithNetworkConfig(networkName: NetworkNam
141
141
  if (networkConfig.blobFileStoreUrls?.length) {
142
142
  enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
143
143
  }
144
+ if (networkConfig.blockDurationMs !== undefined) {
145
+ enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
146
+ }
144
147
  }