@aztec/aztec 3.0.0-nightly.20250905 → 4.0.0-nightly.20250907

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.
@@ -1 +1 @@
1
- {"version":3,"file":"aztec_start_action.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_action.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAY3D,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAyGjF"}
1
+ {"version":3,"file":"aztec_start_action.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_action.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAY3D,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAsGjF"}
@@ -75,9 +75,6 @@ export async function aztecStart(options, userLog, debugLogger) {
75
75
  } else if (options.sequencer) {
76
76
  userLog(`Cannot run a standalone sequencer without a node`);
77
77
  process.exit(1);
78
- } else if (options.faucet) {
79
- const { startFaucet } = await import('./cmds/start_faucet.js');
80
- await startFaucet(options, signalHandlers, services, userLog);
81
78
  } else {
82
79
  userLog(`No module specified to start`);
83
80
  process.exit(1);
@@ -4,7 +4,7 @@ export interface AztecStartOption {
4
4
  description: string;
5
5
  defaultValue: any;
6
6
  printDefault?: (val: any) => string;
7
- envVar: EnvVar | undefined;
7
+ env: EnvVar | undefined;
8
8
  fallback?: EnvVar[];
9
9
  parseVal?: (val: string) => any;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aztec_start_options.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_options.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAKZ,MAAM,0BAA0B,CAAC;AAelC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC;AAED,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,EAAE,gBAAgB,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,uBAoB1F,CAAC;AAGF,eAAO,MAAM,gBAAgB,UAU5B,CAAC;AAEF,eAAO,MAAM,YAAY,YAAY,CAAC;AAGtC,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CA0WlE,CAAC"}
1
+ {"version":3,"file":"aztec_start_options.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_options.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAIZ,MAAM,0BAA0B,CAAC;AAclC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC;AAED,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,EAAE,gBAAgB,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,uBAoB1F,CAAC;AAuBF,eAAO,MAAM,gBAAgB,UAW5B,CAAC;AAEF,eAAO,MAAM,YAAY,YAAY,CAAC;AAGtC,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAqOlE,CAAC"}
@@ -1,14 +1,19 @@
1
1
  import { archiverConfigMappings } from '@aztec/archiver/config';
2
- import { faucetConfigMapping } from '@aztec/aztec-faucet/config';
3
2
  import { sequencerClientConfigMappings } from '@aztec/aztec-node/config';
4
3
  import { blobSinkConfigMappings } from '@aztec/blob-sink/server';
5
4
  import { botConfigMappings } from '@aztec/bot/config';
6
- import { SecretValue, booleanConfigHelper, isBooleanConfigValue, omitConfigMappings } from '@aztec/foundation/config';
5
+ import { l1ContractAddressesMapping, l1ContractsConfigMappings, l1ReaderConfigMappings } from '@aztec/ethereum';
6
+ import { getKeys } from '@aztec/foundation/collection';
7
+ import { booleanConfigHelper, isBooleanConfigValue, omitConfigMappings } from '@aztec/foundation/config';
8
+ import { dataConfigMappings } from '@aztec/kv-store/config';
9
+ import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
7
10
  import { bootnodeConfigMappings, p2pConfigMappings } from '@aztec/p2p/config';
8
11
  import { proverAgentConfigMappings, proverBrokerConfigMappings } from '@aztec/prover-client/broker';
9
12
  import { proverNodeConfigMappings } from '@aztec/prover-node/config';
10
13
  import { allPxeConfigMappings } from '@aztec/pxe/config';
14
+ import { chainConfigMappings } from '@aztec/stdlib/config';
11
15
  import { telemetryClientConfigMappings } from '@aztec/telemetry-client';
16
+ import { worldStateConfigMappings } from '@aztec/world-state';
12
17
  import { DefaultMnemonic } from '../mnemonic.js';
13
18
  export const getOptions = (namespace, configMappings)=>{
14
19
  const options = [];
@@ -22,24 +27,41 @@ export const getOptions = (namespace, configMappings)=>{
22
27
  description,
23
28
  defaultValue: def,
24
29
  printDefault,
25
- envVar: env,
30
+ env: env,
26
31
  fallback,
27
32
  parseVal: parseEnv
28
33
  });
29
34
  }
30
35
  return options;
31
36
  };
37
+ const configToFlag = (flag, configMapping, overrideDefaultValue)=>{
38
+ if (!configMapping.isBoolean) {
39
+ flag += ' <value>';
40
+ }
41
+ const flagConfig = {
42
+ flag,
43
+ env: undefined,
44
+ defaultValue: undefined,
45
+ parseVal: configMapping.parseEnv,
46
+ ...configMapping
47
+ };
48
+ if (overrideDefaultValue !== undefined) {
49
+ flagConfig.defaultValue = overrideDefaultValue;
50
+ }
51
+ return flagConfig;
52
+ };
32
53
  // These are options used by multiple modules so should be inputted once
33
54
  export const universalOptions = [
34
- 'l1RpcUrls',
35
55
  'l1ConsensusHostUrls',
36
56
  'l1ConsensusHostApiKeys',
37
57
  'l1ConsensusHostApiKeyHeaders',
38
- 'l1ChainId',
39
- 'l1Contracts',
40
58
  'p2pEnabled',
41
- 'dataDirectory',
42
- 'dataStoreMapSizeKb'
59
+ ...getKeys(chainConfigMappings),
60
+ ...getKeys(l1ContractsConfigMappings),
61
+ ...getKeys(l1ContractAddressesMapping),
62
+ ...getKeys(l1ReaderConfigMappings),
63
+ ...getKeys(dataConfigMappings),
64
+ ...getKeys(worldStateConfigMappings)
43
65
  ];
44
66
  export const NETWORK_FLAG = 'network';
45
67
  // Define categories and options
@@ -49,44 +71,36 @@ export const aztecStartOptions = {
49
71
  flag: `--${NETWORK_FLAG} <value>`,
50
72
  description: 'Network to run Aztec on',
51
73
  defaultValue: undefined,
52
- envVar: 'NETWORK'
53
- },
54
- {
55
- flag: `--auto-update <value>`,
56
- description: 'Configure auto updates',
57
- envVar: 'AUTO_UPDATE',
58
- defaultValue: 'disabled'
74
+ env: 'NETWORK'
59
75
  },
60
- {
61
- flag: `--auto-update-url <value>`,
62
- description: 'Configure where to get updates from',
63
- envVar: 'AUTO_UPDATE_URL',
64
- defaultValue: undefined
65
- }
76
+ configToFlag('--auto-update', sharedNodeConfigMappings.autoUpdate),
77
+ configToFlag('--auto-update-url', sharedNodeConfigMappings.autoUpdateUrl),
78
+ configToFlag('--sync-mode', sharedNodeConfigMappings.syncMode),
79
+ configToFlag('--snapshots-url', sharedNodeConfigMappings.snapshotsUrl)
66
80
  ],
67
81
  SANDBOX: [
68
82
  {
69
83
  flag: '--sandbox',
70
84
  description: 'Starts Aztec Sandbox',
71
85
  defaultValue: undefined,
72
- envVar: undefined
86
+ env: undefined
73
87
  },
74
88
  {
75
89
  flag: '--sandbox.noPXE',
76
90
  description: 'Do not expose PXE service on sandbox start',
77
- envVar: 'NO_PXE',
91
+ env: 'NO_PXE',
78
92
  ...booleanConfigHelper()
79
93
  },
80
94
  {
81
95
  flag: '--sandbox.l1Mnemonic <value>',
82
96
  description: 'Mnemonic for L1 accounts. Will be used ',
83
97
  defaultValue: DefaultMnemonic,
84
- envVar: 'MNEMONIC'
98
+ env: 'MNEMONIC'
85
99
  },
86
100
  {
87
101
  flag: '--sandbox.deployAztecContractsSalt <value>',
88
102
  description: 'Numeric salt for deploying L1 Aztec contracts before starting the sandbox. Needs mnemonic or private key to be set.',
89
- envVar: 'DEPLOY_AZTEC_CONTRACTS_SALT',
103
+ env: 'DEPLOY_AZTEC_CONTRACTS_SALT',
90
104
  defaultValue: undefined,
91
105
  parseVal: (val)=>val ? parseInt(val) : undefined
92
106
  }
@@ -96,120 +110,46 @@ export const aztecStartOptions = {
96
110
  flag: '--port <value>',
97
111
  description: 'Port to run the Aztec Services on',
98
112
  defaultValue: 8080,
99
- envVar: 'AZTEC_PORT',
113
+ env: 'AZTEC_PORT',
100
114
  parseVal: (val)=>parseInt(val, 10)
101
115
  },
102
116
  {
103
117
  flag: '--admin-port <value>',
104
118
  description: 'Port to run admin APIs of Aztec Services on on',
105
119
  defaultValue: 8880,
106
- envVar: 'AZTEC_ADMIN_PORT',
120
+ env: 'AZTEC_ADMIN_PORT',
107
121
  parseVal: (val)=>parseInt(val, 10)
108
122
  },
109
123
  {
110
124
  flag: '--api-prefix <value>',
111
125
  description: 'Prefix for API routes on any service that is started',
112
126
  defaultValue: '',
113
- envVar: 'API_PREFIX'
127
+ env: 'API_PREFIX'
114
128
  }
115
129
  ],
116
130
  ETHEREUM: [
117
- {
118
- flag: '--l1-rpc-urls <value>',
119
- description: 'List of URLs of the Ethereum RPC nodes that services will connect to (comma separated)',
120
- defaultValue: [
121
- 'http://localhost:8545'
122
- ],
123
- envVar: 'ETHEREUM_HOSTS',
124
- parseVal: (val)=>val.split(',').map((url)=>url.trim())
125
- },
126
- {
127
- flag: '--l1-chain-id <value>',
128
- description: 'The L1 chain ID',
129
- defaultValue: 31337,
130
- envVar: 'L1_CHAIN_ID',
131
- parseVal: (val)=>parseInt(val, 10)
132
- },
133
- {
134
- flag: '--l1-consensus-host-urls <value>',
135
- description: 'List of URLs of the Ethereum consensus nodes that services will connect to (comma separated)',
136
- defaultValue: [],
137
- envVar: 'L1_CONSENSUS_HOST_URLS',
138
- parseVal: (val)=>val.split(',').map((url)=>url.trim().replace(/\/$/, ''))
139
- },
140
- {
141
- flag: '--l1-consensus-host-api-keys <value>',
142
- description: 'List of API keys for the corresponding Ethereum consensus nodes',
143
- defaultValue: [],
144
- envVar: 'L1_CONSENSUS_HOST_API_KEYS',
145
- parseVal: (val)=>val.split(',').map((key)=>new SecretValue(key))
146
- },
147
- {
148
- flag: '--l1-consensus-host-api-key-headers <value>',
149
- description: 'List of API key headers for the corresponding Ethereum consensus nodes. If not set, the api key for the corresponding node will be appended to the URL as ?key=<api-key>',
150
- defaultValue: [],
151
- envVar: 'L1_CONSENSUS_HOST_API_KEY_HEADERS',
152
- parseVal: (val)=>val.split(',').map((url)=>url.trim())
153
- }
131
+ configToFlag('--l1-chain-id', l1ReaderConfigMappings.l1ChainId),
132
+ // Do not set default for CLI: keep undefined unless provided via flag or env
133
+ configToFlag('--l1-rpc-urls', {
134
+ ...l1ReaderConfigMappings.l1RpcUrls,
135
+ defaultValue: undefined
136
+ }),
137
+ configToFlag('--l1-consensus-host-urls', blobSinkConfigMappings.l1ConsensusHostUrls),
138
+ configToFlag('--l1-consensus-host-api-keys', blobSinkConfigMappings.l1ConsensusHostApiKeys),
139
+ configToFlag('--l1-consensus-host-api-key-headers', blobSinkConfigMappings.l1ConsensusHostApiKeyHeaders)
140
+ ],
141
+ 'L1 CONTRACTS': [
142
+ configToFlag('--registry-address', l1ContractAddressesMapping.registryAddress),
143
+ configToFlag('--rollup-version', chainConfigMappings.rollupVersion, 'canonical')
154
144
  ],
155
145
  STORAGE: [
156
- {
157
- flag: '--data-directory <value>',
158
- description: 'Where to store data for services. If not set, will store temporarily',
159
- defaultValue: undefined,
160
- envVar: 'DATA_DIRECTORY'
161
- },
162
- {
163
- flag: '--data-store-map-size-kb <value>',
164
- description: 'The maximum possible size of the data store DB in KB. Can be overridden by component-specific options.',
165
- defaultValue: undefined,
166
- envVar: 'DATA_STORE_MAP_SIZE_KB',
167
- parseVal: (val)=>parseInt(val, 10)
168
- }
146
+ configToFlag('--data-directory', dataConfigMappings.dataDirectory),
147
+ configToFlag('--data-store-map-size-kb', dataConfigMappings.dataStoreMapSizeKB)
169
148
  ],
170
- 'L1 CONTRACT ADDRESSES': [
171
- {
172
- flag: '--rollup-address <value>',
173
- description: 'The deployed L1 rollup contract address',
174
- defaultValue: undefined,
175
- envVar: 'ROLLUP_CONTRACT_ADDRESS'
176
- },
177
- {
178
- flag: '--registry-address <value>',
179
- description: 'The deployed L1 registry contract address',
180
- defaultValue: undefined,
181
- envVar: 'REGISTRY_CONTRACT_ADDRESS'
182
- },
183
- {
184
- flag: '--inbox-address <value>',
185
- description: 'The deployed L1 -> L2 inbox contract address',
186
- defaultValue: undefined,
187
- envVar: 'INBOX_CONTRACT_ADDRESS'
188
- },
189
- {
190
- flag: '--outbox-address <value>',
191
- description: 'The deployed L2 -> L1 outbox contract address',
192
- defaultValue: undefined,
193
- envVar: 'OUTBOX_CONTRACT_ADDRESS'
194
- },
195
- {
196
- flag: '--fee-juice-address <value>',
197
- description: 'The deployed L1 Fee Juice contract address',
198
- defaultValue: undefined,
199
- envVar: 'FEE_JUICE_CONTRACT_ADDRESS'
200
- },
201
- {
202
- flag: '--staking-asset-address <value>',
203
- description: 'The deployed L1 Staking Asset contract address',
204
- defaultValue: undefined,
205
- envVar: 'STAKING_ASSET_CONTRACT_ADDRESS'
206
- },
207
- {
208
- flag: '--fee-juice-portal-address <value>',
209
- description: 'The deployed L1 Fee Juice portal contract address',
210
- defaultValue: undefined,
211
- envVar: 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS'
212
- }
149
+ 'WORLD STATE': [
150
+ configToFlag('--world-state-data-directory', worldStateConfigMappings.worldStateDataDirectory),
151
+ configToFlag('--world-state-db-map-size-kb', worldStateConfigMappings.worldStateDbMapSizeKb),
152
+ configToFlag('--world-state-block-history', worldStateConfigMappings.worldStateBlockHistory)
213
153
  ],
214
154
  // We can't easily auto-generate node options as they're parts of modules defined below
215
155
  'AZTEC NODE': [
@@ -217,87 +157,38 @@ export const aztecStartOptions = {
217
157
  flag: '--node',
218
158
  description: 'Starts Aztec Node with options',
219
159
  defaultValue: undefined,
220
- envVar: undefined
221
- },
222
- {
223
- flag: '--node.archiverUrl <value>',
224
- description: 'URL for an archiver service',
225
- defaultValue: undefined,
226
- envVar: 'ARCHIVER_URL'
227
- },
228
- {
229
- flag: '--node.assumeProvenThroughBlockNumber <value>',
230
- description: 'Cheats the rollup contract into assuming every block until this one is proven. Useful for speeding up bootstraps.',
231
- envVar: 'ASSUME_PROVEN_THROUGH_BLOCK_NUMBER',
232
- parseVal: (val)=>parseInt(val, 10),
233
- defaultValue: 0
234
- },
235
- {
236
- flag: '--node.worldStateBlockCheckIntervalMS <value>',
237
- description: 'Frequency in which to check for blocks in ms',
238
- defaultValue: 100,
239
- envVar: 'WS_BLOCK_CHECK_INTERVAL_MS',
240
- parseVal: (val)=>parseInt(val, 10)
241
- },
242
- {
243
- flag: '--node.syncMode <value>',
244
- description: 'Set sync mode to `full` to always sync via L1, `snapshot` to download a snapshot if there is no local data, `force-snapshot` to download even if there is local data.',
245
- defaultValue: 'snapshot',
246
- envVar: 'SYNC_MODE'
247
- },
248
- {
249
- flag: '--node.snapshotsUrl <value>',
250
- description: 'Base URL for downloading snapshots for snapshot sync.',
251
- defaultValue: undefined,
252
- envVar: 'SYNC_SNAPSHOTS_URL'
160
+ env: undefined
253
161
  }
254
162
  ],
255
- 'P2P SUBSYSTEM': [
256
- {
257
- flag: '--p2p-enabled [value]',
258
- description: 'Enable P2P subsystem',
259
- envVar: 'P2P_ENABLED',
260
- ...booleanConfigHelper()
261
- },
262
- ...getOptions('p2p', p2pConfigMappings)
263
- ],
264
- TELEMETRY: [
265
- ...getOptions('tel', telemetryClientConfigMappings)
266
- ],
267
- PXE: [
268
- {
269
- flag: '--pxe',
270
- description: 'Starts Aztec PXE with options',
271
- defaultValue: undefined,
272
- envVar: undefined
273
- },
274
- ...getOptions('pxe', allPxeConfigMappings)
275
- ],
276
163
  ARCHIVER: [
277
164
  {
278
165
  flag: '--archiver',
279
166
  description: 'Starts Aztec Archiver with options',
280
167
  defaultValue: undefined,
281
- envVar: undefined
168
+ env: undefined
282
169
  },
283
- // filter out archiverUrl as it's passed separately in --node & --prover-node
284
- ...getOptions('archiver', archiverConfigMappings).filter((opt)=>!opt.flag.includes('archiverUrl'))
170
+ ...getOptions('archiver', omitConfigMappings(archiverConfigMappings, Object.keys(l1ContractsConfigMappings)))
285
171
  ],
286
172
  SEQUENCER: [
287
173
  {
288
174
  flag: '--sequencer',
289
175
  description: 'Starts Aztec Sequencer with options',
290
176
  defaultValue: undefined,
291
- envVar: undefined
177
+ env: undefined
292
178
  },
293
- ...getOptions('sequencer', sequencerClientConfigMappings)
179
+ ...getOptions('sequencer', omitConfigMappings(sequencerClientConfigMappings, [
180
+ 'fakeProcessingDelayPerTxMs',
181
+ 'skipCollectingAttestations',
182
+ 'skipInvalidateBlockAsProposer',
183
+ 'blobSinkMapSizeKb'
184
+ ]))
294
185
  ],
295
186
  'BLOB SINK': [
296
187
  {
297
188
  flag: '--blob-sink',
298
189
  description: 'Starts Aztec Blob Sink with options',
299
190
  defaultValue: undefined,
300
- envVar: undefined
191
+ env: undefined
301
192
  },
302
193
  ...getOptions('blobSink', blobSinkConfigMappings)
303
194
  ],
@@ -306,20 +197,16 @@ export const aztecStartOptions = {
306
197
  flag: '--prover-node',
307
198
  description: 'Starts Aztec Prover Node with options',
308
199
  defaultValue: undefined,
309
- envVar: undefined
310
- },
311
- {
312
- flag: '--proverNode.archiverUrl <value>',
313
- description: 'URL for an archiver service',
314
- defaultValue: undefined,
315
- envVar: 'ARCHIVER_URL'
200
+ env: undefined
316
201
  },
317
202
  ...getOptions('proverNode', omitConfigMappings(proverNodeConfigMappings, [
318
203
  // filter out options passed separately
319
- ...Object.keys(archiverConfigMappings),
320
- ...Object.keys(proverBrokerConfigMappings),
321
- ...Object.keys(proverAgentConfigMappings),
322
- ...Object.keys(p2pConfigMappings)
204
+ ...getKeys(archiverConfigMappings),
205
+ ...getKeys(proverBrokerConfigMappings),
206
+ ...getKeys(proverAgentConfigMappings),
207
+ ...getKeys(p2pConfigMappings),
208
+ ...getKeys(worldStateConfigMappings),
209
+ ...getKeys(sharedNodeConfigMappings)
323
210
  ]))
324
211
  ],
325
212
  'PROVER BROKER': [
@@ -327,7 +214,7 @@ export const aztecStartOptions = {
327
214
  flag: '--prover-broker',
328
215
  description: 'Starts Aztec proving job broker',
329
216
  defaultValue: undefined,
330
- envVar: undefined
217
+ env: undefined
331
218
  },
332
219
  ...getOptions('proverBroker', // filter out archiver options from prover node options as they're passed separately in --archiver
333
220
  proverBrokerConfigMappings)
@@ -337,16 +224,25 @@ export const aztecStartOptions = {
337
224
  flag: '--prover-agent',
338
225
  description: 'Starts Aztec Prover Agent with options',
339
226
  defaultValue: undefined,
340
- envVar: undefined
227
+ env: undefined
341
228
  },
342
229
  ...getOptions('proverAgent', proverAgentConfigMappings)
343
230
  ],
231
+ 'P2P SUBSYSTEM': [
232
+ {
233
+ flag: '--p2p-enabled [value]',
234
+ description: 'Enable P2P subsystem',
235
+ env: 'P2P_ENABLED',
236
+ ...booleanConfigHelper()
237
+ },
238
+ ...getOptions('p2p', p2pConfigMappings)
239
+ ],
344
240
  'P2P BOOTSTRAP': [
345
241
  {
346
242
  flag: '--p2p-bootstrap',
347
243
  description: 'Starts Aztec P2P Bootstrap with options',
348
244
  defaultValue: undefined,
349
- envVar: undefined
245
+ env: undefined
350
246
  },
351
247
  ...getOptions('p2pBootstrap', omitConfigMappings(bootnodeConfigMappings, [
352
248
  'p2pIp',
@@ -356,43 +252,33 @@ export const aztecStartOptions = {
356
252
  'listenAddress'
357
253
  ]))
358
254
  ],
255
+ TELEMETRY: [
256
+ ...getOptions('tel', telemetryClientConfigMappings)
257
+ ],
359
258
  BOT: [
360
259
  {
361
260
  flag: '--bot',
362
261
  description: 'Starts Aztec Bot with options',
363
262
  defaultValue: undefined,
364
- envVar: undefined
263
+ env: undefined
365
264
  },
366
265
  ...getOptions('bot', botConfigMappings)
367
266
  ],
267
+ PXE: [
268
+ {
269
+ flag: '--pxe',
270
+ description: 'Starts Aztec PXE with options',
271
+ defaultValue: undefined,
272
+ env: undefined
273
+ },
274
+ ...getOptions('pxe', allPxeConfigMappings)
275
+ ],
368
276
  TXE: [
369
277
  {
370
278
  flag: '--txe',
371
279
  description: 'Starts Aztec TXE with options',
372
280
  defaultValue: undefined,
373
- envVar: undefined
281
+ env: undefined
374
282
  }
375
- ],
376
- FAUCET: [
377
- {
378
- flag: '--faucet',
379
- description: 'Starts the Aztec faucet',
380
- defaultValue: undefined,
381
- envVar: undefined
382
- },
383
- {
384
- flag: '--faucet.apiServer',
385
- description: 'Starts a simple HTTP server to access the faucet',
386
- defaultValue: true,
387
- envVar: undefined
388
- },
389
- {
390
- flag: '--faucet.apiServerPort <value>',
391
- description: 'The port on which to start the api server on',
392
- defaultValue: 8080,
393
- envVar: undefined,
394
- parseVal: (val)=>parseInt(val, 10)
395
- },
396
- ...getOptions('faucet', faucetConfigMapping)
397
283
  ]
398
284
  };
@@ -66,7 +66,7 @@ export const alphaTestnetL2ChainConfig = {
66
66
  autoUpdateUrl: 'https://storage.googleapis.com/aztec-testnet/auto-update/alpha-testnet.json',
67
67
  maxTxPoolSize: 100_000_000,
68
68
  publicIncludeMetrics,
69
- publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec.network/v1/metrics',
69
+ publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
70
70
  publicMetricsCollectFrom: [
71
71
  'sequencer'
72
72
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"start_node.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAA6C,MAAM,mBAAmB,CAAC;AAKpG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAmBnD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,aAAa,EAAE,qBAAqB,EACpC,OAAO,EAAE,KAAK,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC,CAsItC"}
1
+ {"version":3,"file":"start_node.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAA6C,MAAM,mBAAmB,CAAC;AAKpG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAmBnD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,aAAa,EAAE,qBAAqB,EACpC,OAAO,EAAE,KAAK,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC,CA4HtC"}
@@ -52,15 +52,6 @@ export async function startNode(options, signalHandlers, services, adminServices
52
52
  },
53
53
  ...config
54
54
  };
55
- if (!options.archiver) {
56
- // expect archiver url in node config
57
- const archiverUrl = nodeConfig.archiverUrl;
58
- if (!archiverUrl) {
59
- userLog('Archiver Service URL is required to start Aztec Node without --archiver option');
60
- throw new Error('Archiver Service URL is required to start Aztec Node without --archiver option');
61
- }
62
- nodeConfig.archiverUrl = archiverUrl;
63
- }
64
55
  if (!options.sequencer) {
65
56
  nodeConfig.disableValidator = true;
66
57
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"start_prover_node.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_prover_node.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,oBAAoB,CAAC;AAU5B,wBAAsB,eAAe,CACnC,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,KAAK,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC,CA+FvC"}
1
+ {"version":3,"file":"start_prover_node.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_prover_node.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,oBAAoB,CAAC;AAU5B,wBAAsB,eAAe,CACnC,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,KAAK,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC,CA0FvC"}
@@ -21,12 +21,8 @@ export async function startProverNode(options, signalHandlers, services, userLog
21
21
  ...getProverNodeConfigFromEnv(),
22
22
  ...extractRelevantOptions(options, proverNodeConfigMappings, 'proverNode')
23
23
  };
24
- if (!options.archiver && !proverConfig.archiverUrl) {
25
- userLog('--archiver.archiverUrl is required to start a Prover Node without --archiver option');
26
- process.exit(1);
27
- }
28
24
  if (!proverConfig.l1Contracts.registryAddress || proverConfig.l1Contracts.registryAddress.isZero()) {
29
- throw new Error('L1 registry address is required to start a Prover Node with --archiver option');
25
+ throw new Error('L1 registry address is required to start a Prover Node');
30
26
  }
31
27
  const followsCanonicalRollup = typeof proverConfig.rollupVersion !== 'number';
32
28
  const { addresses, config } = await getL1Config(proverConfig.l1Contracts.registryAddress, proverConfig.l1RpcUrls, proverConfig.l1ChainId, proverConfig.rollupVersion);
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/cli/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/cli/util.ts"],"names":[],"mappings":"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"}
package/dest/cli/util.js CHANGED
@@ -112,8 +112,8 @@ export function formatHelpLine(option, defaultValue, envVar, maxOptionLength, ma
112
112
  const getDefaultOrEnvValue = (opt)=>{
113
113
  let val;
114
114
  // if the option is set in the environment, use that
115
- if (opt.envVar) {
116
- val = process.env[opt.envVar];
115
+ if (opt.env) {
116
+ val = process.env[opt.env];
117
117
  }
118
118
  // if we have fallback env vars, check those
119
119
  if (!val && opt.fallback && opt.fallback.length > 0) {
@@ -130,7 +130,7 @@ const getDefaultOrEnvValue = (opt)=>{
130
130
  return opt.parseVal(val);
131
131
  }
132
132
  return val;
133
- } else if (opt.defaultValue) {
133
+ } else if (opt.defaultValue !== undefined) {
134
134
  return opt.defaultValue;
135
135
  }
136
136
  return undefined;
@@ -138,7 +138,7 @@ const getDefaultOrEnvValue = (opt)=>{
138
138
  // Function to add options dynamically
139
139
  export const addOptions = (cmd, options)=>{
140
140
  options.forEach((opt)=>{
141
- cmd.option(opt.flag, `${opt.description} (default: ${opt.defaultValue}) ($${opt.envVar})`, opt.parseVal ? opt.parseVal : (val)=>val, getDefaultOrEnvValue(opt));
141
+ cmd.option(opt.flag, `${opt.description} (default: ${opt.defaultValue}) ($${opt.env})`, opt.parseVal ? opt.parseVal : (val)=>val, getDefaultOrEnvValue(opt));
142
142
  });
143
143
  };
144
144
  export const printAztecStartHelpText = ()=>{
@@ -150,8 +150,8 @@ export const printAztecStartHelpText = ()=>{
150
150
  helpTextLines.push(chalk.bold.blue(` ${category}`));
151
151
  helpTextLines.push('');
152
152
  aztecStartOptions[category].forEach((opt)=>{
153
- const defaultValueText = opt.defaultValue ? `(default: ${opt.printDefault ? opt.printDefault(opt.defaultValue) : opt.defaultValue})` : '';
154
- const envVarText = opt.envVar ? `($${opt.envVar})` : '';
153
+ const defaultValueText = opt.defaultValue || Array.isArray(opt.defaultValue) && opt.defaultValue.length > 0 ? `(default: ${opt.printDefault ? opt.printDefault(opt.defaultValue) : opt.defaultValue})` : '';
154
+ const envVarText = opt.env ? `($${opt.env})` : '';
155
155
  const flagText = `${opt.flag}`;
156
156
  const paddedText = formatHelpLine(flagText, defaultValueText, envVarText, maxFlagLength, maxDefaultLength);
157
157
  helpTextLines.push(` ${paddedText}`);