@aztec/cli 3.0.0-rc.5 → 4.0.0-nightly.20260107

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.
@@ -9,4 +9,4 @@ export declare function sequencers(opts: {
9
9
  chainId: number;
10
10
  log: LogFn;
11
11
  }): Promise<void>;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2Vycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvaW5mcmFzdHJ1Y3R1cmUvc2VxdWVuY2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1uRCx3QkFBc0IsVUFBVSxDQUFDLElBQUksRUFBRTtJQUNyQyxPQUFPLEVBQUUsTUFBTSxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUMxRCxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsR0FBRyxFQUFFLEtBQUssQ0FBQztDQUNaLGlCQW9HQSJ9
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2Vycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvaW5mcmFzdHJ1Y3R1cmUvc2VxdWVuY2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1uRCx3QkFBc0IsVUFBVSxDQUFDLElBQUksRUFBRTtJQUNyQyxPQUFPLEVBQUUsTUFBTSxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUMxRCxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsR0FBRyxFQUFFLEtBQUssQ0FBQztDQUNaLGlCQXFHQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"sequencers.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/sequencers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,KAAK,CAAC;CACZ,iBAoGA"}
1
+ {"version":3,"file":"sequencers.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/sequencers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,KAAK,CAAC;CACZ,iBAqGA"}
@@ -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({
@@ -42,8 +46,9 @@ export async function sequencers(opts) {
42
46
  throw new Error(`Missing sequencer address`);
43
47
  }
44
48
  log(`Adding ${who} as sequencer`);
49
+ const stakingAssetAddress = await rollup.getStakingAsset();
45
50
  const stakingAsset = getContract({
46
- address: await rollup.getStakingAsset(),
51
+ address: stakingAssetAddress.toString(),
47
52
  abi: TestERC20Abi,
48
53
  client: walletClient
49
54
  });
@@ -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;
@@ -14,7 +14,7 @@ export type L2ChainConfig = Omit<L1ContractsConfig, keyof L1TxUtilsConfig> & Omi
14
14
  snapshotsUrls: string[];
15
15
  autoUpdate: SharedNodeConfig['autoUpdate'];
16
16
  autoUpdateUrl?: string;
17
- maxTxPoolSize: number;
17
+ maxPendingTxCount: number;
18
18
  publicMetricsOptOut: boolean;
19
19
  publicIncludeMetrics?: string[];
20
20
  publicMetricsCollectorUrl?: string;
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbDJfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluX2wyX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLEtBQUssaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVl0RixNQUFNLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQyxHQUN4RSxJQUFJLENBQUMsYUFBYSxFQUFFLHNCQUFzQixHQUFHLHVCQUF1QixHQUFHLHNCQUFzQixHQUFHLGtCQUFrQixDQUFDLEdBQ25ILElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEdBQUcsWUFBWSxHQUFHLDJCQUEyQixDQUFDLEdBQzlFLElBQUksQ0FBQyxlQUFlLEVBQUUsd0JBQXdCLEdBQUcsZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsR0FBRztJQUMxRyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFlBQVksRUFBRSxPQUFPLENBQUM7SUFDdEIsWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUN0QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsVUFBVSxFQUFFLE9BQU8sQ0FBQztJQUNwQixhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDeEIsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2QixpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsbUJBQW1CLEVBQUUsT0FBTyxDQUFDO0lBQzdCLG9CQUFvQixDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDaEMseUJBQXlCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbkMsd0JBQXdCLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwQyx1QkFBdUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUNsQyxxQkFBcUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUloQyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0Isc0JBQXNCLEVBQUUsTUFBTSxDQUFDO0lBQy9CLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUM5QixzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDL0IsdUJBQXVCLEVBQUUsTUFBTSxDQUFDO0lBR2hDLGVBQWUsRUFBRSxPQUFPLENBQUM7SUFDekIsbUJBQW1CLEVBQUUsT0FBTyxDQUFDO0NBQzlCLENBQUM7QUErQ0osZUFBTyxNQUFNLDRCQUE0QixFQUFFLGFBc0YxQyxDQUFDO0FBRUYsZUFBTyxNQUFNLDBCQUEwQixFQUFFLGFBMER4QyxDQUFDO0FBRUYsZUFBTyxNQUFNLG9CQUFvQixFQUFFLGFBMERsQyxDQUFDO0FBRUYsZUFBTyxNQUFNLG9CQUFvQixFQUFFLGFBNEZsQyxDQUFDO0FBRUYsZUFBTyxNQUFNLG9CQUFvQixFQUFFLGFBMkZsQyxDQUFDO0FBRUYsZUFBTyxNQUFNLG1CQUFtQixFQUFFLGFBMERqQyxDQUFDO0FBRUYsd0JBQWdCLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxZQUFZLEdBQUcsYUFBYSxHQUFHLFNBQVMsQ0FnQnJGO0FBTUQsd0JBQWdCLDhCQUE4QixDQUFDLFdBQVcsRUFBRSxZQUFZLFFBYXZFO0FBRUQsd0JBQWdCLGdDQUFnQyxDQUFDLE1BQU0sRUFBRSxhQUFhLFFBd0dyRSJ9
@@ -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,iBAAiB,EAAE,MAAM,CAAC;IAC1B,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,aAsF1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aA0DxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aA0DlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aA4FlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aA2FlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aA0DjC,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,QAwGrE"}
@@ -52,13 +52,14 @@ 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/`
58
59
  ],
59
60
  autoUpdate: 'config-and-version',
60
61
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-testnet/auto-update/staging-ignition.json',
61
- maxTxPoolSize: 0,
62
+ maxPendingTxCount: 0,
62
63
  publicMetricsOptOut: false,
63
64
  publicIncludeMetrics,
64
65
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
@@ -73,6 +74,7 @@ export const stagingIgnitionL2ChainConfig = {
73
74
  /** The target validator committee size. */ aztecTargetCommitteeSize: 24,
74
75
  /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: 2,
75
76
  /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: 2,
77
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */ inboxLag: 1,
76
78
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
77
79
  /** How many sequencers must agree with a slash for it to be executed. */ slashingQuorum: 65,
78
80
  slashingRoundSizeInEpochs: 4,
@@ -121,6 +123,7 @@ export const stagingPublicL2ChainConfig = {
121
123
  bootstrapNodes: [],
122
124
  minTxsPerBlock: 0,
123
125
  maxTxsPerBlock: 20,
126
+ buildCheckpointIfEmpty: true,
124
127
  realProofs: true,
125
128
  snapshotsUrls: [
126
129
  `${SNAPSHOTS_URL}/staging-public/`
@@ -133,7 +136,7 @@ export const stagingPublicL2ChainConfig = {
133
136
  publicMetricsCollectFrom: [
134
137
  'sequencer'
135
138
  ],
136
- maxTxPoolSize: 100_000_000,
139
+ maxPendingTxCount: 1_000,
137
140
  txPoolDeleteTxsAfterReorg: true,
138
141
  // Deployment stuff
139
142
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
@@ -142,6 +145,7 @@ export const stagingPublicL2ChainConfig = {
142
145
  /** The target validator committee size. */ aztecTargetCommitteeSize: 48,
143
146
  /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: DefaultL1ContractsConfig.lagInEpochsForValidatorSet,
144
147
  /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: DefaultL1ContractsConfig.lagInEpochsForRandao,
148
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */ inboxLag: DefaultL1ContractsConfig.inboxLag,
145
149
  /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */ localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
146
150
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
147
151
  /** The deposit amount for a validator */ activationThreshold: DefaultL1ContractsConfig.activationThreshold,
@@ -163,6 +167,7 @@ export const nextNetL2ChainConfig = {
163
167
  bootstrapNodes: [],
164
168
  minTxsPerBlock: 0,
165
169
  maxTxsPerBlock: 8,
170
+ buildCheckpointIfEmpty: true,
166
171
  realProofs: true,
167
172
  snapshotsUrls: [],
168
173
  autoUpdate: 'config-and-version',
@@ -173,7 +178,7 @@ export const nextNetL2ChainConfig = {
173
178
  publicMetricsCollectFrom: [
174
179
  ''
175
180
  ],
176
- maxTxPoolSize: 100_000_000,
181
+ maxPendingTxCount: 1_000,
177
182
  txPoolDeleteTxsAfterReorg: false,
178
183
  // Deployment stuff
179
184
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
@@ -182,6 +187,7 @@ export const nextNetL2ChainConfig = {
182
187
  /** The target validator committee size. */ aztecTargetCommitteeSize: 48,
183
188
  /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: DefaultL1ContractsConfig.lagInEpochsForValidatorSet,
184
189
  /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: DefaultL1ContractsConfig.lagInEpochsForRandao,
190
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */ inboxLag: DefaultL1ContractsConfig.inboxLag,
185
191
  /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */ localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
186
192
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
187
193
  /** The deposit amount for a validator */ activationThreshold: DefaultL1ContractsConfig.activationThreshold,
@@ -203,13 +209,14 @@ export const testnetL2ChainConfig = {
203
209
  bootstrapNodes: [],
204
210
  minTxsPerBlock: 0,
205
211
  maxTxsPerBlock: 20,
212
+ buildCheckpointIfEmpty: true,
206
213
  realProofs: true,
207
214
  snapshotsUrls: [
208
215
  `${SNAPSHOTS_URL}/testnet/`
209
216
  ],
210
217
  autoUpdate: 'config-and-version',
211
218
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-testnet/auto-update/testnet.json',
212
- maxTxPoolSize: 100_000_000,
219
+ maxPendingTxCount: 5_000,
213
220
  publicMetricsOptOut: false,
214
221
  publicIncludeMetrics,
215
222
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
@@ -225,6 +232,7 @@ export const testnetL2ChainConfig = {
225
232
  /** The target validator committee size. */ aztecTargetCommitteeSize: 48,
226
233
  /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: 2,
227
234
  /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: 2,
235
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */ inboxLag: 1,
228
236
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
229
237
  // This is a diff from mainnet: we have 1-strike you're out, rather than 3 on mainnet.
230
238
  localEjectionThreshold: 199_000n * 10n ** 18n,
@@ -275,13 +283,14 @@ export const mainnetL2ChainConfig = {
275
283
  bootstrapNodes: [],
276
284
  minTxsPerBlock: 0,
277
285
  maxTxsPerBlock: 0,
286
+ buildCheckpointIfEmpty: true,
278
287
  realProofs: true,
279
288
  snapshotsUrls: [
280
289
  `${SNAPSHOTS_URL}/mainnet/`
281
290
  ],
282
291
  autoUpdate: 'notify',
283
292
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-mainnet/auto-update/mainnet.json',
284
- maxTxPoolSize: 0,
293
+ maxPendingTxCount: 0,
285
294
  publicMetricsOptOut: true,
286
295
  publicIncludeMetrics,
287
296
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
@@ -295,6 +304,7 @@ export const mainnetL2ChainConfig = {
295
304
  /** The target validator committee size. */ aztecTargetCommitteeSize: 24,
296
305
  /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: 2,
297
306
  /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: 2,
307
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */ inboxLag: 1,
298
308
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
299
309
  localEjectionThreshold: 196_000n * 10n ** 18n,
300
310
  /** How many sequencers must agree with a slash for it to be executed. */ slashingQuorum: 65,
@@ -343,6 +353,7 @@ export const devnetL2ChainConfig = {
343
353
  bootstrapNodes: [],
344
354
  minTxsPerBlock: 0,
345
355
  maxTxsPerBlock: 8,
356
+ buildCheckpointIfEmpty: true,
346
357
  realProofs: false,
347
358
  snapshotsUrls: [],
348
359
  autoUpdate: 'config-and-version',
@@ -353,7 +364,7 @@ export const devnetL2ChainConfig = {
353
364
  publicMetricsCollectFrom: [
354
365
  ''
355
366
  ],
356
- maxTxPoolSize: 100_000_000,
367
+ maxPendingTxCount: 1_000,
357
368
  txPoolDeleteTxsAfterReorg: true,
358
369
  // Deployment stuff
359
370
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
@@ -362,6 +373,7 @@ export const devnetL2ChainConfig = {
362
373
  /** The target validator committee size. */ aztecTargetCommitteeSize: 1,
363
374
  /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochsForValidatorSet: 1,
364
375
  /** The number of epochs to lag behind the current epoch for randao selection. */ lagInEpochsForRandao: 1,
376
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */ inboxLag: DefaultL1ContractsConfig.inboxLag,
365
377
  /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */ localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
366
378
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
367
379
  /** The deposit amount for a validator */ activationThreshold: DefaultL1ContractsConfig.activationThreshold,
@@ -425,10 +437,16 @@ export function enrichEnvironmentWithChainConfig(config) {
425
437
  enrichVar('L1_CHAIN_ID', config.l1ChainId.toString());
426
438
  enrichVar('SEQ_MIN_TX_PER_BLOCK', config.minTxsPerBlock.toString());
427
439
  enrichVar('SEQ_MAX_TX_PER_BLOCK', config.maxTxsPerBlock.toString());
440
+ if (config.blockDurationMs !== undefined) {
441
+ enrichVar('SEQ_BLOCK_DURATION_MS', config.blockDurationMs.toString());
442
+ }
443
+ if (config.buildCheckpointIfEmpty !== undefined) {
444
+ enrichVar('SEQ_BUILD_CHECKPOINT_IF_EMPTY', config.buildCheckpointIfEmpty.toString());
445
+ }
428
446
  enrichVar('PROVER_REAL_PROOFS', config.realProofs.toString());
429
447
  enrichVar('PXE_PROVER_ENABLED', config.realProofs.toString());
430
448
  enrichVar('SYNC_SNAPSHOTS_URLS', config.snapshotsUrls.join(','));
431
- enrichVar('P2P_MAX_TX_POOL_SIZE', config.maxTxPoolSize.toString());
449
+ enrichVar('P2P_MAX_PENDING_TX_COUNT', config.maxPendingTxCount.toString());
432
450
  enrichVar('P2P_TX_POOL_DELETE_TXS_AFTER_REORG', config.txPoolDeleteTxsAfterReorg.toString());
433
451
  enrichVar('DATA_STORE_MAP_SIZE_KB', config.dataStoreMapSizeKb.toString());
434
452
  enrichVar('ARCHIVER_STORE_MAP_SIZE_KB', config.archiverStoreMapSizeKb.toString());
@@ -464,6 +482,7 @@ export function enrichEnvironmentWithChainConfig(config) {
464
482
  enrichVar('AZTEC_TARGET_COMMITTEE_SIZE', config.aztecTargetCommitteeSize.toString());
465
483
  enrichVar('AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET', config.lagInEpochsForValidatorSet.toString());
466
484
  enrichVar('AZTEC_LAG_IN_EPOCHS_FOR_RANDAO', config.lagInEpochsForRandao.toString());
485
+ enrichVar('AZTEC_INBOX_LAG', config.inboxLag.toString());
467
486
  enrichVar('AZTEC_PROOF_SUBMISSION_EPOCHS', config.aztecProofSubmissionEpochs.toString());
468
487
  enrichVar('AZTEC_ACTIVATION_THRESHOLD', config.activationThreshold.toString());
469
488
  enrichVar('AZTEC_EJECTION_THRESHOLD', config.ejectionThreshold.toString());
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUEwQixLQUFLLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYXpHOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxXQUFXLEVBQUUsWUFBWSxFQUN6QixRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBOEJwQztBQXVERDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsWUFBWSxpQkFvQmpGIn0=
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,iBAoBjF"}
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"}
@@ -106,4 +106,10 @@ const NETWORK_CONFIG_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour
106
106
  if (networkConfig.feeAssetHandlerAddress) {
107
107
  enrichEthAddressVar('FEE_ASSET_HANDLER_CONTRACT_ADDRESS', networkConfig.feeAssetHandlerAddress.toString());
108
108
  }
109
+ if (networkConfig.blobFileStoreUrls?.length) {
110
+ enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
111
+ }
112
+ if (networkConfig.blockDurationMs !== undefined) {
113
+ enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
114
+ }
109
115
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/cli",
3
- "version": "3.0.0-rc.5",
3
+ "version": "4.0.0-nightly.20260107",
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-rc.5",
78
- "@aztec/archiver": "3.0.0-rc.5",
79
- "@aztec/aztec.js": "3.0.0-rc.5",
80
- "@aztec/constants": "3.0.0-rc.5",
81
- "@aztec/entrypoints": "3.0.0-rc.5",
82
- "@aztec/ethereum": "3.0.0-rc.5",
83
- "@aztec/foundation": "3.0.0-rc.5",
84
- "@aztec/l1-artifacts": "3.0.0-rc.5",
85
- "@aztec/node-keystore": "3.0.0-rc.5",
86
- "@aztec/node-lib": "3.0.0-rc.5",
87
- "@aztec/p2p": "3.0.0-rc.5",
88
- "@aztec/protocol-contracts": "3.0.0-rc.5",
89
- "@aztec/stdlib": "3.0.0-rc.5",
90
- "@aztec/test-wallet": "3.0.0-rc.5",
91
- "@aztec/world-state": "3.0.0-rc.5",
77
+ "@aztec/accounts": "4.0.0-nightly.20260107",
78
+ "@aztec/archiver": "4.0.0-nightly.20260107",
79
+ "@aztec/aztec.js": "4.0.0-nightly.20260107",
80
+ "@aztec/constants": "4.0.0-nightly.20260107",
81
+ "@aztec/entrypoints": "4.0.0-nightly.20260107",
82
+ "@aztec/ethereum": "4.0.0-nightly.20260107",
83
+ "@aztec/foundation": "4.0.0-nightly.20260107",
84
+ "@aztec/l1-artifacts": "4.0.0-nightly.20260107",
85
+ "@aztec/node-keystore": "4.0.0-nightly.20260107",
86
+ "@aztec/node-lib": "4.0.0-nightly.20260107",
87
+ "@aztec/p2p": "4.0.0-nightly.20260107",
88
+ "@aztec/protocol-contracts": "4.0.0-nightly.20260107",
89
+ "@aztec/stdlib": "4.0.0-nightly.20260107",
90
+ "@aztec/test-wallet": "4.0.0-nightly.20260107",
91
+ "@aztec/world-state": "4.0.0-nightly.20260107",
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-rc.5",
106
- "@aztec/kv-store": "3.0.0-rc.5",
107
- "@aztec/telemetry-client": "3.0.0-rc.5",
105
+ "@aztec/aztec-node": "4.0.0-nightly.20260107",
106
+ "@aztec/kv-store": "4.0.0-nightly.20260107",
107
+ "@aztec/telemetry-client": "4.0.0-nightly.20260107",
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-rc.5",
125
- "@aztec/bb-prover": "3.0.0-rc.5",
126
- "@aztec/ethereum": "3.0.0-rc.5",
127
- "@aztec/l1-artifacts": "3.0.0-rc.5",
128
- "@aztec/noir-contracts.js": "3.0.0-rc.5",
129
- "@aztec/noir-protocol-circuits-types": "3.0.0-rc.5",
130
- "@aztec/noir-test-contracts.js": "3.0.0-rc.5",
131
- "@aztec/protocol-contracts": "3.0.0-rc.5",
132
- "@aztec/stdlib": "3.0.0-rc.5"
124
+ "@aztec/accounts": "4.0.0-nightly.20260107",
125
+ "@aztec/bb-prover": "4.0.0-nightly.20260107",
126
+ "@aztec/ethereum": "4.0.0-nightly.20260107",
127
+ "@aztec/l1-artifacts": "4.0.0-nightly.20260107",
128
+ "@aztec/noir-contracts.js": "4.0.0-nightly.20260107",
129
+ "@aztec/noir-protocol-circuits-types": "4.0.0-nightly.20260107",
130
+ "@aztec/noir-test-contracts.js": "4.0.0-nightly.20260107",
131
+ "@aztec/protocol-contracts": "4.0.0-nightly.20260107",
132
+ "@aztec/stdlib": "4.0.0-nightly.20260107"
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
 
@@ -66,8 +66,9 @@ export async function sequencers(opts: {
66
66
 
67
67
  log(`Adding ${who} as sequencer`);
68
68
 
69
+ const stakingAssetAddress = await rollup.getStakingAsset();
69
70
  const stakingAsset = getContract({
70
- address: await rollup.getStakingAsset(),
71
+ address: stakingAssetAddress.toString(),
71
72
  abi: TestERC20Abi,
72
73
  client: walletClient,
73
74
  });
@@ -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;
@@ -29,7 +29,7 @@ export type L2ChainConfig = Omit<L1ContractsConfig, keyof L1TxUtilsConfig> &
29
29
  snapshotsUrls: string[];
30
30
  autoUpdate: SharedNodeConfig['autoUpdate'];
31
31
  autoUpdateUrl?: string;
32
- maxTxPoolSize: number;
32
+ maxPendingTxCount: number;
33
33
  publicMetricsOptOut: boolean;
34
34
  publicIncludeMetrics?: string[];
35
35
  publicMetricsCollectorUrl?: string;
@@ -104,11 +104,12 @@ 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',
110
111
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-testnet/auto-update/staging-ignition.json',
111
- maxTxPoolSize: 0,
112
+ maxPendingTxCount: 0,
112
113
  publicMetricsOptOut: false,
113
114
  publicIncludeMetrics,
114
115
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
@@ -128,6 +129,8 @@ export const stagingIgnitionL2ChainConfig: L2ChainConfig = {
128
129
  lagInEpochsForValidatorSet: 2,
129
130
  /** The number of epochs to lag behind the current epoch for randao selection. */
130
131
  lagInEpochsForRandao: 2,
132
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */
133
+ inboxLag: 1,
131
134
  /** The number of epochs after an epoch ends that proofs are still accepted. */
132
135
  aztecProofSubmissionEpochs: 1,
133
136
  /** How many sequencers must agree with a slash for it to be executed. */
@@ -189,6 +192,7 @@ export const stagingPublicL2ChainConfig: L2ChainConfig = {
189
192
  bootstrapNodes: [],
190
193
  minTxsPerBlock: 0,
191
194
  maxTxsPerBlock: 20,
195
+ buildCheckpointIfEmpty: true,
192
196
  realProofs: true,
193
197
  snapshotsUrls: [`${SNAPSHOTS_URL}/staging-public/`],
194
198
  autoUpdate: 'config-and-version',
@@ -197,7 +201,7 @@ export const stagingPublicL2ChainConfig: L2ChainConfig = {
197
201
  publicIncludeMetrics,
198
202
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
199
203
  publicMetricsCollectFrom: ['sequencer'],
200
- maxTxPoolSize: 100_000_000, // 100MB
204
+ maxPendingTxCount: 1_000, // ~156MB
201
205
  txPoolDeleteTxsAfterReorg: true,
202
206
 
203
207
  // Deployment stuff
@@ -213,6 +217,8 @@ export const stagingPublicL2ChainConfig: L2ChainConfig = {
213
217
  lagInEpochsForValidatorSet: DefaultL1ContractsConfig.lagInEpochsForValidatorSet,
214
218
  /** The number of epochs to lag behind the current epoch for randao selection. */
215
219
  lagInEpochsForRandao: DefaultL1ContractsConfig.lagInEpochsForRandao,
220
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */
221
+ inboxLag: DefaultL1ContractsConfig.inboxLag,
216
222
  /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */
217
223
  localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
218
224
  /** The number of epochs after an epoch ends that proofs are still accepted. */
@@ -246,6 +252,7 @@ export const nextNetL2ChainConfig: L2ChainConfig = {
246
252
  bootstrapNodes: [],
247
253
  minTxsPerBlock: 0,
248
254
  maxTxsPerBlock: 8,
255
+ buildCheckpointIfEmpty: true,
249
256
  realProofs: true,
250
257
  snapshotsUrls: [],
251
258
  autoUpdate: 'config-and-version',
@@ -254,7 +261,7 @@ export const nextNetL2ChainConfig: L2ChainConfig = {
254
261
  publicIncludeMetrics,
255
262
  publicMetricsCollectorUrl: '',
256
263
  publicMetricsCollectFrom: [''],
257
- maxTxPoolSize: 100_000_000, // 100MB
264
+ maxPendingTxCount: 1_000, // ~156MB
258
265
  txPoolDeleteTxsAfterReorg: false,
259
266
 
260
267
  // Deployment stuff
@@ -270,6 +277,8 @@ export const nextNetL2ChainConfig: L2ChainConfig = {
270
277
  lagInEpochsForValidatorSet: DefaultL1ContractsConfig.lagInEpochsForValidatorSet,
271
278
  /** The number of epochs to lag behind the current epoch for randao selection. */
272
279
  lagInEpochsForRandao: DefaultL1ContractsConfig.lagInEpochsForRandao,
280
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */
281
+ inboxLag: DefaultL1ContractsConfig.inboxLag,
273
282
  /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */
274
283
  localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
275
284
  /** The number of epochs after an epoch ends that proofs are still accepted. */
@@ -303,11 +312,12 @@ export const testnetL2ChainConfig: L2ChainConfig = {
303
312
  bootstrapNodes: [],
304
313
  minTxsPerBlock: 0,
305
314
  maxTxsPerBlock: 20,
315
+ buildCheckpointIfEmpty: true,
306
316
  realProofs: true,
307
317
  snapshotsUrls: [`${SNAPSHOTS_URL}/testnet/`],
308
318
  autoUpdate: 'config-and-version',
309
319
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-testnet/auto-update/testnet.json',
310
- maxTxPoolSize: 100_000_000, // 100MB
320
+ maxPendingTxCount: 5_000, // ~760MB
311
321
  publicMetricsOptOut: false,
312
322
  publicIncludeMetrics,
313
323
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
@@ -328,6 +338,8 @@ export const testnetL2ChainConfig: L2ChainConfig = {
328
338
  lagInEpochsForValidatorSet: 2,
329
339
  /** The number of epochs to lag behind the current epoch for randao selection. */
330
340
  lagInEpochsForRandao: 2,
341
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */
342
+ inboxLag: 1,
331
343
  /** The number of epochs after an epoch ends that proofs are still accepted. */
332
344
  aztecProofSubmissionEpochs: 1,
333
345
 
@@ -396,11 +408,12 @@ export const mainnetL2ChainConfig: L2ChainConfig = {
396
408
  bootstrapNodes: [],
397
409
  minTxsPerBlock: 0,
398
410
  maxTxsPerBlock: 0,
411
+ buildCheckpointIfEmpty: true,
399
412
  realProofs: true,
400
413
  snapshotsUrls: [`${SNAPSHOTS_URL}/mainnet/`],
401
414
  autoUpdate: 'notify',
402
415
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-mainnet/auto-update/mainnet.json',
403
- maxTxPoolSize: 0,
416
+ maxPendingTxCount: 0,
404
417
  publicMetricsOptOut: true,
405
418
  publicIncludeMetrics,
406
419
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
@@ -419,6 +432,8 @@ export const mainnetL2ChainConfig: L2ChainConfig = {
419
432
  lagInEpochsForValidatorSet: 2,
420
433
  /** The number of epochs to lag behind the current epoch for randao selection. */
421
434
  lagInEpochsForRandao: 2,
435
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */
436
+ inboxLag: 1,
422
437
  /** The number of epochs after an epoch ends that proofs are still accepted. */
423
438
  aztecProofSubmissionEpochs: 1,
424
439
 
@@ -484,6 +499,7 @@ export const devnetL2ChainConfig: L2ChainConfig = {
484
499
  bootstrapNodes: [],
485
500
  minTxsPerBlock: 0,
486
501
  maxTxsPerBlock: 8,
502
+ buildCheckpointIfEmpty: true,
487
503
  realProofs: false,
488
504
  snapshotsUrls: [],
489
505
  autoUpdate: 'config-and-version',
@@ -492,7 +508,7 @@ export const devnetL2ChainConfig: L2ChainConfig = {
492
508
  publicIncludeMetrics,
493
509
  publicMetricsCollectorUrl: '',
494
510
  publicMetricsCollectFrom: [''],
495
- maxTxPoolSize: 100_000_000, // 100MB
511
+ maxPendingTxCount: 1_000, // ~156MB
496
512
  txPoolDeleteTxsAfterReorg: true,
497
513
 
498
514
  // Deployment stuff
@@ -508,6 +524,8 @@ export const devnetL2ChainConfig: L2ChainConfig = {
508
524
  lagInEpochsForValidatorSet: 1,
509
525
  /** The number of epochs to lag behind the current epoch for randao selection. */
510
526
  lagInEpochsForRandao: 1,
527
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */
528
+ inboxLag: DefaultL1ContractsConfig.inboxLag,
511
529
  /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */
512
530
  localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
513
531
  /** The number of epochs after an epoch ends that proofs are still accepted. */
@@ -577,10 +595,16 @@ export function enrichEnvironmentWithChainConfig(config: L2ChainConfig) {
577
595
  enrichVar('L1_CHAIN_ID', config.l1ChainId.toString());
578
596
  enrichVar('SEQ_MIN_TX_PER_BLOCK', config.minTxsPerBlock.toString());
579
597
  enrichVar('SEQ_MAX_TX_PER_BLOCK', config.maxTxsPerBlock.toString());
598
+ if (config.blockDurationMs !== undefined) {
599
+ enrichVar('SEQ_BLOCK_DURATION_MS', config.blockDurationMs.toString());
600
+ }
601
+ if (config.buildCheckpointIfEmpty !== undefined) {
602
+ enrichVar('SEQ_BUILD_CHECKPOINT_IF_EMPTY', config.buildCheckpointIfEmpty.toString());
603
+ }
580
604
  enrichVar('PROVER_REAL_PROOFS', config.realProofs.toString());
581
605
  enrichVar('PXE_PROVER_ENABLED', config.realProofs.toString());
582
606
  enrichVar('SYNC_SNAPSHOTS_URLS', config.snapshotsUrls.join(','));
583
- enrichVar('P2P_MAX_TX_POOL_SIZE', config.maxTxPoolSize.toString());
607
+ enrichVar('P2P_MAX_PENDING_TX_COUNT', config.maxPendingTxCount.toString());
584
608
  enrichVar('P2P_TX_POOL_DELETE_TXS_AFTER_REORG', config.txPoolDeleteTxsAfterReorg.toString());
585
609
 
586
610
  enrichVar('DATA_STORE_MAP_SIZE_KB', config.dataStoreMapSizeKb.toString());
@@ -626,6 +650,7 @@ export function enrichEnvironmentWithChainConfig(config: L2ChainConfig) {
626
650
  enrichVar('AZTEC_TARGET_COMMITTEE_SIZE', config.aztecTargetCommitteeSize.toString());
627
651
  enrichVar('AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET', config.lagInEpochsForValidatorSet.toString());
628
652
  enrichVar('AZTEC_LAG_IN_EPOCHS_FOR_RANDAO', config.lagInEpochsForRandao.toString());
653
+ enrichVar('AZTEC_INBOX_LAG', config.inboxLag.toString());
629
654
  enrichVar('AZTEC_PROOF_SUBMISSION_EPOCHS', config.aztecProofSubmissionEpochs.toString());
630
655
  enrichVar('AZTEC_ACTIVATION_THRESHOLD', config.activationThreshold.toString());
631
656
  enrichVar('AZTEC_EJECTION_THRESHOLD', config.ejectionThreshold.toString());
@@ -137,4 +137,11 @@ export async function enrichEnvironmentWithNetworkConfig(networkName: NetworkNam
137
137
  if (networkConfig.feeAssetHandlerAddress) {
138
138
  enrichEthAddressVar('FEE_ASSET_HANDLER_CONTRACT_ADDRESS', networkConfig.feeAssetHandlerAddress.toString());
139
139
  }
140
+
141
+ if (networkConfig.blobFileStoreUrls?.length) {
142
+ enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
143
+ }
144
+ if (networkConfig.blockDurationMs !== undefined) {
145
+ enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
146
+ }
140
147
  }