@aztec/aztec 0.0.0-test.1 → 0.0.1-commit.5476d83

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 (139) hide show
  1. package/README.md +1 -1
  2. package/dest/bin/index.d.ts +1 -1
  3. package/dest/bin/index.js +20 -12
  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 +36 -37
  7. package/dest/cli/aztec_start_options.d.ts +5 -3
  8. package/dest/cli/aztec_start_options.d.ts.map +1 -1
  9. package/dest/cli/aztec_start_options.js +142 -210
  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 +50 -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 +18 -10
  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 +17 -1
  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 +24 -13
  22. package/dest/cli/cmds/start_node.d.ts +2 -2
  23. package/dest/cli/cmds/start_node.d.ts.map +1 -1
  24. package/dest/cli/cmds/start_node.js +67 -80
  25. package/dest/cli/cmds/start_p2p_bootstrap.d.ts +1 -1
  26. package/dest/cli/cmds/start_p2p_bootstrap.d.ts.map +1 -1
  27. package/dest/cli/cmds/start_p2p_bootstrap.js +9 -4
  28. package/dest/cli/cmds/start_prover_agent.d.ts +1 -1
  29. package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
  30. package/dest/cli/cmds/start_prover_agent.js +31 -2
  31. package/dest/cli/cmds/start_prover_broker.d.ts +1 -1
  32. package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
  33. package/dest/cli/cmds/start_prover_broker.js +9 -3
  34. package/dest/cli/cmds/start_prover_node.d.ts +1 -1
  35. package/dest/cli/cmds/start_prover_node.d.ts.map +1 -1
  36. package/dest/cli/cmds/start_prover_node.js +43 -45
  37. package/dest/cli/cmds/start_txe.d.ts +1 -1
  38. package/dest/cli/index.d.ts +1 -1
  39. package/dest/cli/preload_crs.d.ts +3 -0
  40. package/dest/cli/preload_crs.d.ts.map +1 -0
  41. package/dest/cli/preload_crs.js +6 -0
  42. package/dest/cli/release_version.d.ts +2 -0
  43. package/dest/cli/release_version.d.ts.map +1 -0
  44. package/dest/cli/release_version.js +14 -0
  45. package/dest/cli/util.d.ts +38 -7
  46. package/dest/cli/util.d.ts.map +1 -1
  47. package/dest/cli/util.js +198 -28
  48. package/dest/cli/versioning.d.ts +1 -1
  49. package/dest/cli/versioning.js +3 -3
  50. package/dest/examples/token.d.ts +1 -1
  51. package/dest/examples/token.js +31 -18
  52. package/dest/examples/util.d.ts +5 -6
  53. package/dest/examples/util.d.ts.map +1 -1
  54. package/dest/examples/util.js +5 -6
  55. package/dest/index.d.ts +2 -2
  56. package/dest/index.d.ts.map +1 -1
  57. package/dest/index.js +1 -1
  58. package/dest/local-network/banana_fpc.d.ts +10 -0
  59. package/dest/local-network/banana_fpc.d.ts.map +1 -0
  60. package/dest/{sandbox → local-network}/banana_fpc.js +19 -21
  61. package/dest/local-network/index.d.ts +4 -0
  62. package/dest/local-network/index.d.ts.map +1 -0
  63. package/dest/local-network/index.js +3 -0
  64. package/dest/local-network/local-network.d.ts +74 -0
  65. package/dest/local-network/local-network.d.ts.map +1 -0
  66. package/dest/{sandbox/sandbox.js → local-network/local-network.js} +59 -57
  67. package/dest/local-network/sponsored_fpc.d.ts +5 -0
  68. package/dest/local-network/sponsored_fpc.d.ts.map +1 -0
  69. package/dest/local-network/sponsored_fpc.js +18 -0
  70. package/dest/mnemonic.d.ts +1 -1
  71. package/dest/splash.d.ts +1 -1
  72. package/dest/testing/anvil_test_watcher.d.ts +34 -0
  73. package/dest/testing/anvil_test_watcher.d.ts.map +1 -0
  74. package/dest/testing/anvil_test_watcher.js +144 -0
  75. package/dest/testing/cheat_codes.d.ts +41 -0
  76. package/dest/testing/cheat_codes.d.ts.map +1 -0
  77. package/dest/testing/cheat_codes.js +62 -0
  78. package/dest/testing/index.d.ts +4 -0
  79. package/dest/testing/index.d.ts.map +1 -0
  80. package/dest/testing/index.js +3 -0
  81. package/package.json +51 -44
  82. package/src/bin/index.ts +24 -12
  83. package/src/cli/aztec_start_action.ts +32 -35
  84. package/src/cli/aztec_start_options.ts +161 -210
  85. package/src/cli/cli.ts +54 -1
  86. package/src/cli/cmds/start_archiver.ts +19 -13
  87. package/src/cli/cmds/start_blob_sink.ts +27 -1
  88. package/src/cli/cmds/start_bot.ts +35 -12
  89. package/src/cli/cmds/start_node.ts +90 -85
  90. package/src/cli/cmds/start_p2p_bootstrap.ts +12 -4
  91. package/src/cli/cmds/start_prover_agent.ts +22 -2
  92. package/src/cli/cmds/start_prover_broker.ts +23 -3
  93. package/src/cli/cmds/start_prover_node.ts +53 -50
  94. package/src/cli/preload_crs.ts +7 -0
  95. package/src/cli/release_version.ts +21 -0
  96. package/src/cli/util.ts +208 -34
  97. package/src/cli/versioning.ts +3 -3
  98. package/src/examples/token.ts +23 -19
  99. package/src/examples/util.ts +6 -8
  100. package/src/index.ts +5 -6
  101. package/src/{sandbox → local-network}/banana_fpc.ts +20 -25
  102. package/src/local-network/index.ts +7 -0
  103. package/src/{sandbox/sandbox.ts → local-network/local-network.ts} +81 -68
  104. package/src/local-network/sponsored_fpc.ts +26 -0
  105. package/src/testing/anvil_test_watcher.ts +166 -0
  106. package/src/testing/cheat_codes.ts +78 -0
  107. package/src/testing/index.ts +3 -0
  108. package/dest/cli/chain_l2_config.d.ts +0 -19
  109. package/dest/cli/chain_l2_config.d.ts.map +0 -1
  110. package/dest/cli/chain_l2_config.js +0 -56
  111. package/dest/cli/cmds/start_faucet.d.ts +0 -4
  112. package/dest/cli/cmds/start_faucet.d.ts.map +0 -1
  113. package/dest/cli/cmds/start_faucet.js +0 -20
  114. package/dest/cli/cmds/start_pxe.d.ts +0 -16
  115. package/dest/cli/cmds/start_pxe.d.ts.map +0 -1
  116. package/dest/cli/cmds/start_pxe.js +0 -95
  117. package/dest/cli/get_l1_config.d.ts +0 -7
  118. package/dest/cli/get_l1_config.d.ts.map +0 -1
  119. package/dest/cli/get_l1_config.js +0 -13
  120. package/dest/sandbox/banana_fpc.d.ts +0 -11
  121. package/dest/sandbox/banana_fpc.d.ts.map +0 -1
  122. package/dest/sandbox/index.d.ts +0 -5
  123. package/dest/sandbox/index.d.ts.map +0 -1
  124. package/dest/sandbox/index.js +0 -4
  125. package/dest/sandbox/sandbox.d.ts +0 -76
  126. package/dest/sandbox/sandbox.d.ts.map +0 -1
  127. package/dest/sandbox/sponsored_fee_payment_method.d.ts +0 -23
  128. package/dest/sandbox/sponsored_fee_payment_method.d.ts.map +0 -1
  129. package/dest/sandbox/sponsored_fee_payment_method.js +0 -36
  130. package/dest/sandbox/sponsored_fpc.d.ts +0 -6
  131. package/dest/sandbox/sponsored_fpc.d.ts.map +0 -1
  132. package/dest/sandbox/sponsored_fpc.js +0 -26
  133. package/src/cli/chain_l2_config.ts +0 -74
  134. package/src/cli/cmds/start_faucet.ts +0 -34
  135. package/src/cli/cmds/start_pxe.ts +0 -129
  136. package/src/cli/get_l1_config.ts +0 -18
  137. package/src/sandbox/index.ts +0 -5
  138. package/src/sandbox/sponsored_fee_payment_method.ts +0 -46
  139. package/src/sandbox/sponsored_fpc.ts +0 -38
@@ -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,125 @@ 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
+ 'fishermanMode',
60
+ ...getKeys(chainConfigMappings),
61
+ ...getKeys(l1ContractsConfigMappings),
62
+ ...getKeys(l1ContractAddressesMapping),
63
+ ...getKeys(l1ReaderConfigMappings),
64
+ ...getKeys(dataConfigMappings),
65
+ ...getKeys(worldStateConfigMappings)
38
66
  ];
67
+ export const NETWORK_FLAG = 'network';
39
68
  // Define categories and options
40
69
  export const aztecStartOptions = {
41
- NETWORK: [
70
+ MISC: [
42
71
  {
43
- flag: '--network <value>',
72
+ flag: `--${NETWORK_FLAG} <value>`,
44
73
  description: 'Network to run Aztec on',
45
74
  defaultValue: undefined,
46
- envVar: 'NETWORK'
47
- }
75
+ env: 'NETWORK'
76
+ },
77
+ configToFlag('--auto-update', sharedNodeConfigMappings.autoUpdate),
78
+ configToFlag('--auto-update-url', sharedNodeConfigMappings.autoUpdateUrl),
79
+ configToFlag('--sync-mode', sharedNodeConfigMappings.syncMode),
80
+ configToFlag('--snapshots-urls', sharedNodeConfigMappings.snapshotsUrls),
81
+ configToFlag('--fisherman-mode', sharedNodeConfigMappings.fishermanMode)
48
82
  ],
49
- SANDBOX: [
83
+ LOCAL_NETWORK: [
50
84
  {
51
- flag: '--sandbox',
52
- description: 'Starts Aztec Sandbox',
85
+ flag: '--local-network',
86
+ description: 'Starts Aztec Local Network',
53
87
  defaultValue: undefined,
54
- envVar: undefined
88
+ env: undefined
55
89
  },
56
90
  {
57
- flag: '--sandbox.testAccounts',
58
- description: 'Deploy test accounts on sandbox start',
59
- envVar: 'TEST_ACCOUNTS',
60
- ...booleanConfigHelper(true)
91
+ flag: '--local-network.l1Mnemonic <value>',
92
+ description: 'Mnemonic for L1 accounts. Will be used ',
93
+ defaultValue: DefaultMnemonic,
94
+ env: 'MNEMONIC'
61
95
  },
62
96
  {
63
- flag: '--sandbox.noPXE',
64
- description: 'Do not expose PXE service on sandbox start',
65
- envVar: 'NO_PXE',
66
- ...booleanConfigHelper()
97
+ flag: '--local-network.deployAztecContractsSalt <value>',
98
+ description: 'Numeric salt for deploying L1 Aztec contracts before starting the local network. Needs mnemonic or private key to be set.',
99
+ env: 'DEPLOY_AZTEC_CONTRACTS_SALT',
100
+ defaultValue: undefined,
101
+ parseVal: (val)=>val ? parseInt(val) : undefined
67
102
  }
68
103
  ],
69
104
  API: [
70
105
  {
71
106
  flag: '--port <value>',
72
- description: 'Port to run the Aztec Services on on',
107
+ description: 'Port to run the Aztec Services on',
73
108
  defaultValue: 8080,
74
- envVar: 'AZTEC_PORT',
109
+ env: 'AZTEC_PORT',
110
+ parseVal: (val)=>parseInt(val, 10)
111
+ },
112
+ {
113
+ flag: '--admin-port <value>',
114
+ description: 'Port to run admin APIs of Aztec Services on',
115
+ defaultValue: 8880,
116
+ env: 'AZTEC_ADMIN_PORT',
75
117
  parseVal: (val)=>parseInt(val, 10)
76
118
  },
77
119
  {
78
120
  flag: '--api-prefix <value>',
79
121
  description: 'Prefix for API routes on any service that is started',
80
122
  defaultValue: '',
81
- envVar: 'API_PREFIX'
123
+ env: 'API_PREFIX'
82
124
  }
83
125
  ],
84
126
  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
- }
127
+ configToFlag('--l1-chain-id', l1ReaderConfigMappings.l1ChainId),
128
+ // Do not set default for CLI: keep undefined unless provided via flag or env
129
+ configToFlag('--l1-rpc-urls', {
130
+ ...l1ReaderConfigMappings.l1RpcUrls,
131
+ defaultValue: undefined
132
+ }),
133
+ configToFlag('--l1-consensus-host-urls', blobSinkConfigMappings.l1ConsensusHostUrls),
134
+ configToFlag('--l1-consensus-host-api-keys', blobSinkConfigMappings.l1ConsensusHostApiKeys),
135
+ configToFlag('--l1-consensus-host-api-key-headers', blobSinkConfigMappings.l1ConsensusHostApiKeyHeaders)
107
136
  ],
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
- }
137
+ 'L1 CONTRACTS': [
138
+ configToFlag('--registry-address', l1ContractAddressesMapping.registryAddress),
139
+ configToFlag('--rollup-version', chainConfigMappings.rollupVersion)
140
+ ],
141
+ STORAGE: [
142
+ configToFlag('--data-directory', dataConfigMappings.dataDirectory),
143
+ configToFlag('--data-store-map-size-kb', dataConfigMappings.dataStoreMapSizeKb)
144
+ ],
145
+ 'WORLD STATE': [
146
+ configToFlag('--world-state-data-directory', worldStateConfigMappings.worldStateDataDirectory),
147
+ configToFlag('--world-state-db-map-size-kb', worldStateConfigMappings.worldStateDbMapSizeKb),
148
+ configToFlag('--world-state-block-history', worldStateConfigMappings.worldStateBlockHistory)
151
149
  ],
152
150
  // We can't easily auto-generate node options as they're parts of modules defined below
153
151
  'AZTEC NODE': [
@@ -155,106 +153,38 @@ export const aztecStartOptions = {
155
153
  flag: '--node',
156
154
  description: 'Starts Aztec Node with options',
157
155
  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()
156
+ env: undefined
210
157
  }
211
158
  ],
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
159
  ARCHIVER: [
234
160
  {
235
161
  flag: '--archiver',
236
162
  description: 'Starts Aztec Archiver with options',
237
163
  defaultValue: undefined,
238
- envVar: undefined
164
+ env: undefined
239
165
  },
240
- // filter out archiverUrl as it's passed separately in --node & --prover-node
241
- ...getOptions('archiver', archiverConfigMappings).filter((opt)=>!opt.flag.includes('archiverUrl'))
166
+ ...getOptions('archiver', omitConfigMappings(archiverConfigMappings, Object.keys(l1ContractsConfigMappings)))
242
167
  ],
243
168
  SEQUENCER: [
244
169
  {
245
170
  flag: '--sequencer',
246
171
  description: 'Starts Aztec Sequencer with options',
247
172
  defaultValue: undefined,
248
- envVar: undefined
173
+ env: undefined
249
174
  },
250
- ...getOptions('sequencer', sequencerClientConfigMappings)
175
+ ...getOptions('sequencer', omitConfigMappings(sequencerClientConfigMappings, [
176
+ 'fakeProcessingDelayPerTxMs',
177
+ 'skipCollectingAttestations',
178
+ 'skipInvalidateBlockAsProposer',
179
+ 'blobSinkMapSizeKb'
180
+ ]))
251
181
  ],
252
- BLOB_SINK: [
182
+ 'BLOB SINK': [
253
183
  {
254
184
  flag: '--blob-sink',
255
185
  description: 'Starts Aztec Blob Sink with options',
256
186
  defaultValue: undefined,
257
- envVar: undefined
187
+ env: undefined
258
188
  },
259
189
  ...getOptions('blobSink', blobSinkConfigMappings)
260
190
  ],
@@ -263,19 +193,16 @@ export const aztecStartOptions = {
263
193
  flag: '--prover-node',
264
194
  description: 'Starts Aztec Prover Node with options',
265
195
  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'
196
+ env: undefined
273
197
  },
274
198
  ...getOptions('proverNode', omitConfigMappings(proverNodeConfigMappings, [
275
199
  // filter out options passed separately
276
- ...Object.keys(archiverConfigMappings),
277
- ...Object.keys(proverBrokerConfigMappings),
278
- ...Object.keys(proverAgentConfigMappings)
200
+ ...getKeys(archiverConfigMappings),
201
+ ...getKeys(proverBrokerConfigMappings),
202
+ ...getKeys(proverAgentConfigMappings),
203
+ ...getKeys(p2pConfigMappings),
204
+ ...getKeys(worldStateConfigMappings),
205
+ ...getKeys(sharedNodeConfigMappings)
279
206
  ]))
280
207
  ],
281
208
  'PROVER BROKER': [
@@ -283,7 +210,7 @@ export const aztecStartOptions = {
283
210
  flag: '--prover-broker',
284
211
  description: 'Starts Aztec proving job broker',
285
212
  defaultValue: undefined,
286
- envVar: undefined
213
+ env: undefined
287
214
  },
288
215
  ...getOptions('proverBroker', // filter out archiver options from prover node options as they're passed separately in --archiver
289
216
  proverBrokerConfigMappings)
@@ -293,56 +220,61 @@ export const aztecStartOptions = {
293
220
  flag: '--prover-agent',
294
221
  description: 'Starts Aztec Prover Agent with options',
295
222
  defaultValue: undefined,
296
- envVar: undefined
223
+ env: undefined
297
224
  },
298
225
  ...getOptions('proverAgent', proverAgentConfigMappings)
299
226
  ],
227
+ 'P2P SUBSYSTEM': [
228
+ {
229
+ flag: '--p2p-enabled [value]',
230
+ description: 'Enable P2P subsystem',
231
+ env: 'P2P_ENABLED',
232
+ ...booleanConfigHelper()
233
+ },
234
+ ...getOptions('p2p', p2pConfigMappings)
235
+ ],
300
236
  'P2P BOOTSTRAP': [
301
237
  {
302
238
  flag: '--p2p-bootstrap',
303
239
  description: 'Starts Aztec P2P Bootstrap with options',
304
240
  defaultValue: undefined,
305
- envVar: undefined
306
- },
307
- ...getOptions('p2pBootstrap', bootnodeConfigMappings)
241
+ env: undefined
242
+ },
243
+ ...getOptions('p2pBootstrap', omitConfigMappings(bootnodeConfigMappings, [
244
+ 'p2pIp',
245
+ 'p2pPort',
246
+ 'peerIdPrivateKey',
247
+ 'bootstrapNodes',
248
+ 'listenAddress'
249
+ ]))
250
+ ],
251
+ TELEMETRY: [
252
+ ...getOptions('tel', telemetryClientConfigMappings)
308
253
  ],
309
254
  BOT: [
310
255
  {
311
256
  flag: '--bot',
312
257
  description: 'Starts Aztec Bot with options',
313
258
  defaultValue: undefined,
314
- envVar: undefined
259
+ env: undefined
315
260
  },
316
261
  ...getOptions('bot', botConfigMappings)
317
262
  ],
263
+ PXE: [
264
+ {
265
+ flag: '--pxe',
266
+ description: 'Starts Aztec PXE with options',
267
+ defaultValue: undefined,
268
+ env: undefined
269
+ },
270
+ ...getOptions('pxe', allPxeConfigMappings)
271
+ ],
318
272
  TXE: [
319
273
  {
320
274
  flag: '--txe',
321
275
  description: 'Starts Aztec TXE with options',
322
276
  defaultValue: undefined,
323
- envVar: undefined
277
+ env: undefined
324
278
  }
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
279
  ]
348
280
  };
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,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,CAwFlG"}
package/dest/cli/cli.js CHANGED
@@ -24,10 +24,59 @@ 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
  `);
77
+ program.command('preload-crs').description('Preload the points data needed for proving and verifying').action(async (options)=>{
78
+ const { preloadCrs } = await import('./preload_crs.js');
79
+ return await preloadCrs(options, userLog, debugLogger);
80
+ });
32
81
  return program;
33
82
  }
@@ -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,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,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;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"}