@aztec/cli 0.0.1-commit.96bb3f7 → 0.0.1-commit.993d240

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.
Files changed (71) hide show
  1. package/dest/cmds/aztec_node/block_number.js +1 -1
  2. package/dest/cmds/aztec_node/get_logs.d.ts +30 -4
  3. package/dest/cmds/aztec_node/get_logs.d.ts.map +1 -1
  4. package/dest/cmds/aztec_node/get_logs.js +39 -29
  5. package/dest/cmds/aztec_node/get_node_info.d.ts +1 -1
  6. package/dest/cmds/aztec_node/get_node_info.d.ts.map +1 -1
  7. package/dest/cmds/aztec_node/get_node_info.js +0 -2
  8. package/dest/cmds/aztec_node/index.d.ts +1 -1
  9. package/dest/cmds/aztec_node/index.d.ts.map +1 -1
  10. package/dest/cmds/aztec_node/index.js +13 -3
  11. package/dest/cmds/infrastructure/setup_l2_contract.d.ts +1 -1
  12. package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -1
  13. package/dest/cmds/infrastructure/setup_l2_contract.js +4 -3
  14. package/dest/cmds/l1/assume_proven_through.d.ts +3 -2
  15. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -1
  16. package/dest/cmds/l1/assume_proven_through.js +3 -5
  17. package/dest/cmds/l1/compute_genesis_values.d.ts +4 -0
  18. package/dest/cmds/l1/compute_genesis_values.d.ts.map +1 -0
  19. package/dest/cmds/l1/compute_genesis_values.js +17 -0
  20. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts +1 -1
  21. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts.map +1 -1
  22. package/dest/cmds/l1/deploy_l1_contracts_cmd.js +0 -1
  23. package/dest/cmds/l1/deploy_new_rollup.d.ts +1 -1
  24. package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -1
  25. package/dest/cmds/l1/deploy_new_rollup.js +2 -4
  26. package/dest/cmds/l1/index.d.ts +1 -1
  27. package/dest/cmds/l1/index.d.ts.map +1 -1
  28. package/dest/cmds/l1/index.js +7 -2
  29. package/dest/cmds/l1/update_l1_validators.d.ts +3 -3
  30. package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
  31. package/dest/cmds/l1/update_l1_validators.js +52 -18
  32. package/dest/config/cached_fetch.d.ts +19 -10
  33. package/dest/config/cached_fetch.d.ts.map +1 -1
  34. package/dest/config/cached_fetch.js +110 -32
  35. package/dest/config/chain_l2_config.d.ts +12 -39
  36. package/dest/config/chain_l2_config.d.ts.map +1 -1
  37. package/dest/config/chain_l2_config.js +35 -512
  38. package/dest/config/generated/networks.d.ts +221 -0
  39. package/dest/config/generated/networks.d.ts.map +1 -0
  40. package/dest/config/generated/networks.js +222 -0
  41. package/dest/config/network_config.d.ts +2 -2
  42. package/dest/config/network_config.d.ts.map +1 -1
  43. package/dest/config/network_config.js +7 -3
  44. package/dest/utils/aztec.d.ts +1 -2
  45. package/dest/utils/aztec.d.ts.map +1 -1
  46. package/dest/utils/aztec.js +2 -3
  47. package/dest/utils/commands.d.ts +14 -6
  48. package/dest/utils/commands.d.ts.map +1 -1
  49. package/dest/utils/commands.js +19 -9
  50. package/dest/utils/inspect.d.ts +1 -1
  51. package/dest/utils/inspect.d.ts.map +1 -1
  52. package/dest/utils/inspect.js +10 -6
  53. package/package.json +35 -30
  54. package/src/cmds/aztec_node/block_number.ts +1 -1
  55. package/src/cmds/aztec_node/get_logs.ts +70 -38
  56. package/src/cmds/aztec_node/get_node_info.ts +0 -2
  57. package/src/cmds/aztec_node/index.ts +13 -8
  58. package/src/cmds/infrastructure/setup_l2_contract.ts +5 -4
  59. package/src/cmds/l1/assume_proven_through.ts +4 -7
  60. package/src/cmds/l1/compute_genesis_values.ts +29 -0
  61. package/src/cmds/l1/deploy_l1_contracts_cmd.ts +0 -1
  62. package/src/cmds/l1/deploy_new_rollup.ts +1 -3
  63. package/src/cmds/l1/index.ts +23 -4
  64. package/src/cmds/l1/update_l1_validators.ts +46 -21
  65. package/src/config/cached_fetch.ts +119 -31
  66. package/src/config/chain_l2_config.ts +35 -670
  67. package/src/config/generated/networks.ts +226 -0
  68. package/src/config/network_config.ts +7 -3
  69. package/src/utils/aztec.ts +12 -18
  70. package/src/utils/commands.ts +22 -9
  71. package/src/utils/inspect.ts +8 -6
@@ -0,0 +1,226 @@
1
+ // Auto-generated from spartan/environments/network-defaults.yml
2
+ // Do not edit manually - run yarn generate to regenerate
3
+
4
+ export const devnetConfig = {
5
+ ETHEREUM_SLOT_DURATION: 12,
6
+ AZTEC_SLOT_DURATION: 72,
7
+ AZTEC_TARGET_COMMITTEE_SIZE: 48,
8
+ AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
9
+ AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
10
+ AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000,
11
+ AZTEC_EXIT_DELAY_SECONDS: 172800,
12
+ AZTEC_INBOX_LAG: 1,
13
+ AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
14
+ AZTEC_MANA_TARGET: 100000000,
15
+ AZTEC_PROVING_COST_PER_MANA: 100,
16
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
17
+ AZTEC_SLASHER_ENABLED: true,
18
+ AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
19
+ AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
20
+ AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
21
+ AZTEC_SLASHING_VETOER: '0x0000000000000000000000000000000000000000',
22
+ AZTEC_SLASHING_DISABLE_DURATION: 432000,
23
+ AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
24
+ AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
25
+ AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
26
+ AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 300,
27
+ SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
28
+ SLASH_MAX_PAYLOAD_SIZE: 80,
29
+ SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
30
+ SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
31
+ P2P_ENABLED: true,
32
+ BOOTSTRAP_NODES: '',
33
+ SEQ_MIN_TX_PER_BLOCK: 1,
34
+ SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
35
+ SEQ_BLOCK_DURATION_MS: 6000,
36
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
37
+ DATA_STORE_MAP_SIZE_KB: 134217728,
38
+ ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
39
+ NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
40
+ NULLIFIER_TREE_MAP_SIZE_KB: 1073741824,
41
+ PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
42
+ PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
43
+ SENTINEL_ENABLED: true,
44
+ AZTEC_EPOCH_DURATION: 8,
45
+ AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 1,
46
+ AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 1,
47
+ AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 1,
48
+ L1_CHAIN_ID: 11155111,
49
+ TEST_ACCOUNTS: true,
50
+ SPONSORED_FPC: true,
51
+ TRANSACTIONS_DISABLED: false,
52
+ SEQ_MAX_TX_PER_BLOCK: 18,
53
+ PROVER_REAL_PROOFS: false,
54
+ PXE_PROVER_ENABLED: false,
55
+ SYNC_SNAPSHOTS_URLS: '',
56
+ SKIP_ARCHIVER_INITIAL_SYNC: false,
57
+ BLOB_ALLOW_EMPTY_SOURCES: false,
58
+ P2P_MAX_PENDING_TX_COUNT: 1000,
59
+ P2P_TX_POOL_DELETE_TXS_AFTER_REORG: false,
60
+ PUBLIC_OTEL_OPT_OUT: true,
61
+ PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
62
+ PUBLIC_OTEL_COLLECT_FROM: '',
63
+ SLASH_DATA_WITHHOLDING_PENALTY: 10000000000000000000,
64
+ SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.9,
65
+ SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
66
+ SLASH_INACTIVITY_PENALTY: 10000000000000000000,
67
+ SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
68
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
69
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
70
+ SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
71
+ SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 10000000000000000000,
72
+ SLASH_UNKNOWN_PENALTY: 10000000000000000000,
73
+ SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
74
+ SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
75
+ SLASH_GRACE_PERIOD_L2_SLOTS: 0,
76
+ ENABLE_VERSION_CHECK: true,
77
+ } as const;
78
+
79
+ export const testnetConfig = {
80
+ ETHEREUM_SLOT_DURATION: 12,
81
+ AZTEC_EPOCH_DURATION: 32,
82
+ AZTEC_TARGET_COMMITTEE_SIZE: 48,
83
+ AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
84
+ AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
85
+ AZTEC_EXIT_DELAY_SECONDS: 172800,
86
+ AZTEC_INBOX_LAG: 1,
87
+ AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
88
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
89
+ AZTEC_SLASHER_ENABLED: true,
90
+ AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
91
+ AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
92
+ AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
93
+ AZTEC_SLASHING_DISABLE_DURATION: 432000,
94
+ SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
95
+ SLASH_MAX_PAYLOAD_SIZE: 80,
96
+ SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
97
+ SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
98
+ P2P_ENABLED: true,
99
+ BOOTSTRAP_NODES: '',
100
+ SEQ_MIN_TX_PER_BLOCK: 1,
101
+ SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
102
+ SEQ_BLOCK_DURATION_MS: 6000,
103
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
104
+ DATA_STORE_MAP_SIZE_KB: 134217728,
105
+ ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
106
+ NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
107
+ NULLIFIER_TREE_MAP_SIZE_KB: 1073741824,
108
+ PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
109
+ PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
110
+ SENTINEL_ENABLED: true,
111
+ AZTEC_SLOT_DURATION: 72,
112
+ AZTEC_ACTIVATION_THRESHOLD: 2E+23,
113
+ AZTEC_EJECTION_THRESHOLD: 1E+23,
114
+ AZTEC_LOCAL_EJECTION_THRESHOLD: 1.99E+23,
115
+ AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 2,
116
+ AZTEC_SLASHING_VETOER: '0xdfe19Da6a717b7088621d8bBB66be59F2d78e924',
117
+ AZTEC_SLASHING_QUORUM: 33,
118
+ AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 100,
119
+ AZTEC_GOVERNANCE_PROPOSER_QUORUM: 60,
120
+ AZTEC_MANA_TARGET: 75000000,
121
+ AZTEC_PROVING_COST_PER_MANA: 25000000,
122
+ AZTEC_SLASH_AMOUNT_SMALL: 1E+23,
123
+ AZTEC_SLASH_AMOUNT_MEDIUM: 1E+23,
124
+ AZTEC_SLASH_AMOUNT_LARGE: 1E+23,
125
+ L1_CHAIN_ID: 11155111,
126
+ TEST_ACCOUNTS: false,
127
+ SPONSORED_FPC: false,
128
+ TRANSACTIONS_DISABLED: false,
129
+ SEQ_MAX_TX_PER_CHECKPOINT: 72,
130
+ PROVER_REAL_PROOFS: true,
131
+ P2P_MAX_PENDING_TX_COUNT: 1000,
132
+ P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
133
+ SLASH_DATA_WITHHOLDING_PENALTY: 10000000000000000000,
134
+ SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.9,
135
+ SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
136
+ SLASH_INACTIVITY_PENALTY: 10000000000000000000,
137
+ SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
138
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
139
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
140
+ SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
141
+ SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 10000000000000000000,
142
+ SLASH_UNKNOWN_PENALTY: 10000000000000000000,
143
+ SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
144
+ SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
145
+ SLASH_GRACE_PERIOD_L2_SLOTS: 64,
146
+ ENABLE_VERSION_CHECK: true,
147
+ } as const;
148
+
149
+ export const mainnetConfig = {
150
+ ETHEREUM_SLOT_DURATION: 12,
151
+ AZTEC_EPOCH_DURATION: 32,
152
+ AZTEC_TARGET_COMMITTEE_SIZE: 48,
153
+ AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
154
+ AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
155
+ AZTEC_INBOX_LAG: 1,
156
+ AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
157
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
158
+ AZTEC_SLASHER_ENABLED: true,
159
+ AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
160
+ AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
161
+ SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
162
+ SLASH_MAX_PAYLOAD_SIZE: 80,
163
+ SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
164
+ SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
165
+ P2P_ENABLED: true,
166
+ BOOTSTRAP_NODES: '',
167
+ SEQ_MIN_TX_PER_BLOCK: 1,
168
+ SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
169
+ SEQ_BLOCK_DURATION_MS: 6000,
170
+ SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
171
+ DATA_STORE_MAP_SIZE_KB: 134217728,
172
+ ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
173
+ NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
174
+ NULLIFIER_TREE_MAP_SIZE_KB: 1073741824,
175
+ PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
176
+ PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
177
+ SENTINEL_ENABLED: true,
178
+ AZTEC_SLOT_DURATION: 72,
179
+ AZTEC_ACTIVATION_THRESHOLD: 2E+23,
180
+ AZTEC_EJECTION_THRESHOLD: 1E+23,
181
+ AZTEC_LOCAL_EJECTION_THRESHOLD: 1.9E+23,
182
+ AZTEC_SLASH_AMOUNT_SMALL: 2E+21,
183
+ AZTEC_SLASH_AMOUNT_MEDIUM: 2E+21,
184
+ AZTEC_SLASH_AMOUNT_LARGE: 2E+21,
185
+ AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 34,
186
+ AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 28,
187
+ AZTEC_SLASHING_VETOER: '0xBbB4aF368d02827945748b28CD4b2D42e4A37480',
188
+ AZTEC_SLASHING_QUORUM: 65,
189
+ AZTEC_GOVERNANCE_PROPOSER_QUORUM: 600,
190
+ AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 1000,
191
+ AZTEC_MANA_TARGET: 75000000,
192
+ AZTEC_PROVING_COST_PER_MANA: 25000000,
193
+ AZTEC_EXIT_DELAY_SECONDS: 345600,
194
+ AZTEC_SLASHING_DISABLE_DURATION: 259200,
195
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE: 500,
196
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE: 500,
197
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN: 1,
198
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT: 400,
199
+ AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE: 4,
200
+ L1_CHAIN_ID: 1,
201
+ TEST_ACCOUNTS: false,
202
+ SPONSORED_FPC: false,
203
+ TRANSACTIONS_DISABLED: false,
204
+ SEQ_MAX_TX_PER_CHECKPOINT: 72,
205
+ PROVER_REAL_PROOFS: true,
206
+ BLOB_ALLOW_EMPTY_SOURCES: true,
207
+ P2P_MAX_PENDING_TX_COUNT: 1000,
208
+ P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
209
+ PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
210
+ PUBLIC_OTEL_COLLECT_FROM: '',
211
+ ENABLE_VERSION_CHECK: false,
212
+ SLASH_DATA_WITHHOLDING_PENALTY: 0,
213
+ SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.8,
214
+ SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
215
+ SLASH_INACTIVITY_PENALTY: 2E+21,
216
+ SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
217
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
218
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
219
+ SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY: 2E+21,
220
+ SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 2E+21,
221
+ SLASH_UNKNOWN_PENALTY: 2E+21,
222
+ SLASH_INVALID_BLOCK_PENALTY: 2E+21,
223
+ SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
224
+ SLASH_GRACE_PERIOD_L2_SLOTS: 1200,
225
+ } as const;
226
+
@@ -9,7 +9,6 @@ import { enrichEthAddressVar, enrichVar } from './enrich_env.js';
9
9
  const DEFAULT_CONFIG_URL =
10
10
  'https://raw.githubusercontent.com/AztecProtocol/networks/refs/heads/main/network_config.json';
11
11
  const FALLBACK_CONFIG_URL = 'https://metadata.aztec.network/network_config.json';
12
- const NETWORK_CONFIG_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour
13
12
 
14
13
  /**
15
14
  * Fetches remote network configuration from GitHub with caching support.
@@ -87,7 +86,6 @@ async function fetchNetworkConfigFromUrl(
87
86
 
88
87
  if (url.protocol === 'http:' || url.protocol === 'https:') {
89
88
  rawConfig = await cachedFetch(url.href, {
90
- cacheDurationMs: NETWORK_CONFIG_CACHE_DURATION_MS,
91
89
  cacheFile: cacheDir ? join(cacheDir, networkName, 'network_config.json') : undefined,
92
90
  });
93
91
  } else if (url.protocol === 'file:') {
@@ -111,7 +109,7 @@ async function fetchNetworkConfigFromUrl(
111
109
  /**
112
110
  * Enriches environment variables with remote network configuration.
113
111
  * This function is called before node config initialization to set env vars
114
- * from the remote config, following the same pattern as enrichEnvironmentWithChainConfig().
112
+ * from the remote config.
115
113
  *
116
114
  * @param networkName - The network name to fetch remote config for
117
115
  * @throws Error if network config fetch fails (network errors, parse errors, etc.)
@@ -141,7 +139,13 @@ export async function enrichEnvironmentWithNetworkConfig(networkName: NetworkNam
141
139
  if (networkConfig.blobFileStoreUrls?.length) {
142
140
  enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
143
141
  }
142
+ if (networkConfig.txCollectionFileStoreUrls?.length) {
143
+ enrichVar('TX_COLLECTION_FILE_STORE_URLS', networkConfig.txCollectionFileStoreUrls.join(','));
144
+ }
144
145
  if (networkConfig.blockDurationMs !== undefined) {
145
146
  enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
146
147
  }
148
+ if (networkConfig.txPublicSetupAllowListExtend) {
149
+ enrichVar('TX_PUBLIC_SETUP_ALLOWLIST', networkConfig.txPublicSetupAllowListExtend);
150
+ }
147
151
  }
@@ -49,7 +49,7 @@ export async function deployNewRollupContracts(
49
49
  feeJuicePortalInitialBalance: bigint,
50
50
  config: L1ContractsConfig,
51
51
  realVerifier: boolean,
52
- ): Promise<{ rollup: RollupContract; slashFactoryAddress: EthAddress }> {
52
+ ): Promise<{ rollup: RollupContract }> {
53
53
  const { deployRollupForUpgrade } = await import('@aztec/ethereum/deploy-aztec-l1-contracts');
54
54
  const { mnemonicToAccount, privateKeyToAccount } = await import('viem/accounts');
55
55
  const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
@@ -80,23 +80,17 @@ export async function deployNewRollupContracts(
80
80
  logger.info('Initializing new rollup with old attesters', { initialValidators });
81
81
  }
82
82
 
83
- const { rollup, slashFactoryAddress } = await deployRollupForUpgrade(
84
- privateKey as Hex,
85
- rpcUrls[0],
86
- chainId,
87
- registryAddress,
88
- {
89
- vkTreeRoot: getVKTreeRoot(),
90
- protocolContractsHash,
91
- genesisArchiveRoot,
92
- initialValidators,
93
- feeJuicePortalInitialBalance,
94
- realVerifier,
95
- ...config,
96
- },
97
- );
98
-
99
- return { rollup, slashFactoryAddress: EthAddress.fromString(slashFactoryAddress!) };
83
+ const { rollup } = await deployRollupForUpgrade(privateKey as Hex, rpcUrls[0], chainId, registryAddress, {
84
+ vkTreeRoot: getVKTreeRoot(),
85
+ protocolContractsHash,
86
+ genesisArchiveRoot,
87
+ initialValidators,
88
+ feeJuicePortalInitialBalance,
89
+ realVerifier,
90
+ ...config,
91
+ });
92
+
93
+ return { rollup };
100
94
  }
101
95
 
102
96
  /**
@@ -5,13 +5,15 @@ import type { PXE } from '@aztec/pxe/server';
5
5
  import { FunctionSelector } from '@aztec/stdlib/abi/function-selector';
6
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
7
  import { PublicKeys } from '@aztec/stdlib/keys';
8
- import { LogId } from '@aztec/stdlib/logs/log-id';
8
+ import { LogCursor, Tag } from '@aztec/stdlib/logs';
9
9
  import { TxHash } from '@aztec/stdlib/tx/tx-hash';
10
10
 
11
11
  import { type Command, CommanderError, InvalidArgumentError, Option } from 'commander';
12
12
  import { lookup } from 'dns/promises';
13
13
  import { rename, writeFile } from 'fs/promises';
14
14
 
15
+ export { LogCursor };
16
+
15
17
  /**
16
18
  * If we can successfully resolve 'host.docker.internal', then we are running in a container, and we should treat
17
19
  * localhost as being host.docker.internal.
@@ -227,16 +229,27 @@ export function parseOptionalAztecAddress(address: string): AztecAddress | undef
227
229
  }
228
230
 
229
231
  /**
230
- * Parses an optional log ID string into a LogId object.
231
- *
232
- * @param logId - The log ID string to parse.
233
- * @returns The parsed LogId object, or undefined if the log ID is missing or empty.
232
+ * Parses an optional `<blockNumber>-<txIndexWithinBlock>-<logIndexWithinTx>` triple into a {@link LogCursor},
233
+ * used as the `--after-log` argument of `get-logs` to resume pagination strictly after a previously-seen log.
234
+ * Thin wrapper over {@link LogCursor.parseOptional} that surfaces parse errors as commander's
235
+ * {@link InvalidArgumentError}.
234
236
  */
235
- export function parseOptionalLogId(logId: string): LogId | undefined {
236
- if (!logId) {
237
- return undefined;
237
+ export function parseOptionalLogCursor(value: string): LogCursor | undefined {
238
+ try {
239
+ return LogCursor.parseOptional(value);
240
+ } catch (err) {
241
+ throw new InvalidArgumentError(err instanceof Error ? err.message : String(err));
238
242
  }
239
- return LogId.fromString(logId);
243
+ }
244
+
245
+ /**
246
+ * Parses a log tag from a string. Tags are field-element values; we delegate to the {@link parseField} parser.
247
+ *
248
+ * @param tag - A hex string, integer, or boolean string representing the tag.
249
+ * @returns A {@link Tag} wrapping the parsed field.
250
+ */
251
+ export function parseTag(tag: string): Tag {
252
+ return new Tag(parseField(tag));
240
253
  }
241
254
 
242
255
  /**
@@ -9,14 +9,13 @@ export async function inspectBlock(
9
9
  log: LogFn,
10
10
  opts: { showTxs?: boolean } = {},
11
11
  ) {
12
- const block = await aztecNode.getBlock(blockNumber);
12
+ const block = await aztecNode.getBlock(blockNumber, { includeTransactions: opts.showTxs });
13
13
  if (!block) {
14
14
  log(`No block found for block number ${blockNumber}`);
15
15
  return;
16
16
  }
17
17
 
18
- const blockHash = await block.hash();
19
- log(`Block ${blockNumber} (${blockHash.toString()})`);
18
+ log(`Block ${blockNumber} (${block.hash.toString()})`);
20
19
  log(` Total fees: ${block.header.totalFees.toBigInt()}`);
21
20
  log(` Total mana used: ${block.header.totalManaUsed.toBigInt()}`);
22
21
  log(
@@ -25,12 +24,12 @@ export async function inspectBlock(
25
24
  log(` Coinbase: ${block.header.globalVariables.coinbase}`);
26
25
  log(` Fee recipient: ${block.header.globalVariables.feeRecipient}`);
27
26
  log(` Timestamp: ${new Date(Number(block.header.globalVariables.timestamp) * 500)}`);
28
- if (opts.showTxs) {
27
+ if (opts.showTxs && block.body) {
29
28
  log(``);
30
29
  for (const txHash of block.body.txEffects.map(tx => tx.txHash)) {
31
30
  await inspectTx(aztecNode, txHash, log, { includeBlockInfo: false });
32
31
  }
33
- } else {
32
+ } else if (block.body) {
34
33
  log(` Transactions: ${block.body.txEffects.length}`);
35
34
  }
36
35
  }
@@ -44,7 +43,10 @@ export async function inspectTx(
44
43
  const [receipt, effectsInBlock] = await Promise.all([aztecNode.getTxReceipt(txHash), aztecNode.getTxEffect(txHash)]);
45
44
  // Base tx data
46
45
  log(`Tx ${txHash.toString()}`);
47
- log(` Status: ${receipt.status} ${effectsInBlock ? `(${effectsInBlock.data.revertCode.getDescription()})` : ''}`);
46
+ log(` Status: ${receipt.status}`);
47
+ if (receipt.executionResult) {
48
+ log(` Execution result: ${receipt.executionResult}`);
49
+ }
48
50
  if (receipt.error) {
49
51
  log(` Error: ${receipt.error}`);
50
52
  }