@aztec/aztec 0.0.0-test.1 → 0.0.1-commit.b655e406

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 (111) hide show
  1. package/dest/bin/index.js +20 -12
  2. package/dest/cli/aztec_start_action.d.ts.map +1 -1
  3. package/dest/cli/aztec_start_action.js +32 -33
  4. package/dest/cli/aztec_start_options.d.ts +4 -2
  5. package/dest/cli/aztec_start_options.d.ts.map +1 -1
  6. package/dest/cli/aztec_start_options.js +137 -207
  7. package/dest/cli/cli.d.ts.map +1 -1
  8. package/dest/cli/cli.js +4 -0
  9. package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
  10. package/dest/cli/cmds/start_archiver.js +18 -10
  11. package/dest/cli/cmds/start_blob_sink.d.ts.map +1 -1
  12. package/dest/cli/cmds/start_blob_sink.js +17 -1
  13. package/dest/cli/cmds/start_bot.d.ts +3 -6
  14. package/dest/cli/cmds/start_bot.d.ts.map +1 -1
  15. package/dest/cli/cmds/start_bot.js +24 -13
  16. package/dest/cli/cmds/start_node.d.ts +1 -1
  17. package/dest/cli/cmds/start_node.d.ts.map +1 -1
  18. package/dest/cli/cmds/start_node.js +66 -79
  19. package/dest/cli/cmds/start_p2p_bootstrap.d.ts.map +1 -1
  20. package/dest/cli/cmds/start_p2p_bootstrap.js +9 -4
  21. package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
  22. package/dest/cli/cmds/start_prover_agent.js +31 -2
  23. package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
  24. package/dest/cli/cmds/start_prover_broker.js +9 -3
  25. package/dest/cli/cmds/start_prover_node.d.ts.map +1 -1
  26. package/dest/cli/cmds/start_prover_node.js +43 -45
  27. package/dest/cli/preload_crs.d.ts +3 -0
  28. package/dest/cli/preload_crs.d.ts.map +1 -0
  29. package/dest/cli/preload_crs.js +6 -0
  30. package/dest/cli/release_version.d.ts +2 -0
  31. package/dest/cli/release_version.d.ts.map +1 -0
  32. package/dest/cli/release_version.js +14 -0
  33. package/dest/cli/util.d.ts +36 -5
  34. package/dest/cli/util.d.ts.map +1 -1
  35. package/dest/cli/util.js +198 -28
  36. package/dest/cli/versioning.js +3 -3
  37. package/dest/examples/token.js +31 -18
  38. package/dest/examples/util.d.ts +4 -5
  39. package/dest/examples/util.d.ts.map +1 -1
  40. package/dest/examples/util.js +5 -6
  41. package/dest/index.d.ts +1 -1
  42. package/dest/index.d.ts.map +1 -1
  43. package/dest/index.js +1 -1
  44. package/dest/sandbox/banana_fpc.d.ts +4 -5
  45. package/dest/sandbox/banana_fpc.d.ts.map +1 -1
  46. package/dest/sandbox/banana_fpc.js +19 -21
  47. package/dest/sandbox/index.d.ts +2 -3
  48. package/dest/sandbox/index.d.ts.map +1 -1
  49. package/dest/sandbox/index.js +2 -3
  50. package/dest/sandbox/sandbox.d.ts +25 -27
  51. package/dest/sandbox/sandbox.d.ts.map +1 -1
  52. package/dest/sandbox/sandbox.js +51 -49
  53. package/dest/sandbox/sponsored_fpc.d.ts +3 -5
  54. package/dest/sandbox/sponsored_fpc.d.ts.map +1 -1
  55. package/dest/sandbox/sponsored_fpc.js +10 -18
  56. package/dest/testing/anvil_test_watcher.d.ts +34 -0
  57. package/dest/testing/anvil_test_watcher.d.ts.map +1 -0
  58. package/dest/testing/anvil_test_watcher.js +142 -0
  59. package/dest/testing/cheat_codes.d.ts +43 -0
  60. package/dest/testing/cheat_codes.d.ts.map +1 -0
  61. package/dest/testing/cheat_codes.js +62 -0
  62. package/dest/testing/index.d.ts +4 -0
  63. package/dest/testing/index.d.ts.map +1 -0
  64. package/dest/testing/index.js +3 -0
  65. package/package.json +47 -41
  66. package/src/bin/index.ts +24 -12
  67. package/src/cli/aztec_start_action.ts +27 -30
  68. package/src/cli/aztec_start_options.ts +155 -207
  69. package/src/cli/cli.ts +8 -0
  70. package/src/cli/cmds/start_archiver.ts +19 -13
  71. package/src/cli/cmds/start_blob_sink.ts +27 -1
  72. package/src/cli/cmds/start_bot.ts +35 -12
  73. package/src/cli/cmds/start_node.ts +89 -84
  74. package/src/cli/cmds/start_p2p_bootstrap.ts +12 -4
  75. package/src/cli/cmds/start_prover_agent.ts +22 -2
  76. package/src/cli/cmds/start_prover_broker.ts +23 -3
  77. package/src/cli/cmds/start_prover_node.ts +53 -50
  78. package/src/cli/preload_crs.ts +7 -0
  79. package/src/cli/release_version.ts +21 -0
  80. package/src/cli/util.ts +208 -34
  81. package/src/cli/versioning.ts +3 -3
  82. package/src/examples/token.ts +23 -19
  83. package/src/examples/util.ts +6 -8
  84. package/src/index.ts +3 -4
  85. package/src/sandbox/banana_fpc.ts +20 -25
  86. package/src/sandbox/index.ts +5 -3
  87. package/src/sandbox/sandbox.ts +70 -57
  88. package/src/sandbox/sponsored_fpc.ts +12 -25
  89. package/src/testing/anvil_test_watcher.ts +164 -0
  90. package/src/testing/cheat_codes.ts +78 -0
  91. package/src/testing/index.ts +3 -0
  92. package/dest/cli/chain_l2_config.d.ts +0 -19
  93. package/dest/cli/chain_l2_config.d.ts.map +0 -1
  94. package/dest/cli/chain_l2_config.js +0 -56
  95. package/dest/cli/cmds/start_faucet.d.ts +0 -4
  96. package/dest/cli/cmds/start_faucet.d.ts.map +0 -1
  97. package/dest/cli/cmds/start_faucet.js +0 -20
  98. package/dest/cli/cmds/start_pxe.d.ts +0 -16
  99. package/dest/cli/cmds/start_pxe.d.ts.map +0 -1
  100. package/dest/cli/cmds/start_pxe.js +0 -95
  101. package/dest/cli/get_l1_config.d.ts +0 -7
  102. package/dest/cli/get_l1_config.d.ts.map +0 -1
  103. package/dest/cli/get_l1_config.js +0 -13
  104. package/dest/sandbox/sponsored_fee_payment_method.d.ts +0 -23
  105. package/dest/sandbox/sponsored_fee_payment_method.d.ts.map +0 -1
  106. package/dest/sandbox/sponsored_fee_payment_method.js +0 -36
  107. package/src/cli/chain_l2_config.ts +0 -74
  108. package/src/cli/cmds/start_faucet.ts +0 -34
  109. package/src/cli/cmds/start_pxe.ts +0 -129
  110. package/src/cli/get_l1_config.ts +0 -18
  111. package/src/sandbox/sponsored_fee_payment_method.ts +0 -46
@@ -1,18 +1,23 @@
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';
5
+ import { l1ContractAddressesMapping, l1ContractsConfigMappings, l1ReaderConfigMappings } from '@aztec/ethereum';
6
+ import { getKeys } from '@aztec/foundation/collection';
6
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 = [];
15
- for (const [key, { env, defaultValue: def, parseEnv, description, printDefault }] of Object.entries(configMappings)){
20
+ for (const [key, { env, defaultValue: def, parseEnv, description, printDefault, fallback }] of Object.entries(configMappings)){
16
21
  if (universalOptions.includes(key)) {
17
22
  continue;
18
23
  }
@@ -22,132 +27,123 @@ export const getOptions = (namespace, configMappings)=>{
22
27
  description,
23
28
  defaultValue: def,
24
29
  printDefault,
25
- envVar: env,
30
+ env: env,
31
+ fallback,
26
32
  parseVal: parseEnv
27
33
  });
28
34
  }
29
35
  return options;
30
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
+ };
31
53
  // These are options used by multiple modules so should be inputted once
32
54
  export const universalOptions = [
33
- 'l1RpcUrls',
34
- 'l1ChainId',
35
- 'l1Contracts',
55
+ 'l1ConsensusHostUrls',
56
+ 'l1ConsensusHostApiKeys',
57
+ 'l1ConsensusHostApiKeyHeaders',
36
58
  'p2pEnabled',
37
- 'dataDirectory'
59
+ ...getKeys(chainConfigMappings),
60
+ ...getKeys(l1ContractsConfigMappings),
61
+ ...getKeys(l1ContractAddressesMapping),
62
+ ...getKeys(l1ReaderConfigMappings),
63
+ ...getKeys(dataConfigMappings),
64
+ ...getKeys(worldStateConfigMappings)
38
65
  ];
66
+ export const NETWORK_FLAG = 'network';
39
67
  // Define categories and options
40
68
  export const aztecStartOptions = {
41
- NETWORK: [
69
+ MISC: [
42
70
  {
43
- flag: '--network <value>',
71
+ flag: `--${NETWORK_FLAG} <value>`,
44
72
  description: 'Network to run Aztec on',
45
73
  defaultValue: undefined,
46
- envVar: 'NETWORK'
47
- }
74
+ env: 'NETWORK'
75
+ },
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)
48
80
  ],
49
81
  SANDBOX: [
50
82
  {
51
83
  flag: '--sandbox',
52
84
  description: 'Starts Aztec Sandbox',
53
85
  defaultValue: undefined,
54
- envVar: undefined
86
+ env: undefined
55
87
  },
56
88
  {
57
- flag: '--sandbox.testAccounts',
58
- description: 'Deploy test accounts on sandbox start',
59
- envVar: 'TEST_ACCOUNTS',
60
- ...booleanConfigHelper(true)
89
+ flag: '--sandbox.l1Mnemonic <value>',
90
+ description: 'Mnemonic for L1 accounts. Will be used ',
91
+ defaultValue: DefaultMnemonic,
92
+ env: 'MNEMONIC'
61
93
  },
62
94
  {
63
- flag: '--sandbox.noPXE',
64
- description: 'Do not expose PXE service on sandbox start',
65
- envVar: 'NO_PXE',
66
- ...booleanConfigHelper()
95
+ flag: '--sandbox.deployAztecContractsSalt <value>',
96
+ description: 'Numeric salt for deploying L1 Aztec contracts before starting the sandbox. Needs mnemonic or private key to be set.',
97
+ env: 'DEPLOY_AZTEC_CONTRACTS_SALT',
98
+ defaultValue: undefined,
99
+ parseVal: (val)=>val ? parseInt(val) : undefined
67
100
  }
68
101
  ],
69
102
  API: [
70
103
  {
71
104
  flag: '--port <value>',
72
- description: 'Port to run the Aztec Services on on',
105
+ description: 'Port to run the Aztec Services on',
73
106
  defaultValue: 8080,
74
- envVar: 'AZTEC_PORT',
107
+ env: 'AZTEC_PORT',
108
+ parseVal: (val)=>parseInt(val, 10)
109
+ },
110
+ {
111
+ flag: '--admin-port <value>',
112
+ description: 'Port to run admin APIs of Aztec Services on',
113
+ defaultValue: 8880,
114
+ env: 'AZTEC_ADMIN_PORT',
75
115
  parseVal: (val)=>parseInt(val, 10)
76
116
  },
77
117
  {
78
118
  flag: '--api-prefix <value>',
79
119
  description: 'Prefix for API routes on any service that is started',
80
120
  defaultValue: '',
81
- envVar: 'API_PREFIX'
121
+ env: 'API_PREFIX'
82
122
  }
83
123
  ],
84
124
  ETHEREUM: [
85
- {
86
- flag: '--l1-rpc-urls <value>',
87
- description: 'List of URLs of the Ethereum RPC nodes that services will connect to (comma separated)',
88
- defaultValue: [
89
- 'http://localhost:8545'
90
- ],
91
- envVar: 'ETHEREUM_HOSTS',
92
- parseVal: (val)=>val.split(',').map((url)=>url.trim())
93
- },
94
- {
95
- flag: '--l1-chain-id <value>',
96
- description: 'The L1 chain ID',
97
- defaultValue: 31337,
98
- envVar: 'L1_CHAIN_ID',
99
- parseVal: (val)=>parseInt(val, 10)
100
- },
101
- {
102
- flag: '--l1-mnemonic <value>',
103
- description: 'Mnemonic for L1 accounts. Will be used if no publisher private keys are provided',
104
- defaultValue: DefaultMnemonic,
105
- envVar: 'MNEMONIC'
106
- }
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)
107
134
  ],
108
- 'L1 CONTRACT ADDRESSES': [
109
- {
110
- flag: '--rollup-address <value>',
111
- description: 'The deployed L1 rollup contract address',
112
- defaultValue: undefined,
113
- envVar: 'ROLLUP_CONTRACT_ADDRESS'
114
- },
115
- {
116
- flag: '--registry-address <value>',
117
- description: 'The deployed L1 registry contract address',
118
- defaultValue: undefined,
119
- envVar: 'REGISTRY_CONTRACT_ADDRESS'
120
- },
121
- {
122
- flag: '--inbox-address <value>',
123
- description: 'The deployed L1 -> L2 inbox contract address',
124
- defaultValue: undefined,
125
- envVar: 'INBOX_CONTRACT_ADDRESS'
126
- },
127
- {
128
- flag: '--outbox-address <value>',
129
- description: 'The deployed L2 -> L1 outbox contract address',
130
- defaultValue: undefined,
131
- envVar: 'OUTBOX_CONTRACT_ADDRESS'
132
- },
133
- {
134
- flag: '--fee-juice-address <value>',
135
- description: 'The deployed L1 Fee Juice contract address',
136
- defaultValue: undefined,
137
- envVar: 'FEE_JUICE_CONTRACT_ADDRESS'
138
- },
139
- {
140
- flag: '--staking-asset-address <value>',
141
- description: 'The deployed L1 Staking Asset contract address',
142
- defaultValue: undefined,
143
- envVar: 'STAKING_ASSET_CONTRACT_ADDRESS'
144
- },
145
- {
146
- flag: '--fee-juice-portal-address <value>',
147
- description: 'The deployed L1 Fee Juice portal contract address',
148
- defaultValue: undefined,
149
- envVar: 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS'
150
- }
135
+ 'L1 CONTRACTS': [
136
+ configToFlag('--registry-address', l1ContractAddressesMapping.registryAddress),
137
+ configToFlag('--rollup-version', chainConfigMappings.rollupVersion)
138
+ ],
139
+ STORAGE: [
140
+ configToFlag('--data-directory', dataConfigMappings.dataDirectory),
141
+ configToFlag('--data-store-map-size-kb', dataConfigMappings.dataStoreMapSizeKb)
142
+ ],
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)
151
147
  ],
152
148
  // We can't easily auto-generate node options as they're parts of modules defined below
153
149
  'AZTEC NODE': [
@@ -155,106 +151,38 @@ export const aztecStartOptions = {
155
151
  flag: '--node',
156
152
  description: 'Starts Aztec Node with options',
157
153
  defaultValue: undefined,
158
- envVar: undefined
159
- },
160
- {
161
- flag: '--data-directory <value>',
162
- description: 'Where to store data. If not set, will store temporarily',
163
- defaultValue: undefined,
164
- envVar: 'DATA_DIRECTORY'
165
- },
166
- {
167
- flag: '--node.archiverUrl <value>',
168
- description: 'URL for an archiver service',
169
- defaultValue: undefined,
170
- envVar: 'ARCHIVER_URL'
171
- },
172
- {
173
- flag: '--node.deployAztecContracts',
174
- description: 'Deploys L1 Aztec contracts before starting the node. Needs mnemonic or private key to be set.',
175
- envVar: 'DEPLOY_AZTEC_CONTRACTS',
176
- defaultValue: undefined
177
- },
178
- {
179
- flag: '--node.deployAztecContractsSalt <value>',
180
- description: 'Numeric salt for deploying L1 Aztec contracts before starting the node. Needs mnemonic or private key to be set. Implies --node.deployAztecContracts.',
181
- envVar: 'DEPLOY_AZTEC_CONTRACTS_SALT',
182
- defaultValue: undefined,
183
- parseVal: (val)=>val ? parseInt(val) : undefined
184
- },
185
- {
186
- flag: '--node.assumeProvenThroughBlockNumber <value>',
187
- description: 'Cheats the rollup contract into assuming every block until this one is proven. Useful for speeding up bootstraps.',
188
- envVar: 'ASSUME_PROVEN_THROUGH_BLOCK_NUMBER',
189
- parseVal: (val)=>parseInt(val, 10),
190
- defaultValue: 0
191
- },
192
- {
193
- flag: '--node.publisherPrivateKey <value>',
194
- description: 'Private key of account for publishing L1 contracts',
195
- defaultValue: undefined,
196
- envVar: 'L1_PRIVATE_KEY'
197
- },
198
- {
199
- flag: '--node.worldStateBlockCheckIntervalMS <value>',
200
- description: 'Frequency in which to check for blocks in ms',
201
- defaultValue: 100,
202
- envVar: 'WS_BLOCK_CHECK_INTERVAL_MS',
203
- parseVal: (val)=>parseInt(val, 10)
204
- },
205
- {
206
- flag: '--node.testAccounts',
207
- description: 'Populate genesis state with initial fee juice for test accounts',
208
- envVar: 'TEST_ACCOUNTS',
209
- ...booleanConfigHelper()
154
+ env: undefined
210
155
  }
211
156
  ],
212
- 'P2P SUBSYSTEM': [
213
- {
214
- flag: '--p2p-enabled',
215
- description: 'Enable P2P subsystem',
216
- envVar: 'P2P_ENABLED',
217
- ...booleanConfigHelper()
218
- },
219
- ...getOptions('p2p', p2pConfigMappings)
220
- ],
221
- TELEMETRY: [
222
- ...getOptions('tel', telemetryClientConfigMappings)
223
- ],
224
- PXE: [
225
- {
226
- flag: '--pxe',
227
- description: 'Starts Aztec PXE with options',
228
- defaultValue: undefined,
229
- envVar: undefined
230
- },
231
- ...getOptions('pxe', allPxeConfigMappings)
232
- ],
233
157
  ARCHIVER: [
234
158
  {
235
159
  flag: '--archiver',
236
160
  description: 'Starts Aztec Archiver with options',
237
161
  defaultValue: undefined,
238
- envVar: undefined
162
+ env: undefined
239
163
  },
240
- // filter out archiverUrl as it's passed separately in --node & --prover-node
241
- ...getOptions('archiver', archiverConfigMappings).filter((opt)=>!opt.flag.includes('archiverUrl'))
164
+ ...getOptions('archiver', omitConfigMappings(archiverConfigMappings, Object.keys(l1ContractsConfigMappings)))
242
165
  ],
243
166
  SEQUENCER: [
244
167
  {
245
168
  flag: '--sequencer',
246
169
  description: 'Starts Aztec Sequencer with options',
247
170
  defaultValue: undefined,
248
- envVar: undefined
171
+ env: undefined
249
172
  },
250
- ...getOptions('sequencer', sequencerClientConfigMappings)
173
+ ...getOptions('sequencer', omitConfigMappings(sequencerClientConfigMappings, [
174
+ 'fakeProcessingDelayPerTxMs',
175
+ 'skipCollectingAttestations',
176
+ 'skipInvalidateBlockAsProposer',
177
+ 'blobSinkMapSizeKb'
178
+ ]))
251
179
  ],
252
- BLOB_SINK: [
180
+ 'BLOB SINK': [
253
181
  {
254
182
  flag: '--blob-sink',
255
183
  description: 'Starts Aztec Blob Sink with options',
256
184
  defaultValue: undefined,
257
- envVar: undefined
185
+ env: undefined
258
186
  },
259
187
  ...getOptions('blobSink', blobSinkConfigMappings)
260
188
  ],
@@ -263,19 +191,16 @@ export const aztecStartOptions = {
263
191
  flag: '--prover-node',
264
192
  description: 'Starts Aztec Prover Node with options',
265
193
  defaultValue: undefined,
266
- envVar: undefined
267
- },
268
- {
269
- flag: '--proverNode.archiverUrl <value>',
270
- description: 'URL for an archiver service',
271
- defaultValue: undefined,
272
- envVar: 'ARCHIVER_URL'
194
+ env: undefined
273
195
  },
274
196
  ...getOptions('proverNode', omitConfigMappings(proverNodeConfigMappings, [
275
197
  // filter out options passed separately
276
- ...Object.keys(archiverConfigMappings),
277
- ...Object.keys(proverBrokerConfigMappings),
278
- ...Object.keys(proverAgentConfigMappings)
198
+ ...getKeys(archiverConfigMappings),
199
+ ...getKeys(proverBrokerConfigMappings),
200
+ ...getKeys(proverAgentConfigMappings),
201
+ ...getKeys(p2pConfigMappings),
202
+ ...getKeys(worldStateConfigMappings),
203
+ ...getKeys(sharedNodeConfigMappings)
279
204
  ]))
280
205
  ],
281
206
  'PROVER BROKER': [
@@ -283,7 +208,7 @@ export const aztecStartOptions = {
283
208
  flag: '--prover-broker',
284
209
  description: 'Starts Aztec proving job broker',
285
210
  defaultValue: undefined,
286
- envVar: undefined
211
+ env: undefined
287
212
  },
288
213
  ...getOptions('proverBroker', // filter out archiver options from prover node options as they're passed separately in --archiver
289
214
  proverBrokerConfigMappings)
@@ -293,56 +218,61 @@ export const aztecStartOptions = {
293
218
  flag: '--prover-agent',
294
219
  description: 'Starts Aztec Prover Agent with options',
295
220
  defaultValue: undefined,
296
- envVar: undefined
221
+ env: undefined
297
222
  },
298
223
  ...getOptions('proverAgent', proverAgentConfigMappings)
299
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
+ ],
300
234
  'P2P BOOTSTRAP': [
301
235
  {
302
236
  flag: '--p2p-bootstrap',
303
237
  description: 'Starts Aztec P2P Bootstrap with options',
304
238
  defaultValue: undefined,
305
- envVar: undefined
306
- },
307
- ...getOptions('p2pBootstrap', bootnodeConfigMappings)
239
+ env: undefined
240
+ },
241
+ ...getOptions('p2pBootstrap', omitConfigMappings(bootnodeConfigMappings, [
242
+ 'p2pIp',
243
+ 'p2pPort',
244
+ 'peerIdPrivateKey',
245
+ 'bootstrapNodes',
246
+ 'listenAddress'
247
+ ]))
248
+ ],
249
+ TELEMETRY: [
250
+ ...getOptions('tel', telemetryClientConfigMappings)
308
251
  ],
309
252
  BOT: [
310
253
  {
311
254
  flag: '--bot',
312
255
  description: 'Starts Aztec Bot with options',
313
256
  defaultValue: undefined,
314
- envVar: undefined
257
+ env: undefined
315
258
  },
316
259
  ...getOptions('bot', botConfigMappings)
317
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
+ ],
318
270
  TXE: [
319
271
  {
320
272
  flag: '--txe',
321
273
  description: 'Starts Aztec TXE with options',
322
274
  defaultValue: undefined,
323
- envVar: undefined
275
+ env: undefined
324
276
  }
325
- ],
326
- FAUCET: [
327
- {
328
- flag: '--faucet',
329
- description: 'Starts the Aztec faucet',
330
- defaultValue: undefined,
331
- envVar: undefined
332
- },
333
- {
334
- flag: '--faucet.apiServer',
335
- description: 'Starts a simple HTTP server to access the faucet',
336
- defaultValue: true,
337
- envVar: undefined
338
- },
339
- {
340
- flag: '--faucet.apiServerPort <value>',
341
- description: 'The port on which to start the api server on',
342
- defaultValue: 8080,
343
- envVar: undefined,
344
- parseVal: (val)=>parseInt(val, 10)
345
- },
346
- ...getOptions('faucet', faucetConfigMapping)
347
277
  ]
348
278
  };
@@ -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,CAmClG"}
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"}
package/dest/cli/cli.js CHANGED
@@ -29,5 +29,9 @@ import { addOptions, printAztecStartHelpText } from './util.js';
29
29
  then runs
30
30
  $ aztec-nargo test --silence-warnings --oracle-resolver=<TXE_ADDRESS> [options]
31
31
  `);
32
+ program.command('preload-crs').description('Preload the points data needed for proving and verifying').action(async (options)=>{
33
+ const { preloadCrs } = await import('./preload_crs.js');
34
+ return await preloadCrs(options, userLog, debugLogger);
35
+ });
32
36
  return program;
33
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"start_archiver.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAA+C,MAAM,iBAAiB,CAAC;AAG7G,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,32 +1,40 @@
1
- import { Archiver, KVArchiverDataStore, archiverConfigMappings } from '@aztec/archiver';
2
- import { createLogger } from '@aztec/aztec.js';
3
- import { createBlobSinkClient } from '@aztec/blob-sink/client';
1
+ import { Archiver, KVArchiverDataStore, archiverConfigMappings, getArchiverConfigFromEnv } from '@aztec/archiver';
2
+ import { createLogger } from '@aztec/aztec.js/log';
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
- let archiverConfig = extractRelevantOptions(options, {
11
+ const envConfig = getArchiverConfigFromEnv();
12
+ const cliOptions = extractRelevantOptions(options, {
12
13
  ...archiverConfigMappings,
13
- ...dataConfigMappings
14
+ ...dataConfigMappings,
15
+ ...blobSinkConfigMapping
14
16
  }, 'archiver');
17
+ let archiverConfig = {
18
+ ...envConfig,
19
+ ...cliOptions
20
+ };
21
+ archiverConfig.dataStoreMapSizeKb = archiverConfig.archiverStoreMapSizeKb ?? archiverConfig.dataStoreMapSizeKb;
15
22
  if (!archiverConfig.l1Contracts.registryAddress || archiverConfig.l1Contracts.registryAddress.isZero()) {
16
23
  throw new Error('L1 registry address is required to start an Archiver');
17
24
  }
18
- const { addresses, config } = await getL1Config(archiverConfig.l1Contracts.registryAddress, archiverConfig.l1RpcUrls, archiverConfig.l1ChainId);
25
+ const { addresses, config: l1Config } = await getL1Config(archiverConfig.l1Contracts.registryAddress, archiverConfig.l1RpcUrls, archiverConfig.l1ChainId);
19
26
  archiverConfig.l1Contracts = addresses;
20
27
  archiverConfig = {
21
28
  ...archiverConfig,
22
- ...config
29
+ ...l1Config
23
30
  };
24
31
  const storeLog = createLogger('archiver:lmdb');
25
32
  const store = await createStore('archiver', KVArchiverDataStore.SCHEMA_VERSION, archiverConfig, storeLog);
26
33
  const archiverStore = new KVArchiverDataStore(store, archiverConfig.maxLogs);
27
34
  const telemetry = initTelemetryClient(getTelemetryClientConfig());
28
- // TODO(https://github.com/AztecProtocol/aztec-packages/issues/10056): place CL url in config here
29
- const blobSinkClient = createBlobSinkClient();
35
+ const blobSinkClient = createBlobSinkClient(archiverConfig, {
36
+ logger: createLogger('archiver:blob-sink:client')
37
+ });
30
38
  const archiver = await Archiver.createAndSync(archiverConfig, archiverStore, {
31
39
  telemetry,
32
40
  blobSinkClient
@@ -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;AAKnD,wBAAsB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,iBAmBxG"}
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,4 +1,5 @@
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
4
  import { extractRelevantOptions } from '../util.js';
4
5
  export async function startBlobSink(options, signalHandlers, userLog) {
@@ -6,11 +7,26 @@ export async function startBlobSink(options, signalHandlers, userLog) {
6
7
  userLog(`Starting a blob sink with --node, --sequencer, --pxe, --p2p-bootstrap, --prover or --txe is not supported.`);
7
8
  process.exit(1);
8
9
  }
9
- const blobSinkConfig = {
10
+ let blobSinkConfig = {
10
11
  ...getBlobSinkConfigFromEnv(),
11
12
  ...extractRelevantOptions(options, blobSinkConfigMappings, 'blobSink')
12
13
  };
14
+ if (!blobSinkConfig.l1Contracts?.registryAddress || blobSinkConfig.l1Contracts.registryAddress.isZero()) {
15
+ throw new Error('REGISTRY_CONTRACT_ADDRESS not set');
16
+ }
17
+ if (!blobSinkConfig.l1RpcUrls || blobSinkConfig.l1RpcUrls.length === 0) {
18
+ throw new Error('ETHEREUM_HOSTS not set');
19
+ }
20
+ if (typeof blobSinkConfig.l1ChainId !== 'number') {
21
+ throw new Error('L1_CHAIN_ID');
22
+ }
13
23
  const telemetry = initTelemetryClient(getTelemetryClientConfig());
24
+ const { config: chainConfig, addresses } = await getL1Config(blobSinkConfig.l1Contracts.registryAddress, blobSinkConfig.l1RpcUrls, blobSinkConfig.l1ChainId, blobSinkConfig.rollupVersion);
25
+ blobSinkConfig = {
26
+ ...blobSinkConfig,
27
+ l1Contracts: addresses,
28
+ ...chainConfig
29
+ };
14
30
  const blobSink = await createBlobSinkServer(blobSinkConfig, telemetry);
15
31
  signalHandlers.push(blobSink.stop.bind(blobSink));
16
32
  await blobSink.start();
@@ -1,11 +1,8 @@
1
1
  import type { NamespacedApiHandlers } from '@aztec/foundation/json-rpc/server';
2
2
  import type { LogFn } from '@aztec/foundation/log';
3
- import type { AztecNode, PXE } from '@aztec/stdlib/interfaces/client';
3
+ import { type AztecNode, type AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
4
4
  import type { TelemetryClient } from '@aztec/telemetry-client';
5
+ import { TestWallet } from '@aztec/test-wallet/server';
5
6
  export declare function startBot(options: any, signalHandlers: (() => Promise<void>)[], services: NamespacedApiHandlers, userLog: LogFn): Promise<void>;
6
- export declare function addBot(options: any, signalHandlers: (() => Promise<void>)[], services: NamespacedApiHandlers, deps: {
7
- pxe?: PXE;
8
- node?: AztecNode;
9
- telemetry: TelemetryClient;
10
- }): Promise<void>;
7
+ export declare function addBot(options: any, signalHandlers: (() => Promise<void>)[], services: NamespacedApiHandlers, wallet: TestWallet, aztecNode: AztecNode, telemetry: TelemetryClient, aztecNodeAdmin?: AztecNodeAdmin): Promise<void>;
11
8
  //# sourceMappingURL=start_bot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"start_bot.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_bot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK/D,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,KAAK,iBAkBf;AAED,wBAAgB,MAAM,CACpB,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,eAAe,CAAA;CAAE,iBAWlE"}
1
+ {"version":3,"file":"start_bot.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_bot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAyB,MAAM,iCAAiC,CAAC;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAKvD,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,KAAK,iBAuBf;AAED,wBAAsB,MAAM,CAC1B,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,eAAe,EAC1B,cAAc,CAAC,EAAE,cAAc,iBAkBhC"}