@aztec/aztec 3.0.0-canary.a9708bd → 3.0.0-devnet.2

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 (95) hide show
  1. package/dest/bin/index.js +7 -9
  2. package/dest/cli/aztec_start_action.d.ts.map +1 -1
  3. package/dest/cli/aztec_start_action.js +2 -17
  4. package/dest/cli/aztec_start_options.d.ts +1 -1
  5. package/dest/cli/aztec_start_options.d.ts.map +1 -1
  6. package/dest/cli/aztec_start_options.js +105 -225
  7. package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
  8. package/dest/cli/cmds/start_archiver.js +3 -3
  9. package/dest/cli/cmds/start_blob_sink.d.ts.map +1 -1
  10. package/dest/cli/cmds/start_blob_sink.js +1 -1
  11. package/dest/cli/cmds/start_bot.d.ts +3 -6
  12. package/dest/cli/cmds/start_bot.d.ts.map +1 -1
  13. package/dest/cli/cmds/start_bot.js +24 -13
  14. package/dest/cli/cmds/start_node.d.ts.map +1 -1
  15. package/dest/cli/cmds/start_node.js +9 -26
  16. package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
  17. package/dest/cli/cmds/start_prover_agent.js +10 -1
  18. package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
  19. package/dest/cli/cmds/start_prover_broker.js +7 -2
  20. package/dest/cli/cmds/start_prover_node.d.ts.map +1 -1
  21. package/dest/cli/cmds/start_prover_node.js +14 -9
  22. package/dest/cli/util.d.ts +6 -4
  23. package/dest/cli/util.d.ts.map +1 -1
  24. package/dest/cli/util.js +10 -10
  25. package/dest/cli/versioning.js +3 -3
  26. package/dest/examples/token.js +18 -16
  27. package/dest/examples/util.d.ts +1 -1
  28. package/dest/examples/util.d.ts.map +1 -1
  29. package/dest/examples/util.js +1 -1
  30. package/dest/index.d.ts +1 -1
  31. package/dest/index.d.ts.map +1 -1
  32. package/dest/index.js +1 -1
  33. package/dest/sandbox/banana_fpc.d.ts +4 -5
  34. package/dest/sandbox/banana_fpc.d.ts.map +1 -1
  35. package/dest/sandbox/banana_fpc.js +14 -18
  36. package/dest/sandbox/index.d.ts +2 -2
  37. package/dest/sandbox/index.d.ts.map +1 -1
  38. package/dest/sandbox/index.js +2 -2
  39. package/dest/sandbox/sandbox.d.ts +3 -12
  40. package/dest/sandbox/sandbox.d.ts.map +1 -1
  41. package/dest/sandbox/sandbox.js +19 -32
  42. package/dest/sandbox/sponsored_fpc.d.ts +3 -3
  43. package/dest/sandbox/sponsored_fpc.d.ts.map +1 -1
  44. package/dest/sandbox/sponsored_fpc.js +7 -8
  45. package/dest/testing/anvil_test_watcher.d.ts.map +1 -1
  46. package/dest/testing/anvil_test_watcher.js +3 -4
  47. package/dest/testing/cheat_codes.d.ts +6 -7
  48. package/dest/testing/cheat_codes.d.ts.map +1 -1
  49. package/dest/testing/cheat_codes.js +9 -10
  50. package/dest/testing/index.d.ts +0 -1
  51. package/dest/testing/index.d.ts.map +1 -1
  52. package/dest/testing/index.js +0 -1
  53. package/package.json +34 -33
  54. package/src/bin/index.ts +7 -9
  55. package/src/cli/aztec_start_action.ts +2 -14
  56. package/src/cli/aztec_start_options.ts +113 -232
  57. package/src/cli/cmds/start_archiver.ts +3 -3
  58. package/src/cli/cmds/start_blob_sink.ts +1 -1
  59. package/src/cli/cmds/start_bot.ts +35 -12
  60. package/src/cli/cmds/start_node.ts +12 -23
  61. package/src/cli/cmds/start_prover_agent.ts +6 -1
  62. package/src/cli/cmds/start_prover_broker.ts +16 -2
  63. package/src/cli/cmds/start_prover_node.ts +11 -11
  64. package/src/cli/util.ts +17 -14
  65. package/src/cli/versioning.ts +3 -3
  66. package/src/examples/token.ts +20 -17
  67. package/src/examples/util.ts +1 -1
  68. package/src/index.ts +3 -3
  69. package/src/sandbox/banana_fpc.ts +15 -20
  70. package/src/sandbox/index.ts +5 -2
  71. package/src/sandbox/sandbox.ts +21 -32
  72. package/src/sandbox/sponsored_fpc.ts +8 -10
  73. package/src/testing/anvil_test_watcher.ts +2 -5
  74. package/src/testing/cheat_codes.ts +10 -11
  75. package/src/testing/index.ts +0 -1
  76. package/dest/cli/chain_l2_config.d.ts +0 -31
  77. package/dest/cli/chain_l2_config.d.ts.map +0 -1
  78. package/dest/cli/chain_l2_config.js +0 -261
  79. package/dest/cli/cmds/start_faucet.d.ts +0 -4
  80. package/dest/cli/cmds/start_faucet.d.ts.map +0 -1
  81. package/dest/cli/cmds/start_faucet.js +0 -20
  82. package/dest/cli/cmds/start_pxe.d.ts +0 -16
  83. package/dest/cli/cmds/start_pxe.d.ts.map +0 -1
  84. package/dest/cli/cmds/start_pxe.js +0 -31
  85. package/dest/cli/get_l1_config.d.ts +0 -7
  86. package/dest/cli/get_l1_config.d.ts.map +0 -1
  87. package/dest/cli/get_l1_config.js +0 -13
  88. package/dest/testing/aztec_cheat_codes.d.ts +0 -59
  89. package/dest/testing/aztec_cheat_codes.d.ts.map +0 -1
  90. package/dest/testing/aztec_cheat_codes.js +0 -62
  91. package/src/cli/chain_l2_config.ts +0 -341
  92. package/src/cli/cmds/start_faucet.ts +0 -34
  93. package/src/cli/cmds/start_pxe.ts +0 -49
  94. package/src/cli/get_l1_config.ts +0 -19
  95. package/src/testing/aztec_cheat_codes.ts +0 -77
package/dest/bin/index.js CHANGED
@@ -1,18 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  //
3
3
  import { injectCommands as injectBuilderCommands } from '@aztec/builder';
4
- import { injectCommands as injectWalletCommands } from '@aztec/cli-wallet';
4
+ import { injectCommands as injectAztecNodeCommands } from '@aztec/cli/aztec_node';
5
+ import { enrichEnvironmentWithChainConfig, enrichEnvironmentWithNetworkConfig } from '@aztec/cli/config';
5
6
  import { injectCommands as injectContractCommands } from '@aztec/cli/contracts';
6
- import { injectCommands as injectDevnetCommands } from '@aztec/cli/devnet';
7
7
  import { injectCommands as injectInfrastructureCommands } from '@aztec/cli/infrastructure';
8
8
  import { injectCommands as injectL1Commands } from '@aztec/cli/l1';
9
9
  import { injectCommands as injectMiscCommands } from '@aztec/cli/misc';
10
- import { injectCommands as injectPXECommands } from '@aztec/cli/pxe';
11
10
  import { getActiveNetworkName } from '@aztec/foundation/config';
12
11
  import { createConsoleLogger, createLogger } from '@aztec/foundation/log';
13
12
  import { Command } from 'commander';
14
13
  import { NETWORK_FLAG } from '../cli/aztec_start_options.js';
15
- import { enrichEnvironmentWithChainConfig } from '../cli/chain_l2_config.js';
16
14
  import { injectAztecCommands } from '../cli/index.js';
17
15
  import { getCliVersion } from '../cli/release_version.js';
18
16
  const userLog = createConsoleLogger();
@@ -30,19 +28,19 @@ const debugLogger = createLogger('cli');
30
28
  if (networkIndex !== -1) {
31
29
  networkValue = args[networkIndex].split('=')[1] || args[networkIndex + 1];
32
30
  }
33
- await enrichEnvironmentWithChainConfig(getActiveNetworkName(networkValue));
31
+ const networkName = getActiveNetworkName(networkValue);
32
+ await enrichEnvironmentWithNetworkConfig(networkName);
33
+ enrichEnvironmentWithChainConfig(networkName);
34
34
  const cliVersion = getCliVersion();
35
35
  let program = new Command('aztec');
36
36
  program.description('Aztec command line interface').version(cliVersion);
37
37
  program = injectAztecCommands(program, userLog, debugLogger);
38
38
  program = injectBuilderCommands(program);
39
39
  program = injectContractCommands(program, userLog, debugLogger);
40
- program = injectInfrastructureCommands(program, userLog, debugLogger);
40
+ program = injectInfrastructureCommands(program, userLog);
41
41
  program = injectL1Commands(program, userLog, debugLogger);
42
- program = injectPXECommands(program, userLog, debugLogger);
42
+ program = injectAztecNodeCommands(program, userLog, debugLogger);
43
43
  program = injectMiscCommands(program, userLog);
44
- program = injectDevnetCommands(program, userLog, debugLogger);
45
- program = injectWalletCommands(program, userLog, debugLogger);
46
44
  await program.parseAsync(process.argv);
47
45
  }
48
46
  main().catch((err)=>{
@@ -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,iBA6FjF"}
@@ -1,5 +1,5 @@
1
1
  import { createNamespacedSafeJsonRpcServer, startHttpRpcServer } from '@aztec/foundation/json-rpc/server';
2
- import { AztecNodeApiSchema, PXESchema } from '@aztec/stdlib/interfaces/client';
2
+ import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
3
3
  import { getVersioningMiddleware } from '@aztec/stdlib/versioning';
4
4
  import { getOtelJsonRpcPropagationMiddleware } from '@aztec/telemetry-client';
5
5
  import { createSandbox } from '../sandbox/index.js';
@@ -19,11 +19,10 @@ export async function aztecStart(options, userLog, debugLogger) {
19
19
  sandboxOptions.testAccounts = true;
20
20
  userLog(`${splash}\n${github}\n\n`);
21
21
  userLog(`Setting up Aztec Sandbox ${cliVersion}, please stand by...`);
22
- const { node, pxe, stop } = await createSandbox({
22
+ const { node, stop } = await createSandbox({
23
23
  l1Mnemonic: sandboxOptions.l1Mnemonic,
24
24
  l1RpcUrls: options.l1RpcUrls,
25
25
  deployAztecContractsSalt: sandboxOptions.deployAztecContractsSalt,
26
- noPXE: sandboxOptions.noPXE,
27
26
  testAccounts: sandboxOptions.testAccounts,
28
27
  realProofs: false
29
28
  }, userLog);
@@ -33,14 +32,6 @@ export async function aztecStart(options, userLog, debugLogger) {
33
32
  node,
34
33
  AztecNodeApiSchema
35
34
  ];
36
- if (!sandboxOptions.noPXE) {
37
- services.pxe = [
38
- pxe,
39
- PXESchema
40
- ];
41
- } else {
42
- userLog(`Not exposing PXE API through JSON-RPC server`);
43
- }
44
35
  } else {
45
36
  if (options.node) {
46
37
  const { startNode } = await import('./cmds/start_node.js');
@@ -54,9 +45,6 @@ export async function aztecStart(options, userLog, debugLogger) {
54
45
  } else if (options.blobSink) {
55
46
  const { startBlobSink } = await import('./cmds/start_blob_sink.js');
56
47
  await startBlobSink(options, signalHandlers, userLog);
57
- } else if (options.pxe) {
58
- const { startPXE } = await import('./cmds/start_pxe.js');
59
- ({ config } = await startPXE(options, signalHandlers, services, userLog));
60
48
  } else if (options.archiver) {
61
49
  const { startArchiver } = await import('./cmds/start_archiver.js');
62
50
  ({ config } = await startArchiver(options, signalHandlers, services));
@@ -75,9 +63,6 @@ export async function aztecStart(options, userLog, debugLogger) {
75
63
  } else if (options.sequencer) {
76
64
  userLog(`Cannot run a standalone sequencer without a node`);
77
65
  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
66
  } else {
82
67
  userLog(`No module specified to start`);
83
68
  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;CA+NlE,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,30 @@ 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-urls', sharedNodeConfigMappings.snapshotsUrls)
66
80
  ],
67
81
  SANDBOX: [
68
82
  {
69
83
  flag: '--sandbox',
70
84
  description: 'Starts Aztec Sandbox',
71
85
  defaultValue: undefined,
72
- envVar: undefined
73
- },
74
- {
75
- flag: '--sandbox.noPXE',
76
- description: 'Do not expose PXE service on sandbox start',
77
- envVar: 'NO_PXE',
78
- ...booleanConfigHelper()
86
+ env: undefined
79
87
  },
80
88
  {
81
89
  flag: '--sandbox.l1Mnemonic <value>',
82
90
  description: 'Mnemonic for L1 accounts. Will be used ',
83
91
  defaultValue: DefaultMnemonic,
84
- envVar: 'MNEMONIC'
92
+ env: 'MNEMONIC'
85
93
  },
86
94
  {
87
95
  flag: '--sandbox.deployAztecContractsSalt <value>',
88
96
  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',
97
+ env: 'DEPLOY_AZTEC_CONTRACTS_SALT',
90
98
  defaultValue: undefined,
91
99
  parseVal: (val)=>val ? parseInt(val) : undefined
92
100
  }
@@ -96,120 +104,46 @@ export const aztecStartOptions = {
96
104
  flag: '--port <value>',
97
105
  description: 'Port to run the Aztec Services on',
98
106
  defaultValue: 8080,
99
- envVar: 'AZTEC_PORT',
107
+ env: 'AZTEC_PORT',
100
108
  parseVal: (val)=>parseInt(val, 10)
101
109
  },
102
110
  {
103
111
  flag: '--admin-port <value>',
104
- description: 'Port to run admin APIs of Aztec Services on on',
112
+ description: 'Port to run admin APIs of Aztec Services on',
105
113
  defaultValue: 8880,
106
- envVar: 'AZTEC_ADMIN_PORT',
114
+ env: 'AZTEC_ADMIN_PORT',
107
115
  parseVal: (val)=>parseInt(val, 10)
108
116
  },
109
117
  {
110
118
  flag: '--api-prefix <value>',
111
119
  description: 'Prefix for API routes on any service that is started',
112
120
  defaultValue: '',
113
- envVar: 'API_PREFIX'
121
+ env: 'API_PREFIX'
114
122
  }
115
123
  ],
116
124
  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
- }
125
+ configToFlag('--l1-chain-id', l1ReaderConfigMappings.l1ChainId),
126
+ // Do not set default for CLI: keep undefined unless provided via flag or env
127
+ configToFlag('--l1-rpc-urls', {
128
+ ...l1ReaderConfigMappings.l1RpcUrls,
129
+ defaultValue: undefined
130
+ }),
131
+ configToFlag('--l1-consensus-host-urls', blobSinkConfigMappings.l1ConsensusHostUrls),
132
+ configToFlag('--l1-consensus-host-api-keys', blobSinkConfigMappings.l1ConsensusHostApiKeys),
133
+ configToFlag('--l1-consensus-host-api-key-headers', blobSinkConfigMappings.l1ConsensusHostApiKeyHeaders)
134
+ ],
135
+ 'L1 CONTRACTS': [
136
+ configToFlag('--registry-address', l1ContractAddressesMapping.registryAddress),
137
+ configToFlag('--rollup-version', chainConfigMappings.rollupVersion)
154
138
  ],
155
139
  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
- }
140
+ configToFlag('--data-directory', dataConfigMappings.dataDirectory),
141
+ configToFlag('--data-store-map-size-kb', dataConfigMappings.dataStoreMapSizeKb)
169
142
  ],
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
- }
143
+ 'WORLD STATE': [
144
+ configToFlag('--world-state-data-directory', worldStateConfigMappings.worldStateDataDirectory),
145
+ configToFlag('--world-state-db-map-size-kb', worldStateConfigMappings.worldStateDbMapSizeKb),
146
+ configToFlag('--world-state-block-history', worldStateConfigMappings.worldStateBlockHistory)
213
147
  ],
214
148
  // We can't easily auto-generate node options as they're parts of modules defined below
215
149
  'AZTEC NODE': [
@@ -217,87 +151,38 @@ export const aztecStartOptions = {
217
151
  flag: '--node',
218
152
  description: 'Starts Aztec Node with options',
219
153
  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'
154
+ env: undefined
253
155
  }
254
156
  ],
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
157
  ARCHIVER: [
277
158
  {
278
159
  flag: '--archiver',
279
160
  description: 'Starts Aztec Archiver with options',
280
161
  defaultValue: undefined,
281
- envVar: undefined
162
+ env: undefined
282
163
  },
283
- // filter out archiverUrl as it's passed separately in --node & --prover-node
284
- ...getOptions('archiver', archiverConfigMappings).filter((opt)=>!opt.flag.includes('archiverUrl'))
164
+ ...getOptions('archiver', omitConfigMappings(archiverConfigMappings, Object.keys(l1ContractsConfigMappings)))
285
165
  ],
286
166
  SEQUENCER: [
287
167
  {
288
168
  flag: '--sequencer',
289
169
  description: 'Starts Aztec Sequencer with options',
290
170
  defaultValue: undefined,
291
- envVar: undefined
171
+ env: undefined
292
172
  },
293
- ...getOptions('sequencer', sequencerClientConfigMappings)
173
+ ...getOptions('sequencer', omitConfigMappings(sequencerClientConfigMappings, [
174
+ 'fakeProcessingDelayPerTxMs',
175
+ 'skipCollectingAttestations',
176
+ 'skipInvalidateBlockAsProposer',
177
+ 'blobSinkMapSizeKb'
178
+ ]))
294
179
  ],
295
180
  'BLOB SINK': [
296
181
  {
297
182
  flag: '--blob-sink',
298
183
  description: 'Starts Aztec Blob Sink with options',
299
184
  defaultValue: undefined,
300
- envVar: undefined
185
+ env: undefined
301
186
  },
302
187
  ...getOptions('blobSink', blobSinkConfigMappings)
303
188
  ],
@@ -306,20 +191,16 @@ export const aztecStartOptions = {
306
191
  flag: '--prover-node',
307
192
  description: 'Starts Aztec Prover Node with options',
308
193
  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'
194
+ env: undefined
316
195
  },
317
196
  ...getOptions('proverNode', omitConfigMappings(proverNodeConfigMappings, [
318
197
  // filter out options passed separately
319
- ...Object.keys(archiverConfigMappings),
320
- ...Object.keys(proverBrokerConfigMappings),
321
- ...Object.keys(proverAgentConfigMappings),
322
- ...Object.keys(p2pConfigMappings)
198
+ ...getKeys(archiverConfigMappings),
199
+ ...getKeys(proverBrokerConfigMappings),
200
+ ...getKeys(proverAgentConfigMappings),
201
+ ...getKeys(p2pConfigMappings),
202
+ ...getKeys(worldStateConfigMappings),
203
+ ...getKeys(sharedNodeConfigMappings)
323
204
  ]))
324
205
  ],
325
206
  'PROVER BROKER': [
@@ -327,7 +208,7 @@ export const aztecStartOptions = {
327
208
  flag: '--prover-broker',
328
209
  description: 'Starts Aztec proving job broker',
329
210
  defaultValue: undefined,
330
- envVar: undefined
211
+ env: undefined
331
212
  },
332
213
  ...getOptions('proverBroker', // filter out archiver options from prover node options as they're passed separately in --archiver
333
214
  proverBrokerConfigMappings)
@@ -337,16 +218,25 @@ export const aztecStartOptions = {
337
218
  flag: '--prover-agent',
338
219
  description: 'Starts Aztec Prover Agent with options',
339
220
  defaultValue: undefined,
340
- envVar: undefined
221
+ env: undefined
341
222
  },
342
223
  ...getOptions('proverAgent', proverAgentConfigMappings)
343
224
  ],
225
+ 'P2P SUBSYSTEM': [
226
+ {
227
+ flag: '--p2p-enabled [value]',
228
+ description: 'Enable P2P subsystem',
229
+ env: 'P2P_ENABLED',
230
+ ...booleanConfigHelper()
231
+ },
232
+ ...getOptions('p2p', p2pConfigMappings)
233
+ ],
344
234
  'P2P BOOTSTRAP': [
345
235
  {
346
236
  flag: '--p2p-bootstrap',
347
237
  description: 'Starts Aztec P2P Bootstrap with options',
348
238
  defaultValue: undefined,
349
- envVar: undefined
239
+ env: undefined
350
240
  },
351
241
  ...getOptions('p2pBootstrap', omitConfigMappings(bootnodeConfigMappings, [
352
242
  'p2pIp',
@@ -356,43 +246,33 @@ export const aztecStartOptions = {
356
246
  'listenAddress'
357
247
  ]))
358
248
  ],
249
+ TELEMETRY: [
250
+ ...getOptions('tel', telemetryClientConfigMappings)
251
+ ],
359
252
  BOT: [
360
253
  {
361
254
  flag: '--bot',
362
255
  description: 'Starts Aztec Bot with options',
363
256
  defaultValue: undefined,
364
- envVar: undefined
257
+ env: undefined
365
258
  },
366
259
  ...getOptions('bot', botConfigMappings)
367
260
  ],
261
+ PXE: [
262
+ {
263
+ flag: '--pxe',
264
+ description: 'Starts Aztec PXE with options',
265
+ defaultValue: undefined,
266
+ env: undefined
267
+ },
268
+ ...getOptions('pxe', allPxeConfigMappings)
269
+ ],
368
270
  TXE: [
369
271
  {
370
272
  flag: '--txe',
371
273
  description: 'Starts Aztec TXE with options',
372
274
  defaultValue: undefined,
373
- envVar: undefined
275
+ env: undefined
374
276
  }
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
277
  ]
398
278
  };
@@ -1 +1 @@
1
- {"version":3,"file":"start_archiver.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAIpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAQlF,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAEhD,oCAAoC;AACpC,wBAAsB,aAAa,CACjC,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,GAAG,eAAe,CAAA;CAAE,CAAC,CAmCvD"}
1
+ {"version":3,"file":"start_archiver.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAIpB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAOlF,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAEhD,oCAAoC;AACpC,wBAAsB,aAAa,CACjC,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,GAAG,eAAe,CAAA;CAAE,CAAC,CAmCvD"}
@@ -1,11 +1,11 @@
1
1
  import { Archiver, KVArchiverDataStore, archiverConfigMappings, getArchiverConfigFromEnv } from '@aztec/archiver';
2
- import { createLogger } from '@aztec/aztec.js';
2
+ import { createLogger } from '@aztec/aztec.js/log';
3
3
  import { blobSinkConfigMapping, createBlobSinkClient } from '@aztec/blob-sink/client';
4
+ import { getL1Config } from '@aztec/cli/config';
4
5
  import { dataConfigMappings } from '@aztec/kv-store/config';
5
6
  import { createStore } from '@aztec/kv-store/lmdb-v2';
6
7
  import { ArchiverApiSchema } from '@aztec/stdlib/interfaces/server';
7
8
  import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
8
- import { getL1Config } from '../get_l1_config.js';
9
9
  import { extractRelevantOptions } from '../util.js';
10
10
  /** Starts a standalone archiver. */ export async function startArchiver(options, signalHandlers, services) {
11
11
  const envConfig = getArchiverConfigFromEnv();
@@ -18,7 +18,7 @@ import { extractRelevantOptions } from '../util.js';
18
18
  ...envConfig,
19
19
  ...cliOptions
20
20
  };
21
- archiverConfig.dataStoreMapSizeKB = archiverConfig.archiverStoreMapSizeKb ?? archiverConfig.dataStoreMapSizeKB;
21
+ archiverConfig.dataStoreMapSizeKb = archiverConfig.archiverStoreMapSizeKb ?? archiverConfig.dataStoreMapSizeKb;
22
22
  if (!archiverConfig.l1Contracts.registryAddress || archiverConfig.l1Contracts.registryAddress.isZero()) {
23
23
  throw new Error('L1 registry address is required to start an Archiver');
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"start_blob_sink.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_blob_sink.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,wBAAsB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,iBA4CxG"}
1
+ {"version":3,"file":"start_blob_sink.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_blob_sink.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,wBAAsB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,iBA4CxG"}
@@ -1,6 +1,6 @@
1
1
  import { blobSinkConfigMappings, createBlobSinkServer, getBlobSinkConfigFromEnv } from '@aztec/blob-sink/server';
2
+ import { getL1Config } from '@aztec/cli/config';
2
3
  import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
3
- import { getL1Config } from '../get_l1_config.js';
4
4
  import { extractRelevantOptions } from '../util.js';
5
5
  export async function startBlobSink(options, signalHandlers, userLog) {
6
6
  if (options.prover || options.node || options.sequencer || options.pxe || options.p2pBootstrap || options.txe) {