@aztec/aztec 3.0.0-canary.a9708bd → 3.0.0-devnet.20251212
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.
- package/README.md +1 -1
- package/dest/bin/index.d.ts +1 -1
- package/dest/bin/index.js +9 -9
- package/dest/cli/aztec_start_action.d.ts +1 -1
- package/dest/cli/aztec_start_action.d.ts.map +1 -1
- package/dest/cli/aztec_start_action.js +10 -25
- package/dest/cli/aztec_start_options.d.ts +2 -2
- package/dest/cli/aztec_start_options.d.ts.map +1 -1
- package/dest/cli/aztec_start_options.js +115 -231
- package/dest/cli/cli.d.ts +1 -1
- package/dest/cli/cli.d.ts.map +1 -1
- package/dest/cli/cli.js +46 -1
- package/dest/cli/cmds/start_archiver.d.ts +1 -1
- package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
- package/dest/cli/cmds/start_archiver.js +4 -4
- package/dest/cli/cmds/start_blob_sink.d.ts +1 -1
- package/dest/cli/cmds/start_blob_sink.d.ts.map +1 -1
- package/dest/cli/cmds/start_blob_sink.js +2 -2
- package/dest/cli/cmds/start_bot.d.ts +4 -7
- package/dest/cli/cmds/start_bot.d.ts.map +1 -1
- package/dest/cli/cmds/start_bot.js +25 -14
- package/dest/cli/cmds/start_node.d.ts +1 -1
- package/dest/cli/cmds/start_node.d.ts.map +1 -1
- package/dest/cli/cmds/start_node.js +13 -30
- package/dest/cli/cmds/start_p2p_bootstrap.d.ts +1 -1
- package/dest/cli/cmds/start_p2p_bootstrap.js +1 -1
- package/dest/cli/cmds/start_prover_agent.d.ts +1 -1
- package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
- package/dest/cli/cmds/start_prover_agent.js +11 -2
- package/dest/cli/cmds/start_prover_broker.d.ts +1 -1
- package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
- package/dest/cli/cmds/start_prover_broker.js +8 -3
- package/dest/cli/cmds/start_prover_node.d.ts +1 -1
- package/dest/cli/cmds/start_prover_node.d.ts.map +1 -1
- package/dest/cli/cmds/start_prover_node.js +17 -12
- package/dest/cli/cmds/start_txe.d.ts +1 -1
- package/dest/cli/index.d.ts +1 -1
- package/dest/cli/preload_crs.d.ts +1 -1
- package/dest/cli/release_version.d.ts +1 -1
- package/dest/cli/util.d.ts +12 -10
- package/dest/cli/util.d.ts.map +1 -1
- package/dest/cli/util.js +13 -13
- package/dest/cli/versioning.d.ts +1 -1
- package/dest/cli/versioning.js +3 -3
- package/dest/examples/token.d.ts +1 -1
- package/dest/examples/token.js +18 -16
- package/dest/examples/util.d.ts +3 -3
- package/dest/examples/util.d.ts.map +1 -1
- package/dest/examples/util.js +1 -1
- package/dest/index.d.ts +2 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -1
- package/dest/local-network/banana_fpc.d.ts +10 -0
- package/dest/local-network/banana_fpc.d.ts.map +1 -0
- package/dest/{sandbox → local-network}/banana_fpc.js +15 -19
- package/dest/local-network/index.d.ts +4 -0
- package/dest/local-network/index.d.ts.map +1 -0
- package/dest/local-network/index.js +3 -0
- package/dest/local-network/local-network.d.ts +74 -0
- package/dest/local-network/local-network.d.ts.map +1 -0
- package/dest/{sandbox/sandbox.js → local-network/local-network.js} +35 -43
- package/dest/local-network/sponsored_fpc.d.ts +5 -0
- package/dest/local-network/sponsored_fpc.d.ts.map +1 -0
- package/dest/{sandbox → local-network}/sponsored_fpc.js +7 -8
- package/dest/mnemonic.d.ts +1 -1
- package/dest/splash.d.ts +1 -1
- package/dest/testing/anvil_test_watcher.d.ts +4 -4
- package/dest/testing/anvil_test_watcher.d.ts.map +1 -1
- package/dest/testing/anvil_test_watcher.js +19 -18
- package/dest/testing/cheat_codes.d.ts +7 -10
- package/dest/testing/cheat_codes.d.ts.map +1 -1
- package/dest/testing/cheat_codes.js +9 -10
- package/dest/testing/index.d.ts +1 -2
- package/dest/testing/index.d.ts.map +1 -1
- package/dest/testing/index.js +0 -1
- package/package.json +38 -36
- package/src/bin/index.ts +9 -9
- package/src/cli/aztec_start_action.ts +10 -22
- package/src/cli/aztec_start_options.ts +124 -238
- package/src/cli/cli.ts +46 -1
- package/src/cli/cmds/start_archiver.ts +4 -4
- package/src/cli/cmds/start_blob_sink.ts +2 -2
- package/src/cli/cmds/start_bot.ts +36 -13
- package/src/cli/cmds/start_node.ts +16 -27
- package/src/cli/cmds/start_p2p_bootstrap.ts +1 -1
- package/src/cli/cmds/start_prover_agent.ts +7 -2
- package/src/cli/cmds/start_prover_broker.ts +17 -3
- package/src/cli/cmds/start_prover_node.ts +14 -14
- package/src/cli/util.ts +21 -18
- package/src/cli/versioning.ts +3 -3
- package/src/examples/token.ts +20 -17
- package/src/examples/util.ts +2 -2
- package/src/index.ts +5 -5
- package/src/{sandbox → local-network}/banana_fpc.ts +16 -21
- package/src/local-network/index.ts +7 -0
- package/src/{sandbox/sandbox.ts → local-network/local-network.ts} +42 -55
- package/src/local-network/sponsored_fpc.ts +26 -0
- package/src/testing/anvil_test_watcher.ts +18 -19
- package/src/testing/cheat_codes.ts +13 -13
- package/src/testing/index.ts +0 -1
- package/dest/cli/chain_l2_config.d.ts +0 -31
- package/dest/cli/chain_l2_config.d.ts.map +0 -1
- package/dest/cli/chain_l2_config.js +0 -261
- package/dest/cli/cmds/start_faucet.d.ts +0 -4
- package/dest/cli/cmds/start_faucet.d.ts.map +0 -1
- package/dest/cli/cmds/start_faucet.js +0 -20
- package/dest/cli/cmds/start_pxe.d.ts +0 -16
- package/dest/cli/cmds/start_pxe.d.ts.map +0 -1
- package/dest/cli/cmds/start_pxe.js +0 -31
- package/dest/cli/get_l1_config.d.ts +0 -7
- package/dest/cli/get_l1_config.d.ts.map +0 -1
- package/dest/cli/get_l1_config.js +0 -13
- package/dest/sandbox/banana_fpc.d.ts +0 -11
- package/dest/sandbox/banana_fpc.d.ts.map +0 -1
- package/dest/sandbox/index.d.ts +0 -4
- package/dest/sandbox/index.d.ts.map +0 -1
- package/dest/sandbox/index.js +0 -3
- package/dest/sandbox/sandbox.d.ts +0 -83
- package/dest/sandbox/sandbox.d.ts.map +0 -1
- package/dest/sandbox/sponsored_fpc.d.ts +0 -4
- package/dest/sandbox/sponsored_fpc.d.ts.map +0 -1
- package/dest/testing/aztec_cheat_codes.d.ts +0 -59
- package/dest/testing/aztec_cheat_codes.d.ts.map +0 -1
- package/dest/testing/aztec_cheat_codes.js +0 -62
- package/src/cli/chain_l2_config.ts +0 -341
- package/src/cli/cmds/start_faucet.ts +0 -34
- package/src/cli/cmds/start_pxe.ts +0 -49
- package/src/cli/get_l1_config.ts +0 -19
- package/src/sandbox/index.ts +0 -4
- package/src/sandbox/sponsored_fpc.ts +0 -27
- package/src/testing/aztec_cheat_codes.ts +0 -77
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import { type ArchiverConfig, 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 { 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';
|
|
6
9
|
import {
|
|
7
10
|
type ConfigMapping,
|
|
8
11
|
type EnvVar,
|
|
9
|
-
SecretValue,
|
|
10
12
|
booleanConfigHelper,
|
|
11
13
|
isBooleanConfigValue,
|
|
12
14
|
omitConfigMappings,
|
|
13
15
|
} from '@aztec/foundation/config';
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
proverAgentConfigMappings,
|
|
19
|
-
proverBrokerConfigMappings,
|
|
20
|
-
} from '@aztec/prover-client/broker';
|
|
16
|
+
import { dataConfigMappings } from '@aztec/kv-store/config';
|
|
17
|
+
import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
|
|
18
|
+
import { bootnodeConfigMappings, p2pConfigMappings } from '@aztec/p2p/config';
|
|
19
|
+
import { proverAgentConfigMappings, proverBrokerConfigMappings } from '@aztec/prover-client/broker';
|
|
21
20
|
import { proverNodeConfigMappings } from '@aztec/prover-node/config';
|
|
22
21
|
import { allPxeConfigMappings } from '@aztec/pxe/config';
|
|
22
|
+
import { chainConfigMappings } from '@aztec/stdlib/config';
|
|
23
23
|
import { telemetryClientConfigMappings } from '@aztec/telemetry-client';
|
|
24
|
+
import { worldStateConfigMappings } from '@aztec/world-state';
|
|
24
25
|
|
|
25
26
|
import { DefaultMnemonic } from '../mnemonic.js';
|
|
26
27
|
|
|
@@ -30,7 +31,7 @@ export interface AztecStartOption {
|
|
|
30
31
|
description: string;
|
|
31
32
|
defaultValue: any;
|
|
32
33
|
printDefault?: (val: any) => string;
|
|
33
|
-
|
|
34
|
+
env: EnvVar | undefined;
|
|
34
35
|
fallback?: EnvVar[];
|
|
35
36
|
parseVal?: (val: string) => any;
|
|
36
37
|
}
|
|
@@ -49,7 +50,7 @@ export const getOptions = (namespace: string, configMappings: Record<string, Con
|
|
|
49
50
|
description,
|
|
50
51
|
defaultValue: def,
|
|
51
52
|
printDefault,
|
|
52
|
-
|
|
53
|
+
env: env,
|
|
53
54
|
fallback,
|
|
54
55
|
parseVal: parseEnv,
|
|
55
56
|
});
|
|
@@ -57,17 +58,39 @@ export const getOptions = (namespace: string, configMappings: Record<string, Con
|
|
|
57
58
|
return options;
|
|
58
59
|
};
|
|
59
60
|
|
|
61
|
+
const configToFlag = (flag: string, configMapping: ConfigMapping, overrideDefaultValue?: any): AztecStartOption => {
|
|
62
|
+
if (!configMapping.isBoolean) {
|
|
63
|
+
flag += ' <value>';
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const flagConfig: AztecStartOption = {
|
|
67
|
+
flag,
|
|
68
|
+
env: undefined,
|
|
69
|
+
defaultValue: undefined,
|
|
70
|
+
parseVal: configMapping.parseEnv,
|
|
71
|
+
...configMapping,
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
if (overrideDefaultValue !== undefined) {
|
|
75
|
+
flagConfig.defaultValue = overrideDefaultValue;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return flagConfig;
|
|
79
|
+
};
|
|
80
|
+
|
|
60
81
|
// These are options used by multiple modules so should be inputted once
|
|
61
82
|
export const universalOptions = [
|
|
62
|
-
'l1RpcUrls',
|
|
63
83
|
'l1ConsensusHostUrls',
|
|
64
84
|
'l1ConsensusHostApiKeys',
|
|
65
85
|
'l1ConsensusHostApiKeyHeaders',
|
|
66
|
-
'l1ChainId',
|
|
67
|
-
'l1Contracts',
|
|
68
86
|
'p2pEnabled',
|
|
69
|
-
'
|
|
70
|
-
|
|
87
|
+
'fishermanMode',
|
|
88
|
+
...getKeys(chainConfigMappings),
|
|
89
|
+
...getKeys(l1ContractsConfigMappings),
|
|
90
|
+
...getKeys(l1ContractAddressesMapping),
|
|
91
|
+
...getKeys(l1ReaderConfigMappings),
|
|
92
|
+
...getKeys(dataConfigMappings),
|
|
93
|
+
...getKeys(worldStateConfigMappings),
|
|
71
94
|
];
|
|
72
95
|
|
|
73
96
|
export const NETWORK_FLAG = 'network';
|
|
@@ -79,45 +102,35 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
79
102
|
flag: `--${NETWORK_FLAG} <value>`,
|
|
80
103
|
description: 'Network to run Aztec on',
|
|
81
104
|
defaultValue: undefined,
|
|
82
|
-
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
flag: `--auto-update <value>`,
|
|
86
|
-
description: 'Configure auto updates',
|
|
87
|
-
envVar: 'AUTO_UPDATE',
|
|
88
|
-
defaultValue: 'disabled',
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
flag: `--auto-update-url <value>`,
|
|
92
|
-
description: 'Configure where to get updates from',
|
|
93
|
-
envVar: 'AUTO_UPDATE_URL',
|
|
94
|
-
defaultValue: undefined,
|
|
105
|
+
env: 'NETWORK',
|
|
95
106
|
},
|
|
107
|
+
|
|
108
|
+
configToFlag('--auto-update', sharedNodeConfigMappings.autoUpdate),
|
|
109
|
+
configToFlag('--auto-update-url', sharedNodeConfigMappings.autoUpdateUrl),
|
|
110
|
+
|
|
111
|
+
configToFlag('--sync-mode', sharedNodeConfigMappings.syncMode),
|
|
112
|
+
configToFlag('--snapshots-urls', sharedNodeConfigMappings.snapshotsUrls),
|
|
113
|
+
|
|
114
|
+
configToFlag('--fisherman-mode', sharedNodeConfigMappings.fishermanMode),
|
|
96
115
|
],
|
|
97
|
-
|
|
116
|
+
LOCAL_NETWORK: [
|
|
98
117
|
{
|
|
99
|
-
flag: '--
|
|
100
|
-
description: 'Starts Aztec
|
|
118
|
+
flag: '--local-network',
|
|
119
|
+
description: 'Starts Aztec Local Network',
|
|
101
120
|
defaultValue: undefined,
|
|
102
|
-
|
|
121
|
+
env: undefined,
|
|
103
122
|
},
|
|
104
123
|
{
|
|
105
|
-
flag: '--
|
|
106
|
-
description: 'Do not expose PXE service on sandbox start',
|
|
107
|
-
envVar: 'NO_PXE',
|
|
108
|
-
...booleanConfigHelper(),
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
flag: '--sandbox.l1Mnemonic <value>',
|
|
124
|
+
flag: '--local-network.l1Mnemonic <value>',
|
|
112
125
|
description: 'Mnemonic for L1 accounts. Will be used ',
|
|
113
126
|
defaultValue: DefaultMnemonic,
|
|
114
|
-
|
|
127
|
+
env: 'MNEMONIC',
|
|
115
128
|
},
|
|
116
129
|
{
|
|
117
|
-
flag: '--
|
|
130
|
+
flag: '--local-network.deployAztecContractsSalt <value>',
|
|
118
131
|
description:
|
|
119
|
-
'Numeric salt for deploying L1 Aztec contracts before starting the
|
|
120
|
-
|
|
132
|
+
'Numeric salt for deploying L1 Aztec contracts before starting the local network. Needs mnemonic or private key to be set.',
|
|
133
|
+
env: 'DEPLOY_AZTEC_CONTRACTS_SALT',
|
|
121
134
|
defaultValue: undefined,
|
|
122
135
|
parseVal: (val: string) => (val ? parseInt(val) : undefined),
|
|
123
136
|
},
|
|
@@ -127,120 +140,43 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
127
140
|
flag: '--port <value>',
|
|
128
141
|
description: 'Port to run the Aztec Services on',
|
|
129
142
|
defaultValue: 8080,
|
|
130
|
-
|
|
143
|
+
env: 'AZTEC_PORT',
|
|
131
144
|
parseVal: val => parseInt(val, 10),
|
|
132
145
|
},
|
|
133
146
|
{
|
|
134
147
|
flag: '--admin-port <value>',
|
|
135
|
-
description: 'Port to run admin APIs of Aztec Services on
|
|
148
|
+
description: 'Port to run admin APIs of Aztec Services on',
|
|
136
149
|
defaultValue: 8880,
|
|
137
|
-
|
|
150
|
+
env: 'AZTEC_ADMIN_PORT',
|
|
138
151
|
parseVal: val => parseInt(val, 10),
|
|
139
152
|
},
|
|
140
153
|
{
|
|
141
154
|
flag: '--api-prefix <value>',
|
|
142
155
|
description: 'Prefix for API routes on any service that is started',
|
|
143
156
|
defaultValue: '',
|
|
144
|
-
|
|
157
|
+
env: 'API_PREFIX',
|
|
145
158
|
},
|
|
146
159
|
],
|
|
147
160
|
ETHEREUM: [
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
defaultValue: 31337,
|
|
159
|
-
envVar: 'L1_CHAIN_ID',
|
|
160
|
-
parseVal: val => parseInt(val, 10),
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
flag: '--l1-consensus-host-urls <value>',
|
|
164
|
-
description: 'List of URLs of the Ethereum consensus nodes that services will connect to (comma separated)',
|
|
165
|
-
defaultValue: [],
|
|
166
|
-
envVar: 'L1_CONSENSUS_HOST_URLS',
|
|
167
|
-
parseVal: (val: string) => val.split(',').map(url => url.trim().replace(/\/$/, '')),
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
flag: '--l1-consensus-host-api-keys <value>',
|
|
171
|
-
description: 'List of API keys for the corresponding Ethereum consensus nodes',
|
|
172
|
-
defaultValue: [],
|
|
173
|
-
envVar: 'L1_CONSENSUS_HOST_API_KEYS',
|
|
174
|
-
parseVal: (val: string) => val.split(',').map(key => new SecretValue(key)),
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
flag: '--l1-consensus-host-api-key-headers <value>',
|
|
178
|
-
description:
|
|
179
|
-
'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>',
|
|
180
|
-
defaultValue: [],
|
|
181
|
-
envVar: 'L1_CONSENSUS_HOST_API_KEY_HEADERS',
|
|
182
|
-
parseVal: (val: string) => val.split(',').map(url => url.trim()),
|
|
183
|
-
},
|
|
161
|
+
configToFlag('--l1-chain-id', l1ReaderConfigMappings.l1ChainId),
|
|
162
|
+
// Do not set default for CLI: keep undefined unless provided via flag or env
|
|
163
|
+
configToFlag('--l1-rpc-urls', { ...l1ReaderConfigMappings.l1RpcUrls, defaultValue: undefined }),
|
|
164
|
+
configToFlag('--l1-consensus-host-urls', blobSinkConfigMappings.l1ConsensusHostUrls),
|
|
165
|
+
configToFlag('--l1-consensus-host-api-keys', blobSinkConfigMappings.l1ConsensusHostApiKeys),
|
|
166
|
+
configToFlag('--l1-consensus-host-api-key-headers', blobSinkConfigMappings.l1ConsensusHostApiKeyHeaders),
|
|
167
|
+
],
|
|
168
|
+
'L1 CONTRACTS': [
|
|
169
|
+
configToFlag('--registry-address', l1ContractAddressesMapping.registryAddress),
|
|
170
|
+
configToFlag('--rollup-version', chainConfigMappings.rollupVersion),
|
|
184
171
|
],
|
|
185
172
|
STORAGE: [
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
description: 'Where to store data for services. If not set, will store temporarily',
|
|
189
|
-
defaultValue: undefined,
|
|
190
|
-
envVar: 'DATA_DIRECTORY',
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
flag: '--data-store-map-size-kb <value>',
|
|
194
|
-
description:
|
|
195
|
-
'The maximum possible size of the data store DB in KB. Can be overridden by component-specific options.',
|
|
196
|
-
defaultValue: undefined,
|
|
197
|
-
envVar: 'DATA_STORE_MAP_SIZE_KB',
|
|
198
|
-
parseVal: (val: string) => parseInt(val, 10),
|
|
199
|
-
},
|
|
173
|
+
configToFlag('--data-directory', dataConfigMappings.dataDirectory),
|
|
174
|
+
configToFlag('--data-store-map-size-kb', dataConfigMappings.dataStoreMapSizeKb),
|
|
200
175
|
],
|
|
201
|
-
'
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
defaultValue: undefined,
|
|
206
|
-
envVar: 'ROLLUP_CONTRACT_ADDRESS',
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
flag: '--registry-address <value>',
|
|
210
|
-
description: 'The deployed L1 registry contract address',
|
|
211
|
-
defaultValue: undefined,
|
|
212
|
-
envVar: 'REGISTRY_CONTRACT_ADDRESS',
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
flag: '--inbox-address <value>',
|
|
216
|
-
description: 'The deployed L1 -> L2 inbox contract address',
|
|
217
|
-
defaultValue: undefined,
|
|
218
|
-
envVar: 'INBOX_CONTRACT_ADDRESS',
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
flag: '--outbox-address <value>',
|
|
222
|
-
description: 'The deployed L2 -> L1 outbox contract address',
|
|
223
|
-
defaultValue: undefined,
|
|
224
|
-
envVar: 'OUTBOX_CONTRACT_ADDRESS',
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
flag: '--fee-juice-address <value>',
|
|
228
|
-
description: 'The deployed L1 Fee Juice contract address',
|
|
229
|
-
defaultValue: undefined,
|
|
230
|
-
envVar: 'FEE_JUICE_CONTRACT_ADDRESS',
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
flag: '--staking-asset-address <value>',
|
|
234
|
-
description: 'The deployed L1 Staking Asset contract address',
|
|
235
|
-
defaultValue: undefined,
|
|
236
|
-
envVar: 'STAKING_ASSET_CONTRACT_ADDRESS',
|
|
237
|
-
},
|
|
238
|
-
{
|
|
239
|
-
flag: '--fee-juice-portal-address <value>',
|
|
240
|
-
description: 'The deployed L1 Fee Juice portal contract address',
|
|
241
|
-
defaultValue: undefined,
|
|
242
|
-
envVar: 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS',
|
|
243
|
-
},
|
|
176
|
+
'WORLD STATE': [
|
|
177
|
+
configToFlag('--world-state-data-directory', worldStateConfigMappings.worldStateDataDirectory),
|
|
178
|
+
configToFlag('--world-state-db-map-size-kb', worldStateConfigMappings.worldStateDbMapSizeKb),
|
|
179
|
+
configToFlag('--world-state-block-history', worldStateConfigMappings.worldStateBlockHistory),
|
|
244
180
|
],
|
|
245
181
|
// We can't easily auto-generate node options as they're parts of modules defined below
|
|
246
182
|
'AZTEC NODE': [
|
|
@@ -248,87 +184,44 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
248
184
|
flag: '--node',
|
|
249
185
|
description: 'Starts Aztec Node with options',
|
|
250
186
|
defaultValue: undefined,
|
|
251
|
-
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
flag: '--node.archiverUrl <value>',
|
|
255
|
-
description: 'URL for an archiver service',
|
|
256
|
-
defaultValue: undefined,
|
|
257
|
-
envVar: 'ARCHIVER_URL',
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
flag: '--node.assumeProvenThroughBlockNumber <value>',
|
|
261
|
-
description:
|
|
262
|
-
'Cheats the rollup contract into assuming every block until this one is proven. Useful for speeding up bootstraps.',
|
|
263
|
-
envVar: 'ASSUME_PROVEN_THROUGH_BLOCK_NUMBER',
|
|
264
|
-
parseVal: (val: string) => parseInt(val, 10),
|
|
265
|
-
defaultValue: 0,
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
flag: '--node.worldStateBlockCheckIntervalMS <value>',
|
|
269
|
-
description: 'Frequency in which to check for blocks in ms',
|
|
270
|
-
defaultValue: 100,
|
|
271
|
-
envVar: 'WS_BLOCK_CHECK_INTERVAL_MS',
|
|
272
|
-
parseVal: val => parseInt(val, 10),
|
|
273
|
-
},
|
|
274
|
-
{
|
|
275
|
-
flag: '--node.syncMode <value>',
|
|
276
|
-
description:
|
|
277
|
-
'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.',
|
|
278
|
-
defaultValue: 'snapshot',
|
|
279
|
-
envVar: 'SYNC_MODE',
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
flag: '--node.snapshotsUrl <value>',
|
|
283
|
-
description: 'Base URL for downloading snapshots for snapshot sync.',
|
|
284
|
-
defaultValue: undefined,
|
|
285
|
-
envVar: 'SYNC_SNAPSHOTS_URL',
|
|
187
|
+
env: undefined,
|
|
286
188
|
},
|
|
287
189
|
],
|
|
288
|
-
'P2P SUBSYSTEM': [
|
|
289
|
-
{
|
|
290
|
-
flag: '--p2p-enabled [value]',
|
|
291
|
-
description: 'Enable P2P subsystem',
|
|
292
|
-
envVar: 'P2P_ENABLED',
|
|
293
|
-
...booleanConfigHelper(),
|
|
294
|
-
},
|
|
295
|
-
...getOptions('p2p', p2pConfigMappings),
|
|
296
|
-
],
|
|
297
|
-
TELEMETRY: [...getOptions('tel', telemetryClientConfigMappings)],
|
|
298
|
-
PXE: [
|
|
299
|
-
{
|
|
300
|
-
flag: '--pxe',
|
|
301
|
-
description: 'Starts Aztec PXE with options',
|
|
302
|
-
defaultValue: undefined,
|
|
303
|
-
envVar: undefined,
|
|
304
|
-
},
|
|
305
|
-
...getOptions('pxe', allPxeConfigMappings),
|
|
306
|
-
],
|
|
307
190
|
ARCHIVER: [
|
|
308
191
|
{
|
|
309
192
|
flag: '--archiver',
|
|
310
193
|
description: 'Starts Aztec Archiver with options',
|
|
311
194
|
defaultValue: undefined,
|
|
312
|
-
|
|
195
|
+
env: undefined,
|
|
313
196
|
},
|
|
314
|
-
|
|
315
|
-
|
|
197
|
+
...getOptions(
|
|
198
|
+
'archiver',
|
|
199
|
+
omitConfigMappings(archiverConfigMappings, Object.keys(l1ContractsConfigMappings) as (keyof ArchiverConfig)[]),
|
|
200
|
+
),
|
|
316
201
|
],
|
|
317
202
|
SEQUENCER: [
|
|
318
203
|
{
|
|
319
204
|
flag: '--sequencer',
|
|
320
205
|
description: 'Starts Aztec Sequencer with options',
|
|
321
206
|
defaultValue: undefined,
|
|
322
|
-
|
|
207
|
+
env: undefined,
|
|
323
208
|
},
|
|
324
|
-
...getOptions(
|
|
209
|
+
...getOptions(
|
|
210
|
+
'sequencer',
|
|
211
|
+
omitConfigMappings(sequencerClientConfigMappings, [
|
|
212
|
+
'fakeProcessingDelayPerTxMs',
|
|
213
|
+
'skipCollectingAttestations',
|
|
214
|
+
'skipInvalidateBlockAsProposer',
|
|
215
|
+
'blobSinkMapSizeKb',
|
|
216
|
+
]),
|
|
217
|
+
),
|
|
325
218
|
],
|
|
326
219
|
'BLOB SINK': [
|
|
327
220
|
{
|
|
328
221
|
flag: '--blob-sink',
|
|
329
222
|
description: 'Starts Aztec Blob Sink with options',
|
|
330
223
|
defaultValue: undefined,
|
|
331
|
-
|
|
224
|
+
env: undefined,
|
|
332
225
|
},
|
|
333
226
|
...getOptions('blobSink', blobSinkConfigMappings),
|
|
334
227
|
],
|
|
@@ -337,22 +230,18 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
337
230
|
flag: '--prover-node',
|
|
338
231
|
description: 'Starts Aztec Prover Node with options',
|
|
339
232
|
defaultValue: undefined,
|
|
340
|
-
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
flag: '--proverNode.archiverUrl <value>',
|
|
344
|
-
description: 'URL for an archiver service',
|
|
345
|
-
defaultValue: undefined,
|
|
346
|
-
envVar: 'ARCHIVER_URL',
|
|
233
|
+
env: undefined,
|
|
347
234
|
},
|
|
348
235
|
...getOptions(
|
|
349
236
|
'proverNode',
|
|
350
237
|
omitConfigMappings(proverNodeConfigMappings, [
|
|
351
238
|
// filter out options passed separately
|
|
352
|
-
...(
|
|
353
|
-
...(
|
|
354
|
-
...(
|
|
355
|
-
...(
|
|
239
|
+
...getKeys(archiverConfigMappings),
|
|
240
|
+
...getKeys(proverBrokerConfigMappings),
|
|
241
|
+
...getKeys(proverAgentConfigMappings),
|
|
242
|
+
...getKeys(p2pConfigMappings),
|
|
243
|
+
...getKeys(worldStateConfigMappings),
|
|
244
|
+
...getKeys(sharedNodeConfigMappings),
|
|
356
245
|
]),
|
|
357
246
|
),
|
|
358
247
|
],
|
|
@@ -361,7 +250,7 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
361
250
|
flag: '--prover-broker',
|
|
362
251
|
description: 'Starts Aztec proving job broker',
|
|
363
252
|
defaultValue: undefined,
|
|
364
|
-
|
|
253
|
+
env: undefined,
|
|
365
254
|
},
|
|
366
255
|
...getOptions(
|
|
367
256
|
'proverBroker',
|
|
@@ -374,16 +263,25 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
374
263
|
flag: '--prover-agent',
|
|
375
264
|
description: 'Starts Aztec Prover Agent with options',
|
|
376
265
|
defaultValue: undefined,
|
|
377
|
-
|
|
266
|
+
env: undefined,
|
|
378
267
|
},
|
|
379
268
|
...getOptions('proverAgent', proverAgentConfigMappings),
|
|
380
269
|
],
|
|
270
|
+
'P2P SUBSYSTEM': [
|
|
271
|
+
{
|
|
272
|
+
flag: '--p2p-enabled [value]',
|
|
273
|
+
description: 'Enable P2P subsystem',
|
|
274
|
+
env: 'P2P_ENABLED',
|
|
275
|
+
...booleanConfigHelper(),
|
|
276
|
+
},
|
|
277
|
+
...getOptions('p2p', p2pConfigMappings),
|
|
278
|
+
],
|
|
381
279
|
'P2P BOOTSTRAP': [
|
|
382
280
|
{
|
|
383
281
|
flag: '--p2p-bootstrap',
|
|
384
282
|
description: 'Starts Aztec P2P Bootstrap with options',
|
|
385
283
|
defaultValue: undefined,
|
|
386
|
-
|
|
284
|
+
env: undefined,
|
|
387
285
|
},
|
|
388
286
|
...getOptions(
|
|
389
287
|
'p2pBootstrap',
|
|
@@ -396,43 +294,31 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
396
294
|
]),
|
|
397
295
|
),
|
|
398
296
|
],
|
|
297
|
+
TELEMETRY: [...getOptions('tel', telemetryClientConfigMappings)],
|
|
399
298
|
BOT: [
|
|
400
299
|
{
|
|
401
300
|
flag: '--bot',
|
|
402
301
|
description: 'Starts Aztec Bot with options',
|
|
403
302
|
defaultValue: undefined,
|
|
404
|
-
|
|
303
|
+
env: undefined,
|
|
405
304
|
},
|
|
406
305
|
...getOptions('bot', botConfigMappings),
|
|
407
306
|
],
|
|
408
|
-
|
|
307
|
+
PXE: [
|
|
409
308
|
{
|
|
410
|
-
flag: '--
|
|
411
|
-
description: 'Starts Aztec
|
|
309
|
+
flag: '--pxe',
|
|
310
|
+
description: 'Starts Aztec PXE with options',
|
|
412
311
|
defaultValue: undefined,
|
|
413
|
-
|
|
312
|
+
env: undefined,
|
|
414
313
|
},
|
|
314
|
+
...getOptions('pxe', allPxeConfigMappings),
|
|
415
315
|
],
|
|
416
|
-
|
|
316
|
+
TXE: [
|
|
417
317
|
{
|
|
418
|
-
flag: '--
|
|
419
|
-
description: 'Starts
|
|
318
|
+
flag: '--txe',
|
|
319
|
+
description: 'Starts Aztec TXE with options',
|
|
420
320
|
defaultValue: undefined,
|
|
421
|
-
|
|
422
|
-
},
|
|
423
|
-
{
|
|
424
|
-
flag: '--faucet.apiServer',
|
|
425
|
-
description: 'Starts a simple HTTP server to access the faucet',
|
|
426
|
-
defaultValue: true,
|
|
427
|
-
envVar: undefined,
|
|
428
|
-
},
|
|
429
|
-
{
|
|
430
|
-
flag: '--faucet.apiServerPort <value>',
|
|
431
|
-
description: 'The port on which to start the api server on',
|
|
432
|
-
defaultValue: 8080,
|
|
433
|
-
envVar: undefined,
|
|
434
|
-
parseVal: val => parseInt(val, 10),
|
|
321
|
+
env: undefined,
|
|
435
322
|
},
|
|
436
|
-
...getOptions('faucet', faucetConfigMapping),
|
|
437
323
|
],
|
|
438
324
|
};
|
package/src/cli/cli.ts
CHANGED
|
@@ -37,10 +37,55 @@ export function injectAztecCommands(program: Command, userLog: LogFn, debugLogge
|
|
|
37
37
|
|
|
38
38
|
Additional commands:
|
|
39
39
|
|
|
40
|
+
init [folder] [options]: creates a new Noir project
|
|
41
|
+
Options:
|
|
42
|
+
--name <name> Name of the package
|
|
43
|
+
--contract Use a contract template (default)
|
|
44
|
+
--lib Use a library template
|
|
45
|
+
--bin Use a binary template
|
|
46
|
+
Examples:
|
|
47
|
+
$ aztec init # creates a contract project in current directory
|
|
48
|
+
$ aztec init --lib # creates a library project
|
|
49
|
+
|
|
50
|
+
new <path> [options]: creates a new Noir project in a new directory
|
|
51
|
+
Options:
|
|
52
|
+
--name <name> Name of the package
|
|
53
|
+
--contract Use a contract template (default)
|
|
54
|
+
--lib Use a library template
|
|
55
|
+
--bin Use a binary template
|
|
56
|
+
Examples:
|
|
57
|
+
$ aztec new my-project # creates a contract project in ./my-project
|
|
58
|
+
$ aztec new my-lib --lib # creates a library project in ./my-lib
|
|
59
|
+
|
|
60
|
+
compile [options]: compiles Aztec Noir contracts
|
|
61
|
+
Compiles contracts with nargo compile and then postprocesses them to generate Aztec-specific artifacts including:
|
|
62
|
+
- Transpiled contract artifacts
|
|
63
|
+
- Verification keys
|
|
64
|
+
The compiled contracts will be placed in the target/ directory by default.
|
|
65
|
+
Supports standard nargo compile options.
|
|
66
|
+
|
|
67
|
+
fmt [options]: formats Noir code using nargo fmt
|
|
68
|
+
Example:
|
|
69
|
+
$ aztec fmt # formats all Noir files in the project
|
|
70
|
+
|
|
71
|
+
check [options]: type-checks Noir code without compiling using nargo check
|
|
72
|
+
Example:
|
|
73
|
+
$ aztec check # checks all Noir files in the project
|
|
74
|
+
|
|
40
75
|
test [options]: starts a dockerized TXE node via
|
|
41
76
|
$ aztec start --txe
|
|
42
77
|
then runs
|
|
43
|
-
$ aztec
|
|
78
|
+
$ aztec test --silence-warnings --oracle-resolver=<TXE_ADDRESS> [options]
|
|
79
|
+
|
|
80
|
+
lsp: starts the Nargo Language Server Protocol server
|
|
81
|
+
Runs nargo lsp in a Docker container for IDE integration with Noir.
|
|
82
|
+
This command is typically used by IDE extensions and not called directly by users.
|
|
83
|
+
Example:
|
|
84
|
+
$ aztec lsp # starts the LSP server
|
|
85
|
+
|
|
86
|
+
preload-crs: Downloads and caches the Common Reference String (CRS) data required for zero-knowledge proofs.
|
|
87
|
+
Example:
|
|
88
|
+
$ aztec preload-crs # preloads CRS data
|
|
44
89
|
`,
|
|
45
90
|
);
|
|
46
91
|
|
|
@@ -5,15 +5,15 @@ import {
|
|
|
5
5
|
archiverConfigMappings,
|
|
6
6
|
getArchiverConfigFromEnv,
|
|
7
7
|
} from '@aztec/archiver';
|
|
8
|
-
import { createLogger } from '@aztec/aztec.js';
|
|
8
|
+
import { createLogger } from '@aztec/aztec.js/log';
|
|
9
9
|
import { type BlobSinkConfig, blobSinkConfigMapping, createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
10
|
+
import { getL1Config } from '@aztec/cli/config';
|
|
10
11
|
import type { NamespacedApiHandlers } from '@aztec/foundation/json-rpc/server';
|
|
11
12
|
import { type DataStoreConfig, dataConfigMappings } from '@aztec/kv-store/config';
|
|
12
13
|
import { createStore } from '@aztec/kv-store/lmdb-v2';
|
|
13
14
|
import { ArchiverApiSchema } from '@aztec/stdlib/interfaces/server';
|
|
14
15
|
import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
15
16
|
|
|
16
|
-
import { getL1Config } from '../get_l1_config.js';
|
|
17
17
|
import { extractRelevantOptions } from '../util.js';
|
|
18
18
|
|
|
19
19
|
export type { ArchiverConfig, DataStoreConfig };
|
|
@@ -32,7 +32,7 @@ export async function startArchiver(
|
|
|
32
32
|
);
|
|
33
33
|
|
|
34
34
|
let archiverConfig = { ...envConfig, ...cliOptions };
|
|
35
|
-
archiverConfig.
|
|
35
|
+
archiverConfig.dataStoreMapSizeKb = archiverConfig.archiverStoreMapSizeKb ?? archiverConfig.dataStoreMapSizeKb;
|
|
36
36
|
|
|
37
37
|
if (!archiverConfig.l1Contracts.registryAddress || archiverConfig.l1Contracts.registryAddress.isZero()) {
|
|
38
38
|
throw new Error('L1 registry address is required to start an Archiver');
|
|
@@ -51,7 +51,7 @@ export async function startArchiver(
|
|
|
51
51
|
const store = await createStore('archiver', KVArchiverDataStore.SCHEMA_VERSION, archiverConfig, storeLog);
|
|
52
52
|
const archiverStore = new KVArchiverDataStore(store, archiverConfig.maxLogs);
|
|
53
53
|
|
|
54
|
-
const telemetry = initTelemetryClient(getTelemetryClientConfig());
|
|
54
|
+
const telemetry = await initTelemetryClient(getTelemetryClientConfig());
|
|
55
55
|
const blobSinkClient = createBlobSinkClient(archiverConfig, { logger: createLogger('archiver:blob-sink:client') });
|
|
56
56
|
const archiver = await Archiver.createAndSync(archiverConfig, archiverStore, { telemetry, blobSinkClient }, true);
|
|
57
57
|
services.archiver = [archiver, ArchiverApiSchema];
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
createBlobSinkServer,
|
|
5
5
|
getBlobSinkConfigFromEnv,
|
|
6
6
|
} from '@aztec/blob-sink/server';
|
|
7
|
+
import { getL1Config } from '@aztec/cli/config';
|
|
7
8
|
import type { LogFn } from '@aztec/foundation/log';
|
|
8
9
|
import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
9
10
|
|
|
10
|
-
import { getL1Config } from '../get_l1_config.js';
|
|
11
11
|
import { extractRelevantOptions } from '../util.js';
|
|
12
12
|
|
|
13
13
|
export async function startBlobSink(options: any, signalHandlers: (() => Promise<void>)[], userLog: LogFn) {
|
|
@@ -35,7 +35,7 @@ export async function startBlobSink(options: any, signalHandlers: (() => Promise
|
|
|
35
35
|
throw new Error('L1_CHAIN_ID');
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
const telemetry = initTelemetryClient(getTelemetryClientConfig());
|
|
38
|
+
const telemetry = await initTelemetryClient(getTelemetryClientConfig());
|
|
39
39
|
|
|
40
40
|
const { config: chainConfig, addresses } = await getL1Config(
|
|
41
41
|
blobSinkConfig.l1Contracts.registryAddress,
|