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

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 (131) hide show
  1. package/README.md +1 -1
  2. package/dest/bin/index.d.ts +1 -1
  3. package/dest/bin/index.js +9 -9
  4. package/dest/cli/aztec_start_action.d.ts +1 -1
  5. package/dest/cli/aztec_start_action.d.ts.map +1 -1
  6. package/dest/cli/aztec_start_action.js +10 -25
  7. package/dest/cli/aztec_start_options.d.ts +2 -2
  8. package/dest/cli/aztec_start_options.d.ts.map +1 -1
  9. package/dest/cli/aztec_start_options.js +115 -231
  10. package/dest/cli/cli.d.ts +1 -1
  11. package/dest/cli/cli.d.ts.map +1 -1
  12. package/dest/cli/cli.js +46 -1
  13. package/dest/cli/cmds/start_archiver.d.ts +1 -1
  14. package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
  15. package/dest/cli/cmds/start_archiver.js +4 -4
  16. package/dest/cli/cmds/start_blob_sink.d.ts +1 -1
  17. package/dest/cli/cmds/start_blob_sink.d.ts.map +1 -1
  18. package/dest/cli/cmds/start_blob_sink.js +2 -2
  19. package/dest/cli/cmds/start_bot.d.ts +4 -7
  20. package/dest/cli/cmds/start_bot.d.ts.map +1 -1
  21. package/dest/cli/cmds/start_bot.js +25 -14
  22. package/dest/cli/cmds/start_node.d.ts +1 -1
  23. package/dest/cli/cmds/start_node.d.ts.map +1 -1
  24. package/dest/cli/cmds/start_node.js +13 -30
  25. package/dest/cli/cmds/start_p2p_bootstrap.d.ts +1 -1
  26. package/dest/cli/cmds/start_p2p_bootstrap.js +1 -1
  27. package/dest/cli/cmds/start_prover_agent.d.ts +1 -1
  28. package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
  29. package/dest/cli/cmds/start_prover_agent.js +11 -2
  30. package/dest/cli/cmds/start_prover_broker.d.ts +1 -1
  31. package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
  32. package/dest/cli/cmds/start_prover_broker.js +8 -3
  33. package/dest/cli/cmds/start_prover_node.d.ts +1 -1
  34. package/dest/cli/cmds/start_prover_node.d.ts.map +1 -1
  35. package/dest/cli/cmds/start_prover_node.js +17 -12
  36. package/dest/cli/cmds/start_txe.d.ts +1 -1
  37. package/dest/cli/index.d.ts +1 -1
  38. package/dest/cli/preload_crs.d.ts +1 -1
  39. package/dest/cli/release_version.d.ts +1 -1
  40. package/dest/cli/util.d.ts +12 -10
  41. package/dest/cli/util.d.ts.map +1 -1
  42. package/dest/cli/util.js +13 -13
  43. package/dest/cli/versioning.d.ts +1 -1
  44. package/dest/cli/versioning.js +3 -3
  45. package/dest/examples/token.d.ts +1 -1
  46. package/dest/examples/token.js +18 -16
  47. package/dest/examples/util.d.ts +3 -3
  48. package/dest/examples/util.d.ts.map +1 -1
  49. package/dest/examples/util.js +1 -1
  50. package/dest/index.d.ts +2 -2
  51. package/dest/index.d.ts.map +1 -1
  52. package/dest/index.js +1 -1
  53. package/dest/local-network/banana_fpc.d.ts +10 -0
  54. package/dest/local-network/banana_fpc.d.ts.map +1 -0
  55. package/dest/{sandbox → local-network}/banana_fpc.js +15 -19
  56. package/dest/local-network/index.d.ts +4 -0
  57. package/dest/local-network/index.d.ts.map +1 -0
  58. package/dest/local-network/index.js +3 -0
  59. package/dest/local-network/local-network.d.ts +74 -0
  60. package/dest/local-network/local-network.d.ts.map +1 -0
  61. package/dest/{sandbox/sandbox.js → local-network/local-network.js} +35 -43
  62. package/dest/local-network/sponsored_fpc.d.ts +5 -0
  63. package/dest/local-network/sponsored_fpc.d.ts.map +1 -0
  64. package/dest/{sandbox → local-network}/sponsored_fpc.js +7 -8
  65. package/dest/mnemonic.d.ts +1 -1
  66. package/dest/splash.d.ts +1 -1
  67. package/dest/testing/anvil_test_watcher.d.ts +4 -4
  68. package/dest/testing/anvil_test_watcher.d.ts.map +1 -1
  69. package/dest/testing/anvil_test_watcher.js +19 -18
  70. package/dest/testing/cheat_codes.d.ts +7 -10
  71. package/dest/testing/cheat_codes.d.ts.map +1 -1
  72. package/dest/testing/cheat_codes.js +9 -10
  73. package/dest/testing/index.d.ts +1 -2
  74. package/dest/testing/index.d.ts.map +1 -1
  75. package/dest/testing/index.js +0 -1
  76. package/package.json +38 -36
  77. package/src/bin/index.ts +9 -9
  78. package/src/cli/aztec_start_action.ts +10 -22
  79. package/src/cli/aztec_start_options.ts +124 -238
  80. package/src/cli/cli.ts +46 -1
  81. package/src/cli/cmds/start_archiver.ts +4 -4
  82. package/src/cli/cmds/start_blob_sink.ts +2 -2
  83. package/src/cli/cmds/start_bot.ts +36 -13
  84. package/src/cli/cmds/start_node.ts +16 -27
  85. package/src/cli/cmds/start_p2p_bootstrap.ts +1 -1
  86. package/src/cli/cmds/start_prover_agent.ts +7 -2
  87. package/src/cli/cmds/start_prover_broker.ts +17 -3
  88. package/src/cli/cmds/start_prover_node.ts +14 -14
  89. package/src/cli/util.ts +21 -18
  90. package/src/cli/versioning.ts +3 -3
  91. package/src/examples/token.ts +20 -17
  92. package/src/examples/util.ts +2 -2
  93. package/src/index.ts +5 -5
  94. package/src/{sandbox → local-network}/banana_fpc.ts +16 -21
  95. package/src/local-network/index.ts +7 -0
  96. package/src/{sandbox/sandbox.ts → local-network/local-network.ts} +42 -55
  97. package/src/local-network/sponsored_fpc.ts +26 -0
  98. package/src/testing/anvil_test_watcher.ts +18 -19
  99. package/src/testing/cheat_codes.ts +13 -13
  100. package/src/testing/index.ts +0 -1
  101. package/dest/cli/chain_l2_config.d.ts +0 -31
  102. package/dest/cli/chain_l2_config.d.ts.map +0 -1
  103. package/dest/cli/chain_l2_config.js +0 -261
  104. package/dest/cli/cmds/start_faucet.d.ts +0 -4
  105. package/dest/cli/cmds/start_faucet.d.ts.map +0 -1
  106. package/dest/cli/cmds/start_faucet.js +0 -20
  107. package/dest/cli/cmds/start_pxe.d.ts +0 -16
  108. package/dest/cli/cmds/start_pxe.d.ts.map +0 -1
  109. package/dest/cli/cmds/start_pxe.js +0 -31
  110. package/dest/cli/get_l1_config.d.ts +0 -7
  111. package/dest/cli/get_l1_config.d.ts.map +0 -1
  112. package/dest/cli/get_l1_config.js +0 -13
  113. package/dest/sandbox/banana_fpc.d.ts +0 -11
  114. package/dest/sandbox/banana_fpc.d.ts.map +0 -1
  115. package/dest/sandbox/index.d.ts +0 -4
  116. package/dest/sandbox/index.d.ts.map +0 -1
  117. package/dest/sandbox/index.js +0 -3
  118. package/dest/sandbox/sandbox.d.ts +0 -83
  119. package/dest/sandbox/sandbox.d.ts.map +0 -1
  120. package/dest/sandbox/sponsored_fpc.d.ts +0 -4
  121. package/dest/sandbox/sponsored_fpc.d.ts.map +0 -1
  122. package/dest/testing/aztec_cheat_codes.d.ts +0 -59
  123. package/dest/testing/aztec_cheat_codes.d.ts.map +0 -1
  124. package/dest/testing/aztec_cheat_codes.js +0 -62
  125. package/src/cli/chain_l2_config.ts +0 -341
  126. package/src/cli/cmds/start_faucet.ts +0 -34
  127. package/src/cli/cmds/start_pxe.ts +0 -49
  128. package/src/cli/get_l1_config.ts +0 -19
  129. package/src/sandbox/index.ts +0 -4
  130. package/src/sandbox/sponsored_fpc.ts +0 -27
  131. package/src/testing/aztec_cheat_codes.ts +0 -77
@@ -1,14 +1,21 @@
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 { l1ContractsConfigMappings } from '@aztec/ethereum/config';
6
+ import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
7
+ import { l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
8
+ import { getKeys } from '@aztec/foundation/collection';
9
+ import { booleanConfigHelper, isBooleanConfigValue, omitConfigMappings } from '@aztec/foundation/config';
10
+ import { dataConfigMappings } from '@aztec/kv-store/config';
11
+ import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
7
12
  import { bootnodeConfigMappings, p2pConfigMappings } from '@aztec/p2p/config';
8
13
  import { proverAgentConfigMappings, proverBrokerConfigMappings } from '@aztec/prover-client/broker';
9
14
  import { proverNodeConfigMappings } from '@aztec/prover-node/config';
10
15
  import { allPxeConfigMappings } from '@aztec/pxe/config';
16
+ import { chainConfigMappings } from '@aztec/stdlib/config';
11
17
  import { telemetryClientConfigMappings } from '@aztec/telemetry-client';
18
+ import { worldStateConfigMappings } from '@aztec/world-state';
12
19
  import { DefaultMnemonic } from '../mnemonic.js';
13
20
  export const getOptions = (namespace, configMappings)=>{
14
21
  const options = [];
@@ -22,24 +29,42 @@ export const getOptions = (namespace, configMappings)=>{
22
29
  description,
23
30
  defaultValue: def,
24
31
  printDefault,
25
- envVar: env,
32
+ env: env,
26
33
  fallback,
27
34
  parseVal: parseEnv
28
35
  });
29
36
  }
30
37
  return options;
31
38
  };
39
+ const configToFlag = (flag, configMapping, overrideDefaultValue)=>{
40
+ if (!configMapping.isBoolean) {
41
+ flag += ' <value>';
42
+ }
43
+ const flagConfig = {
44
+ flag,
45
+ env: undefined,
46
+ defaultValue: undefined,
47
+ parseVal: configMapping.parseEnv,
48
+ ...configMapping
49
+ };
50
+ if (overrideDefaultValue !== undefined) {
51
+ flagConfig.defaultValue = overrideDefaultValue;
52
+ }
53
+ return flagConfig;
54
+ };
32
55
  // These are options used by multiple modules so should be inputted once
33
56
  export const universalOptions = [
34
- 'l1RpcUrls',
35
57
  'l1ConsensusHostUrls',
36
58
  'l1ConsensusHostApiKeys',
37
59
  'l1ConsensusHostApiKeyHeaders',
38
- 'l1ChainId',
39
- 'l1Contracts',
40
60
  'p2pEnabled',
41
- 'dataDirectory',
42
- 'dataStoreMapSizeKb'
61
+ 'fishermanMode',
62
+ ...getKeys(chainConfigMappings),
63
+ ...getKeys(l1ContractsConfigMappings),
64
+ ...getKeys(l1ContractAddressesMapping),
65
+ ...getKeys(l1ReaderConfigMappings),
66
+ ...getKeys(dataConfigMappings),
67
+ ...getKeys(worldStateConfigMappings)
43
68
  ];
44
69
  export const NETWORK_FLAG = 'network';
45
70
  // Define categories and options
@@ -49,44 +74,31 @@ export const aztecStartOptions = {
49
74
  flag: `--${NETWORK_FLAG} <value>`,
50
75
  description: 'Network to run Aztec on',
51
76
  defaultValue: undefined,
52
- envVar: 'NETWORK'
53
- },
54
- {
55
- flag: `--auto-update <value>`,
56
- description: 'Configure auto updates',
57
- envVar: 'AUTO_UPDATE',
58
- defaultValue: 'disabled'
77
+ env: 'NETWORK'
59
78
  },
60
- {
61
- flag: `--auto-update-url <value>`,
62
- description: 'Configure where to get updates from',
63
- envVar: 'AUTO_UPDATE_URL',
64
- defaultValue: undefined
65
- }
79
+ configToFlag('--auto-update', sharedNodeConfigMappings.autoUpdate),
80
+ configToFlag('--auto-update-url', sharedNodeConfigMappings.autoUpdateUrl),
81
+ configToFlag('--sync-mode', sharedNodeConfigMappings.syncMode),
82
+ configToFlag('--snapshots-urls', sharedNodeConfigMappings.snapshotsUrls),
83
+ configToFlag('--fisherman-mode', sharedNodeConfigMappings.fishermanMode)
66
84
  ],
67
- SANDBOX: [
85
+ LOCAL_NETWORK: [
68
86
  {
69
- flag: '--sandbox',
70
- description: 'Starts Aztec Sandbox',
87
+ flag: '--local-network',
88
+ description: 'Starts Aztec Local Network',
71
89
  defaultValue: undefined,
72
- envVar: undefined
90
+ env: undefined
73
91
  },
74
92
  {
75
- flag: '--sandbox.noPXE',
76
- description: 'Do not expose PXE service on sandbox start',
77
- envVar: 'NO_PXE',
78
- ...booleanConfigHelper()
79
- },
80
- {
81
- flag: '--sandbox.l1Mnemonic <value>',
93
+ flag: '--local-network.l1Mnemonic <value>',
82
94
  description: 'Mnemonic for L1 accounts. Will be used ',
83
95
  defaultValue: DefaultMnemonic,
84
- envVar: 'MNEMONIC'
96
+ env: 'MNEMONIC'
85
97
  },
86
98
  {
87
- flag: '--sandbox.deployAztecContractsSalt <value>',
88
- 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',
99
+ flag: '--local-network.deployAztecContractsSalt <value>',
100
+ description: 'Numeric salt for deploying L1 Aztec contracts before starting the local network. Needs mnemonic or private key to be set.',
101
+ env: 'DEPLOY_AZTEC_CONTRACTS_SALT',
90
102
  defaultValue: undefined,
91
103
  parseVal: (val)=>val ? parseInt(val) : undefined
92
104
  }
@@ -96,120 +108,46 @@ export const aztecStartOptions = {
96
108
  flag: '--port <value>',
97
109
  description: 'Port to run the Aztec Services on',
98
110
  defaultValue: 8080,
99
- envVar: 'AZTEC_PORT',
111
+ env: 'AZTEC_PORT',
100
112
  parseVal: (val)=>parseInt(val, 10)
101
113
  },
102
114
  {
103
115
  flag: '--admin-port <value>',
104
- description: 'Port to run admin APIs of Aztec Services on on',
116
+ description: 'Port to run admin APIs of Aztec Services on',
105
117
  defaultValue: 8880,
106
- envVar: 'AZTEC_ADMIN_PORT',
118
+ env: 'AZTEC_ADMIN_PORT',
107
119
  parseVal: (val)=>parseInt(val, 10)
108
120
  },
109
121
  {
110
122
  flag: '--api-prefix <value>',
111
123
  description: 'Prefix for API routes on any service that is started',
112
124
  defaultValue: '',
113
- envVar: 'API_PREFIX'
125
+ env: 'API_PREFIX'
114
126
  }
115
127
  ],
116
128
  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
- }
129
+ configToFlag('--l1-chain-id', l1ReaderConfigMappings.l1ChainId),
130
+ // Do not set default for CLI: keep undefined unless provided via flag or env
131
+ configToFlag('--l1-rpc-urls', {
132
+ ...l1ReaderConfigMappings.l1RpcUrls,
133
+ defaultValue: undefined
134
+ }),
135
+ configToFlag('--l1-consensus-host-urls', blobSinkConfigMappings.l1ConsensusHostUrls),
136
+ configToFlag('--l1-consensus-host-api-keys', blobSinkConfigMappings.l1ConsensusHostApiKeys),
137
+ configToFlag('--l1-consensus-host-api-key-headers', blobSinkConfigMappings.l1ConsensusHostApiKeyHeaders)
138
+ ],
139
+ 'L1 CONTRACTS': [
140
+ configToFlag('--registry-address', l1ContractAddressesMapping.registryAddress),
141
+ configToFlag('--rollup-version', chainConfigMappings.rollupVersion)
154
142
  ],
155
143
  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
- }
144
+ configToFlag('--data-directory', dataConfigMappings.dataDirectory),
145
+ configToFlag('--data-store-map-size-kb', dataConfigMappings.dataStoreMapSizeKb)
169
146
  ],
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
- }
147
+ 'WORLD STATE': [
148
+ configToFlag('--world-state-data-directory', worldStateConfigMappings.worldStateDataDirectory),
149
+ configToFlag('--world-state-db-map-size-kb', worldStateConfigMappings.worldStateDbMapSizeKb),
150
+ configToFlag('--world-state-block-history', worldStateConfigMappings.worldStateBlockHistory)
213
151
  ],
214
152
  // We can't easily auto-generate node options as they're parts of modules defined below
215
153
  'AZTEC NODE': [
@@ -217,87 +155,38 @@ export const aztecStartOptions = {
217
155
  flag: '--node',
218
156
  description: 'Starts Aztec Node with options',
219
157
  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'
158
+ env: undefined
253
159
  }
254
160
  ],
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
161
  ARCHIVER: [
277
162
  {
278
163
  flag: '--archiver',
279
164
  description: 'Starts Aztec Archiver with options',
280
165
  defaultValue: undefined,
281
- envVar: undefined
166
+ env: undefined
282
167
  },
283
- // filter out archiverUrl as it's passed separately in --node & --prover-node
284
- ...getOptions('archiver', archiverConfigMappings).filter((opt)=>!opt.flag.includes('archiverUrl'))
168
+ ...getOptions('archiver', omitConfigMappings(archiverConfigMappings, Object.keys(l1ContractsConfigMappings)))
285
169
  ],
286
170
  SEQUENCER: [
287
171
  {
288
172
  flag: '--sequencer',
289
173
  description: 'Starts Aztec Sequencer with options',
290
174
  defaultValue: undefined,
291
- envVar: undefined
175
+ env: undefined
292
176
  },
293
- ...getOptions('sequencer', sequencerClientConfigMappings)
177
+ ...getOptions('sequencer', omitConfigMappings(sequencerClientConfigMappings, [
178
+ 'fakeProcessingDelayPerTxMs',
179
+ 'skipCollectingAttestations',
180
+ 'skipInvalidateBlockAsProposer',
181
+ 'blobSinkMapSizeKb'
182
+ ]))
294
183
  ],
295
184
  'BLOB SINK': [
296
185
  {
297
186
  flag: '--blob-sink',
298
187
  description: 'Starts Aztec Blob Sink with options',
299
188
  defaultValue: undefined,
300
- envVar: undefined
189
+ env: undefined
301
190
  },
302
191
  ...getOptions('blobSink', blobSinkConfigMappings)
303
192
  ],
@@ -306,20 +195,16 @@ export const aztecStartOptions = {
306
195
  flag: '--prover-node',
307
196
  description: 'Starts Aztec Prover Node with options',
308
197
  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'
198
+ env: undefined
316
199
  },
317
200
  ...getOptions('proverNode', omitConfigMappings(proverNodeConfigMappings, [
318
201
  // filter out options passed separately
319
- ...Object.keys(archiverConfigMappings),
320
- ...Object.keys(proverBrokerConfigMappings),
321
- ...Object.keys(proverAgentConfigMappings),
322
- ...Object.keys(p2pConfigMappings)
202
+ ...getKeys(archiverConfigMappings),
203
+ ...getKeys(proverBrokerConfigMappings),
204
+ ...getKeys(proverAgentConfigMappings),
205
+ ...getKeys(p2pConfigMappings),
206
+ ...getKeys(worldStateConfigMappings),
207
+ ...getKeys(sharedNodeConfigMappings)
323
208
  ]))
324
209
  ],
325
210
  'PROVER BROKER': [
@@ -327,7 +212,7 @@ export const aztecStartOptions = {
327
212
  flag: '--prover-broker',
328
213
  description: 'Starts Aztec proving job broker',
329
214
  defaultValue: undefined,
330
- envVar: undefined
215
+ env: undefined
331
216
  },
332
217
  ...getOptions('proverBroker', // filter out archiver options from prover node options as they're passed separately in --archiver
333
218
  proverBrokerConfigMappings)
@@ -337,16 +222,25 @@ export const aztecStartOptions = {
337
222
  flag: '--prover-agent',
338
223
  description: 'Starts Aztec Prover Agent with options',
339
224
  defaultValue: undefined,
340
- envVar: undefined
225
+ env: undefined
341
226
  },
342
227
  ...getOptions('proverAgent', proverAgentConfigMappings)
343
228
  ],
229
+ 'P2P SUBSYSTEM': [
230
+ {
231
+ flag: '--p2p-enabled [value]',
232
+ description: 'Enable P2P subsystem',
233
+ env: 'P2P_ENABLED',
234
+ ...booleanConfigHelper()
235
+ },
236
+ ...getOptions('p2p', p2pConfigMappings)
237
+ ],
344
238
  'P2P BOOTSTRAP': [
345
239
  {
346
240
  flag: '--p2p-bootstrap',
347
241
  description: 'Starts Aztec P2P Bootstrap with options',
348
242
  defaultValue: undefined,
349
- envVar: undefined
243
+ env: undefined
350
244
  },
351
245
  ...getOptions('p2pBootstrap', omitConfigMappings(bootnodeConfigMappings, [
352
246
  'p2pIp',
@@ -356,43 +250,33 @@ export const aztecStartOptions = {
356
250
  'listenAddress'
357
251
  ]))
358
252
  ],
253
+ TELEMETRY: [
254
+ ...getOptions('tel', telemetryClientConfigMappings)
255
+ ],
359
256
  BOT: [
360
257
  {
361
258
  flag: '--bot',
362
259
  description: 'Starts Aztec Bot with options',
363
260
  defaultValue: undefined,
364
- envVar: undefined
261
+ env: undefined
365
262
  },
366
263
  ...getOptions('bot', botConfigMappings)
367
264
  ],
265
+ PXE: [
266
+ {
267
+ flag: '--pxe',
268
+ description: 'Starts Aztec PXE with options',
269
+ defaultValue: undefined,
270
+ env: undefined
271
+ },
272
+ ...getOptions('pxe', allPxeConfigMappings)
273
+ ],
368
274
  TXE: [
369
275
  {
370
276
  flag: '--txe',
371
277
  description: 'Starts Aztec TXE with options',
372
278
  defaultValue: undefined,
373
- envVar: undefined
279
+ env: undefined
374
280
  }
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
281
  ]
398
282
  };
package/dest/cli/cli.d.ts CHANGED
@@ -6,4 +6,4 @@ import { Command } from 'commander';
6
6
  * @param debugLogger - logger for logging debug messages.
7
7
  */
8
8
  export declare function injectAztecCommands(program: Command, userLog: LogFn, debugLogger: Logger): Command;
9
- //# sourceMappingURL=cli.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUtwQzs7OztHQUlHO0FBQ0gsd0JBQWdCLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0F3RmxHIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CA2ClG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAwFlG"}
package/dest/cli/cli.js CHANGED
@@ -24,10 +24,55 @@ import { addOptions, printAztecStartHelpText } from './util.js';
24
24
 
25
25
  Additional commands:
26
26
 
27
+ init [folder] [options]: creates a new Noir project
28
+ Options:
29
+ --name <name> Name of the package
30
+ --contract Use a contract template (default)
31
+ --lib Use a library template
32
+ --bin Use a binary template
33
+ Examples:
34
+ $ aztec init # creates a contract project in current directory
35
+ $ aztec init --lib # creates a library project
36
+
37
+ new <path> [options]: creates a new Noir project in a new directory
38
+ Options:
39
+ --name <name> Name of the package
40
+ --contract Use a contract template (default)
41
+ --lib Use a library template
42
+ --bin Use a binary template
43
+ Examples:
44
+ $ aztec new my-project # creates a contract project in ./my-project
45
+ $ aztec new my-lib --lib # creates a library project in ./my-lib
46
+
47
+ compile [options]: compiles Aztec Noir contracts
48
+ Compiles contracts with nargo compile and then postprocesses them to generate Aztec-specific artifacts including:
49
+ - Transpiled contract artifacts
50
+ - Verification keys
51
+ The compiled contracts will be placed in the target/ directory by default.
52
+ Supports standard nargo compile options.
53
+
54
+ fmt [options]: formats Noir code using nargo fmt
55
+ Example:
56
+ $ aztec fmt # formats all Noir files in the project
57
+
58
+ check [options]: type-checks Noir code without compiling using nargo check
59
+ Example:
60
+ $ aztec check # checks all Noir files in the project
61
+
27
62
  test [options]: starts a dockerized TXE node via
28
63
  $ aztec start --txe
29
64
  then runs
30
- $ aztec-nargo test --silence-warnings --oracle-resolver=<TXE_ADDRESS> [options]
65
+ $ aztec test --silence-warnings --oracle-resolver=<TXE_ADDRESS> [options]
66
+
67
+ lsp: starts the Nargo Language Server Protocol server
68
+ Runs nargo lsp in a Docker container for IDE integration with Noir.
69
+ This command is typically used by IDE extensions and not called directly by users.
70
+ Example:
71
+ $ aztec lsp # starts the LSP server
72
+
73
+ preload-crs: Downloads and caches the Common Reference String (CRS) data required for zero-knowledge proofs.
74
+ Example:
75
+ $ aztec preload-crs # preloads CRS data
31
76
  `);
32
77
  program.command('preload-crs').description('Preload the points data needed for proving and verifying').action(async (options)=>{
33
78
  const { preloadCrs } = await import('./preload_crs.js');
@@ -6,4 +6,4 @@ export type { ArchiverConfig, DataStoreConfig };
6
6
  export declare function startArchiver(options: any, signalHandlers: (() => Promise<void>)[], services: NamespacedApiHandlers): Promise<{
7
7
  config: ArchiverConfig & DataStoreConfig;
8
8
  }>;
9
- //# sourceMappingURL=start_archiver.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvY21kcy9zdGFydF9hcmNoaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsS0FBSyxjQUFjLEVBSXBCLE1BQU0saUJBQWlCLENBQUM7QUFJekIsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFPbEYsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsQ0FBQztBQUVoRCxvQ0FBb0M7QUFDcEMsd0JBQXNCLGFBQWEsQ0FDakMsT0FBTyxFQUFFLEdBQUcsRUFDWixjQUFjLEVBQUUsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQ3ZDLFFBQVEsRUFBRSxxQkFBcUIsR0FDOUIsT0FBTyxDQUFDO0lBQUUsTUFBTSxFQUFFLGNBQWMsR0FBRyxlQUFlLENBQUE7Q0FBRSxDQUFDLENBbUN2RCJ9
@@ -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
  }
@@ -31,7 +31,7 @@ import { extractRelevantOptions } from '../util.js';
31
31
  const storeLog = createLogger('archiver:lmdb');
32
32
  const store = await createStore('archiver', KVArchiverDataStore.SCHEMA_VERSION, archiverConfig, storeLog);
33
33
  const archiverStore = new KVArchiverDataStore(store, archiverConfig.maxLogs);
34
- const telemetry = initTelemetryClient(getTelemetryClientConfig());
34
+ const telemetry = await initTelemetryClient(getTelemetryClientConfig());
35
35
  const blobSinkClient = createBlobSinkClient(archiverConfig, {
36
36
  logger: createLogger('archiver:blob-sink:client')
37
37
  });
@@ -1,3 +1,3 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
2
  export declare function startBlobSink(options: any, signalHandlers: (() => Promise<void>)[], userLog: LogFn): Promise<void>;
3
- //# sourceMappingURL=start_blob_sink.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfYmxvYl9zaW5rLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpL2NtZHMvc3RhcnRfYmxvYl9zaW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBS25ELHdCQUFzQixhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssaUJBNEN4RyJ9
@@ -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) {
@@ -20,7 +20,7 @@ export async function startBlobSink(options, signalHandlers, userLog) {
20
20
  if (typeof blobSinkConfig.l1ChainId !== 'number') {
21
21
  throw new Error('L1_CHAIN_ID');
22
22
  }
23
- const telemetry = initTelemetryClient(getTelemetryClientConfig());
23
+ const telemetry = await initTelemetryClient(getTelemetryClientConfig());
24
24
  const { config: chainConfig, addresses } = await getL1Config(blobSinkConfig.l1Contracts.registryAddress, blobSinkConfig.l1RpcUrls, blobSinkConfig.l1ChainId, blobSinkConfig.rollupVersion);
25
25
  blobSinkConfig = {
26
26
  ...blobSinkConfig,