@aztec/cli 5.0.0-nightly.20260611 → 5.0.0-nightly.20260612
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/config/chain_l2_config.d.ts +7 -2
- package/dest/config/chain_l2_config.d.ts.map +1 -1
- package/dest/config/chain_l2_config.js +14 -1
- package/dest/config/generated/networks.d.ts +11 -3
- package/dest/config/generated/networks.d.ts.map +1 -1
- package/dest/config/generated/networks.js +10 -2
- package/package.json +30 -30
- package/src/config/chain_l2_config.ts +14 -1
- package/src/config/generated/networks.ts +10 -2
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { NetworkNames } from '@aztec/foundation/config';
|
|
2
|
+
import { type ConsensusEnvVar } from '@aztec/stdlib/config';
|
|
3
|
+
/** Every generated network config must define every consensus-critical env var. */
|
|
4
|
+
export type ConsensusComplete = Record<ConsensusEnvVar, string | number | boolean>;
|
|
2
5
|
/**
|
|
3
6
|
* Sets up environment for the given network.
|
|
4
7
|
*
|
|
@@ -6,9 +9,11 @@ import type { NetworkNames } from '@aztec/foundation/config';
|
|
|
6
9
|
* and DefaultSlasherConfig (which match the 'defaults' section of defaults.yml).
|
|
7
10
|
*
|
|
8
11
|
* For deployed networks: applies network configuration from generated defaults.yml,
|
|
9
|
-
* merging base defaults with network-specific overrides.
|
|
12
|
+
* merging base defaults with network-specific overrides. Before merging, enforces that operators have not
|
|
13
|
+
* overridden any consensus-critical env var with a value diverging from the network config (throwing unless
|
|
14
|
+
* ALLOW_OVERRIDING_NETWORK_CONFIG is set), so all nodes of a network agree on consensus-critical values.
|
|
10
15
|
*
|
|
11
16
|
* @param networkName - The network name
|
|
12
17
|
*/
|
|
13
18
|
export declare function enrichEnvironmentWithChainName(networkName: NetworkNames): void;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbDJfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluX2wyX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQThCLE1BQU0sc0JBQXNCLENBQUM7QUFjeEYsbUZBQW1GO0FBQ25GLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFpQm5GOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHdCQUFnQiw4QkFBOEIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxRQXdCdkUifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,KAAK,eAAe,EAA8B,MAAM,sBAAsB,CAAC;AAcxF,mFAAmF;AACnF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAiBnF;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,YAAY,QAwBvE"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
+
import { checkConsensusEnvOverrides } from '@aztec/stdlib/config';
|
|
1
3
|
import path from 'path';
|
|
2
4
|
import { devnetConfig, mainnetConfig, testnetConfig } from './generated/networks.js';
|
|
3
5
|
const NetworkConfigs = {
|
|
@@ -5,6 +7,12 @@ const NetworkConfigs = {
|
|
|
5
7
|
testnet: testnetConfig,
|
|
6
8
|
mainnet: mainnetConfig
|
|
7
9
|
};
|
|
10
|
+
({
|
|
11
|
+
devnetConfig,
|
|
12
|
+
testnetConfig,
|
|
13
|
+
mainnetConfig
|
|
14
|
+
});
|
|
15
|
+
const log = createLogger('cli:chain_l2_config');
|
|
8
16
|
function enrichEnvironmentWithNetworkConfig(config) {
|
|
9
17
|
for (const [key, value] of Object.entries(config)){
|
|
10
18
|
if (process.env[key] === undefined && value !== undefined) {
|
|
@@ -22,7 +30,9 @@ function getDefaultDataDir(networkName) {
|
|
|
22
30
|
* and DefaultSlasherConfig (which match the 'defaults' section of defaults.yml).
|
|
23
31
|
*
|
|
24
32
|
* For deployed networks: applies network configuration from generated defaults.yml,
|
|
25
|
-
* merging base defaults with network-specific overrides.
|
|
33
|
+
* merging base defaults with network-specific overrides. Before merging, enforces that operators have not
|
|
34
|
+
* overridden any consensus-critical env var with a value diverging from the network config (throwing unless
|
|
35
|
+
* ALLOW_OVERRIDING_NETWORK_CONFIG is set), so all nodes of a network agree on consensus-critical values.
|
|
26
36
|
*
|
|
27
37
|
* @param networkName - The network name
|
|
28
38
|
*/ export function enrichEnvironmentWithChainName(networkName) {
|
|
@@ -38,6 +48,9 @@ function getDefaultDataDir(networkName) {
|
|
|
38
48
|
const configKey = /^v\d+-devnet-\d+$/.test(networkName) ? 'devnet' : networkName;
|
|
39
49
|
const generatedConfig = NetworkConfigs[configKey];
|
|
40
50
|
if (generatedConfig) {
|
|
51
|
+
// The check is pure; this layer owns env mutation, so apply its canonical writes before enriching.
|
|
52
|
+
const canonical = checkConsensusEnvOverrides(generatedConfig, process.env, (msg)=>log.warn(msg));
|
|
53
|
+
Object.assign(process.env, canonical);
|
|
41
54
|
enrichEnvironmentWithNetworkConfig(generatedConfig);
|
|
42
55
|
}
|
|
43
56
|
// Set DATA_DIRECTORY if not already set
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export declare const devnetConfig: {
|
|
2
2
|
readonly ETHEREUM_SLOT_DURATION: 12;
|
|
3
|
-
readonly AZTEC_SLOT_DURATION: 72;
|
|
4
|
-
readonly AZTEC_TARGET_COMMITTEE_SIZE: 48;
|
|
5
3
|
readonly AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000;
|
|
6
4
|
readonly AZTEC_EJECTION_THRESHOLD: 50000000000000000000;
|
|
7
5
|
readonly AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000;
|
|
@@ -30,6 +28,7 @@ export declare const devnetConfig: {
|
|
|
30
28
|
readonly SEQ_MIN_TX_PER_BLOCK: 1;
|
|
31
29
|
readonly SEQ_BUILD_CHECKPOINT_IF_EMPTY: true;
|
|
32
30
|
readonly SEQ_BLOCK_DURATION_MS: 6000;
|
|
31
|
+
readonly CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12;
|
|
33
32
|
readonly DATA_STORE_MAP_SIZE_KB: 134217728;
|
|
34
33
|
readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
|
|
35
34
|
readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
|
|
@@ -37,10 +36,15 @@ export declare const devnetConfig: {
|
|
|
37
36
|
readonly PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824;
|
|
38
37
|
readonly PUBLIC_OTEL_INCLUDE_METRICS: "aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_";
|
|
39
38
|
readonly SENTINEL_ENABLED: true;
|
|
39
|
+
readonly AZTEC_SLOT_DURATION: 36;
|
|
40
40
|
readonly AZTEC_EPOCH_DURATION: 8;
|
|
41
41
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 1;
|
|
42
42
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 1;
|
|
43
|
+
readonly AZTEC_TARGET_COMMITTEE_SIZE: 1;
|
|
44
|
+
readonly MAX_BLOCKS_PER_CHECKPOINT: 4;
|
|
43
45
|
readonly AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 1;
|
|
46
|
+
readonly AZTEC_SLASHING_QUORUM: 17;
|
|
47
|
+
readonly AZTEC_GOVERNANCE_PROPOSER_QUORUM: 151;
|
|
44
48
|
readonly L1_CHAIN_ID: 11155111;
|
|
45
49
|
readonly TEST_ACCOUNTS: true;
|
|
46
50
|
readonly SPONSORED_FPC: true;
|
|
@@ -95,6 +99,8 @@ export declare const testnetConfig: {
|
|
|
95
99
|
readonly SEQ_MIN_TX_PER_BLOCK: 1;
|
|
96
100
|
readonly SEQ_BUILD_CHECKPOINT_IF_EMPTY: true;
|
|
97
101
|
readonly SEQ_BLOCK_DURATION_MS: 6000;
|
|
102
|
+
readonly MAX_BLOCKS_PER_CHECKPOINT: 10;
|
|
103
|
+
readonly CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12;
|
|
98
104
|
readonly DATA_STORE_MAP_SIZE_KB: 134217728;
|
|
99
105
|
readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
|
|
100
106
|
readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
|
|
@@ -160,6 +166,8 @@ export declare const mainnetConfig: {
|
|
|
160
166
|
readonly SEQ_MIN_TX_PER_BLOCK: 1;
|
|
161
167
|
readonly SEQ_BUILD_CHECKPOINT_IF_EMPTY: true;
|
|
162
168
|
readonly SEQ_BLOCK_DURATION_MS: 6000;
|
|
169
|
+
readonly MAX_BLOCKS_PER_CHECKPOINT: 10;
|
|
170
|
+
readonly CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12;
|
|
163
171
|
readonly DATA_STORE_MAP_SIZE_KB: 134217728;
|
|
164
172
|
readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
|
|
165
173
|
readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
|
|
@@ -215,4 +223,4 @@ export declare const mainnetConfig: {
|
|
|
215
223
|
readonly SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 2e+21;
|
|
216
224
|
readonly SLASH_GRACE_PERIOD_L2_SLOTS: 1200;
|
|
217
225
|
};
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZ2VuZXJhdGVkL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGVBQU8sTUFBTSxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNEVmLENBQUM7QUFFWCxlQUFPLE1BQU0sYUFBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUVoQixDQUFDO0FBRVgsZUFBTyxNQUFNLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNkVoQixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/config/generated/networks.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/config/generated/networks.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Ef,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEhB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EhB,CAAC"}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
// Do not edit manually - run yarn generate to regenerate
|
|
3
3
|
export const devnetConfig = {
|
|
4
4
|
ETHEREUM_SLOT_DURATION: 12,
|
|
5
|
-
AZTEC_SLOT_DURATION: 72,
|
|
6
|
-
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
7
5
|
AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
|
|
8
6
|
AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
|
|
9
7
|
AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000,
|
|
@@ -32,6 +30,7 @@ export const devnetConfig = {
|
|
|
32
30
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
33
31
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
34
32
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
33
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
35
34
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
36
35
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
37
36
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
@@ -39,10 +38,15 @@ export const devnetConfig = {
|
|
|
39
38
|
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
40
39
|
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
41
40
|
SENTINEL_ENABLED: true,
|
|
41
|
+
AZTEC_SLOT_DURATION: 36,
|
|
42
42
|
AZTEC_EPOCH_DURATION: 8,
|
|
43
43
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 1,
|
|
44
44
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 1,
|
|
45
|
+
AZTEC_TARGET_COMMITTEE_SIZE: 1,
|
|
46
|
+
MAX_BLOCKS_PER_CHECKPOINT: 4,
|
|
45
47
|
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 1,
|
|
48
|
+
AZTEC_SLASHING_QUORUM: 17,
|
|
49
|
+
AZTEC_GOVERNANCE_PROPOSER_QUORUM: 151,
|
|
46
50
|
L1_CHAIN_ID: 11155111,
|
|
47
51
|
TEST_ACCOUNTS: true,
|
|
48
52
|
SPONSORED_FPC: true,
|
|
@@ -97,6 +101,8 @@ export const testnetConfig = {
|
|
|
97
101
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
98
102
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
99
103
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
104
|
+
MAX_BLOCKS_PER_CHECKPOINT: 10,
|
|
105
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
100
106
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
101
107
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
102
108
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
@@ -162,6 +168,8 @@ export const mainnetConfig = {
|
|
|
162
168
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
163
169
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
164
170
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
171
|
+
MAX_BLOCKS_PER_CHECKPOINT: 10,
|
|
172
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
165
173
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
166
174
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
167
175
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/cli",
|
|
3
|
-
"version": "5.0.0-nightly.
|
|
3
|
+
"version": "5.0.0-nightly.20260612",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./contracts": "./dest/cmds/contracts/index.js",
|
|
@@ -77,23 +77,23 @@
|
|
|
77
77
|
]
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@aztec/accounts": "5.0.0-nightly.
|
|
81
|
-
"@aztec/archiver": "5.0.0-nightly.
|
|
82
|
-
"@aztec/aztec.js": "5.0.0-nightly.
|
|
83
|
-
"@aztec/constants": "5.0.0-nightly.
|
|
84
|
-
"@aztec/entrypoints": "5.0.0-nightly.
|
|
85
|
-
"@aztec/ethereum": "5.0.0-nightly.
|
|
86
|
-
"@aztec/foundation": "5.0.0-nightly.
|
|
87
|
-
"@aztec/l1-artifacts": "5.0.0-nightly.
|
|
88
|
-
"@aztec/node-keystore": "5.0.0-nightly.
|
|
89
|
-
"@aztec/node-lib": "5.0.0-nightly.
|
|
90
|
-
"@aztec/p2p": "5.0.0-nightly.
|
|
91
|
-
"@aztec/protocol-contracts": "5.0.0-nightly.
|
|
92
|
-
"@aztec/sequencer-client": "5.0.0-nightly.
|
|
93
|
-
"@aztec/slasher": "5.0.0-nightly.
|
|
94
|
-
"@aztec/stdlib": "5.0.0-nightly.
|
|
95
|
-
"@aztec/wallets": "5.0.0-nightly.
|
|
96
|
-
"@aztec/world-state": "5.0.0-nightly.
|
|
80
|
+
"@aztec/accounts": "5.0.0-nightly.20260612",
|
|
81
|
+
"@aztec/archiver": "5.0.0-nightly.20260612",
|
|
82
|
+
"@aztec/aztec.js": "5.0.0-nightly.20260612",
|
|
83
|
+
"@aztec/constants": "5.0.0-nightly.20260612",
|
|
84
|
+
"@aztec/entrypoints": "5.0.0-nightly.20260612",
|
|
85
|
+
"@aztec/ethereum": "5.0.0-nightly.20260612",
|
|
86
|
+
"@aztec/foundation": "5.0.0-nightly.20260612",
|
|
87
|
+
"@aztec/l1-artifacts": "5.0.0-nightly.20260612",
|
|
88
|
+
"@aztec/node-keystore": "5.0.0-nightly.20260612",
|
|
89
|
+
"@aztec/node-lib": "5.0.0-nightly.20260612",
|
|
90
|
+
"@aztec/p2p": "5.0.0-nightly.20260612",
|
|
91
|
+
"@aztec/protocol-contracts": "5.0.0-nightly.20260612",
|
|
92
|
+
"@aztec/sequencer-client": "5.0.0-nightly.20260612",
|
|
93
|
+
"@aztec/slasher": "5.0.0-nightly.20260612",
|
|
94
|
+
"@aztec/stdlib": "5.0.0-nightly.20260612",
|
|
95
|
+
"@aztec/wallets": "5.0.0-nightly.20260612",
|
|
96
|
+
"@aztec/world-state": "5.0.0-nightly.20260612",
|
|
97
97
|
"@ethersproject/wallet": "^5.8.0",
|
|
98
98
|
"@iarna/toml": "^2.2.5",
|
|
99
99
|
"@libp2p/peer-id-factory": "^3.0.4",
|
|
@@ -107,9 +107,9 @@
|
|
|
107
107
|
"viem": "npm:@aztec/viem@2.38.2"
|
|
108
108
|
},
|
|
109
109
|
"devDependencies": {
|
|
110
|
-
"@aztec/aztec-node": "5.0.0-nightly.
|
|
111
|
-
"@aztec/kv-store": "5.0.0-nightly.
|
|
112
|
-
"@aztec/telemetry-client": "5.0.0-nightly.
|
|
110
|
+
"@aztec/aztec-node": "5.0.0-nightly.20260612",
|
|
111
|
+
"@aztec/kv-store": "5.0.0-nightly.20260612",
|
|
112
|
+
"@aztec/telemetry-client": "5.0.0-nightly.20260612",
|
|
113
113
|
"@jest/globals": "^30.0.0",
|
|
114
114
|
"@types/jest": "^30.0.0",
|
|
115
115
|
"@types/lodash.chunk": "^4.2.9",
|
|
@@ -126,15 +126,15 @@
|
|
|
126
126
|
"typescript": "^5.3.3"
|
|
127
127
|
},
|
|
128
128
|
"peerDependencies": {
|
|
129
|
-
"@aztec/accounts": "5.0.0-nightly.
|
|
130
|
-
"@aztec/bb-prover": "5.0.0-nightly.
|
|
131
|
-
"@aztec/ethereum": "5.0.0-nightly.
|
|
132
|
-
"@aztec/l1-artifacts": "5.0.0-nightly.
|
|
133
|
-
"@aztec/noir-contracts.js": "5.0.0-nightly.
|
|
134
|
-
"@aztec/noir-protocol-circuits-types": "5.0.0-nightly.
|
|
135
|
-
"@aztec/noir-test-contracts.js": "5.0.0-nightly.
|
|
136
|
-
"@aztec/protocol-contracts": "5.0.0-nightly.
|
|
137
|
-
"@aztec/stdlib": "5.0.0-nightly.
|
|
129
|
+
"@aztec/accounts": "5.0.0-nightly.20260612",
|
|
130
|
+
"@aztec/bb-prover": "5.0.0-nightly.20260612",
|
|
131
|
+
"@aztec/ethereum": "5.0.0-nightly.20260612",
|
|
132
|
+
"@aztec/l1-artifacts": "5.0.0-nightly.20260612",
|
|
133
|
+
"@aztec/noir-contracts.js": "5.0.0-nightly.20260612",
|
|
134
|
+
"@aztec/noir-protocol-circuits-types": "5.0.0-nightly.20260612",
|
|
135
|
+
"@aztec/noir-test-contracts.js": "5.0.0-nightly.20260612",
|
|
136
|
+
"@aztec/protocol-contracts": "5.0.0-nightly.20260612",
|
|
137
|
+
"@aztec/stdlib": "5.0.0-nightly.20260612"
|
|
138
138
|
},
|
|
139
139
|
"files": [
|
|
140
140
|
"dest",
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { NetworkNames } from '@aztec/foundation/config';
|
|
2
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { type ConsensusEnvVar, checkConsensusEnvOverrides } from '@aztec/stdlib/config';
|
|
2
4
|
|
|
3
5
|
import path from 'path';
|
|
4
6
|
|
|
@@ -12,6 +14,12 @@ const NetworkConfigs: Partial<Record<NetworkNames, NetworkConfigEnv>> = {
|
|
|
12
14
|
mainnet: mainnetConfig,
|
|
13
15
|
};
|
|
14
16
|
|
|
17
|
+
/** Every generated network config must define every consensus-critical env var. */
|
|
18
|
+
export type ConsensusComplete = Record<ConsensusEnvVar, string | number | boolean>;
|
|
19
|
+
({ devnetConfig, testnetConfig, mainnetConfig }) satisfies Record<string, ConsensusComplete>;
|
|
20
|
+
|
|
21
|
+
const log = createLogger('cli:chain_l2_config');
|
|
22
|
+
|
|
15
23
|
function enrichEnvironmentWithNetworkConfig(config: NetworkConfigEnv): void {
|
|
16
24
|
for (const [key, value] of Object.entries(config)) {
|
|
17
25
|
if (process.env[key] === undefined && value !== undefined) {
|
|
@@ -31,7 +39,9 @@ function getDefaultDataDir(networkName: NetworkNames): string {
|
|
|
31
39
|
* and DefaultSlasherConfig (which match the 'defaults' section of defaults.yml).
|
|
32
40
|
*
|
|
33
41
|
* For deployed networks: applies network configuration from generated defaults.yml,
|
|
34
|
-
* merging base defaults with network-specific overrides.
|
|
42
|
+
* merging base defaults with network-specific overrides. Before merging, enforces that operators have not
|
|
43
|
+
* overridden any consensus-critical env var with a value diverging from the network config (throwing unless
|
|
44
|
+
* ALLOW_OVERRIDING_NETWORK_CONFIG is set), so all nodes of a network agree on consensus-critical values.
|
|
35
45
|
*
|
|
36
46
|
* @param networkName - The network name
|
|
37
47
|
*/
|
|
@@ -49,6 +59,9 @@ export function enrichEnvironmentWithChainName(networkName: NetworkNames) {
|
|
|
49
59
|
const configKey = /^v\d+-devnet-\d+$/.test(networkName) ? 'devnet' : networkName;
|
|
50
60
|
const generatedConfig = NetworkConfigs[configKey];
|
|
51
61
|
if (generatedConfig) {
|
|
62
|
+
// The check is pure; this layer owns env mutation, so apply its canonical writes before enriching.
|
|
63
|
+
const canonical = checkConsensusEnvOverrides(generatedConfig, process.env, msg => log.warn(msg));
|
|
64
|
+
Object.assign(process.env, canonical);
|
|
52
65
|
enrichEnvironmentWithNetworkConfig(generatedConfig);
|
|
53
66
|
}
|
|
54
67
|
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
export const devnetConfig = {
|
|
5
5
|
ETHEREUM_SLOT_DURATION: 12,
|
|
6
|
-
AZTEC_SLOT_DURATION: 72,
|
|
7
|
-
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
8
6
|
AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
|
|
9
7
|
AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
|
|
10
8
|
AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000,
|
|
@@ -33,6 +31,7 @@ export const devnetConfig = {
|
|
|
33
31
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
34
32
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
35
33
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
34
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
36
35
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
37
36
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
38
37
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
@@ -40,10 +39,15 @@ export const devnetConfig = {
|
|
|
40
39
|
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
41
40
|
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
42
41
|
SENTINEL_ENABLED: true,
|
|
42
|
+
AZTEC_SLOT_DURATION: 36,
|
|
43
43
|
AZTEC_EPOCH_DURATION: 8,
|
|
44
44
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 1,
|
|
45
45
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 1,
|
|
46
|
+
AZTEC_TARGET_COMMITTEE_SIZE: 1,
|
|
47
|
+
MAX_BLOCKS_PER_CHECKPOINT: 4,
|
|
46
48
|
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 1,
|
|
49
|
+
AZTEC_SLASHING_QUORUM: 17,
|
|
50
|
+
AZTEC_GOVERNANCE_PROPOSER_QUORUM: 151,
|
|
47
51
|
L1_CHAIN_ID: 11155111,
|
|
48
52
|
TEST_ACCOUNTS: true,
|
|
49
53
|
SPONSORED_FPC: true,
|
|
@@ -99,6 +103,8 @@ export const testnetConfig = {
|
|
|
99
103
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
100
104
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
101
105
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
106
|
+
MAX_BLOCKS_PER_CHECKPOINT: 10,
|
|
107
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
102
108
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
103
109
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
104
110
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
@@ -165,6 +171,8 @@ export const mainnetConfig = {
|
|
|
165
171
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
166
172
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
167
173
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
174
|
+
MAX_BLOCKS_PER_CHECKPOINT: 10,
|
|
175
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
168
176
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
169
177
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
170
178
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|