@aztec/aztec 3.0.0-canary.a9708bd → 3.0.0-devnet.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bin/index.js +7 -9
- package/dest/cli/aztec_start_action.d.ts.map +1 -1
- package/dest/cli/aztec_start_action.js +2 -17
- package/dest/cli/aztec_start_options.d.ts +1 -1
- package/dest/cli/aztec_start_options.d.ts.map +1 -1
- package/dest/cli/aztec_start_options.js +105 -225
- package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
- package/dest/cli/cmds/start_archiver.js +3 -3
- package/dest/cli/cmds/start_blob_sink.d.ts.map +1 -1
- package/dest/cli/cmds/start_blob_sink.js +1 -1
- package/dest/cli/cmds/start_bot.d.ts +3 -6
- package/dest/cli/cmds/start_bot.d.ts.map +1 -1
- package/dest/cli/cmds/start_bot.js +24 -13
- package/dest/cli/cmds/start_node.d.ts.map +1 -1
- package/dest/cli/cmds/start_node.js +9 -26
- package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
- package/dest/cli/cmds/start_prover_agent.js +10 -1
- package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
- package/dest/cli/cmds/start_prover_broker.js +7 -2
- package/dest/cli/cmds/start_prover_node.d.ts.map +1 -1
- package/dest/cli/cmds/start_prover_node.js +14 -9
- package/dest/cli/util.d.ts +6 -4
- package/dest/cli/util.d.ts.map +1 -1
- package/dest/cli/util.js +10 -10
- package/dest/cli/versioning.js +3 -3
- package/dest/examples/token.js +18 -16
- package/dest/examples/util.d.ts +1 -1
- package/dest/examples/util.d.ts.map +1 -1
- package/dest/examples/util.js +1 -1
- package/dest/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -1
- package/dest/sandbox/banana_fpc.d.ts +4 -5
- package/dest/sandbox/banana_fpc.d.ts.map +1 -1
- package/dest/sandbox/banana_fpc.js +14 -18
- package/dest/sandbox/index.d.ts +2 -2
- package/dest/sandbox/index.d.ts.map +1 -1
- package/dest/sandbox/index.js +2 -2
- package/dest/sandbox/sandbox.d.ts +3 -12
- package/dest/sandbox/sandbox.d.ts.map +1 -1
- package/dest/sandbox/sandbox.js +19 -32
- package/dest/sandbox/sponsored_fpc.d.ts +3 -3
- package/dest/sandbox/sponsored_fpc.d.ts.map +1 -1
- package/dest/sandbox/sponsored_fpc.js +7 -8
- package/dest/testing/anvil_test_watcher.d.ts.map +1 -1
- package/dest/testing/anvil_test_watcher.js +3 -4
- package/dest/testing/cheat_codes.d.ts +6 -7
- package/dest/testing/cheat_codes.d.ts.map +1 -1
- package/dest/testing/cheat_codes.js +9 -10
- package/dest/testing/index.d.ts +0 -1
- package/dest/testing/index.d.ts.map +1 -1
- package/dest/testing/index.js +0 -1
- package/package.json +34 -33
- package/src/bin/index.ts +7 -9
- package/src/cli/aztec_start_action.ts +2 -14
- package/src/cli/aztec_start_options.ts +113 -232
- package/src/cli/cmds/start_archiver.ts +3 -3
- package/src/cli/cmds/start_blob_sink.ts +1 -1
- package/src/cli/cmds/start_bot.ts +35 -12
- package/src/cli/cmds/start_node.ts +12 -23
- package/src/cli/cmds/start_prover_agent.ts +6 -1
- package/src/cli/cmds/start_prover_broker.ts +16 -2
- package/src/cli/cmds/start_prover_node.ts +11 -11
- package/src/cli/util.ts +17 -14
- package/src/cli/versioning.ts +3 -3
- package/src/examples/token.ts +20 -17
- package/src/examples/util.ts +1 -1
- package/src/index.ts +3 -3
- package/src/sandbox/banana_fpc.ts +15 -20
- package/src/sandbox/index.ts +5 -2
- package/src/sandbox/sandbox.ts +21 -32
- package/src/sandbox/sponsored_fpc.ts +8 -10
- package/src/testing/anvil_test_watcher.ts +2 -5
- package/src/testing/cheat_codes.ts +10 -11
- 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/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/testing/aztec_cheat_codes.ts +0 -77
package/dest/bin/index.js
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
//
|
|
3
3
|
import { injectCommands as injectBuilderCommands } from '@aztec/builder';
|
|
4
|
-
import { injectCommands as
|
|
4
|
+
import { injectCommands as injectAztecNodeCommands } from '@aztec/cli/aztec_node';
|
|
5
|
+
import { enrichEnvironmentWithChainConfig, enrichEnvironmentWithNetworkConfig } from '@aztec/cli/config';
|
|
5
6
|
import { injectCommands as injectContractCommands } from '@aztec/cli/contracts';
|
|
6
|
-
import { injectCommands as injectDevnetCommands } from '@aztec/cli/devnet';
|
|
7
7
|
import { injectCommands as injectInfrastructureCommands } from '@aztec/cli/infrastructure';
|
|
8
8
|
import { injectCommands as injectL1Commands } from '@aztec/cli/l1';
|
|
9
9
|
import { injectCommands as injectMiscCommands } from '@aztec/cli/misc';
|
|
10
|
-
import { injectCommands as injectPXECommands } from '@aztec/cli/pxe';
|
|
11
10
|
import { getActiveNetworkName } from '@aztec/foundation/config';
|
|
12
11
|
import { createConsoleLogger, createLogger } from '@aztec/foundation/log';
|
|
13
12
|
import { Command } from 'commander';
|
|
14
13
|
import { NETWORK_FLAG } from '../cli/aztec_start_options.js';
|
|
15
|
-
import { enrichEnvironmentWithChainConfig } from '../cli/chain_l2_config.js';
|
|
16
14
|
import { injectAztecCommands } from '../cli/index.js';
|
|
17
15
|
import { getCliVersion } from '../cli/release_version.js';
|
|
18
16
|
const userLog = createConsoleLogger();
|
|
@@ -30,19 +28,19 @@ const debugLogger = createLogger('cli');
|
|
|
30
28
|
if (networkIndex !== -1) {
|
|
31
29
|
networkValue = args[networkIndex].split('=')[1] || args[networkIndex + 1];
|
|
32
30
|
}
|
|
33
|
-
|
|
31
|
+
const networkName = getActiveNetworkName(networkValue);
|
|
32
|
+
await enrichEnvironmentWithNetworkConfig(networkName);
|
|
33
|
+
enrichEnvironmentWithChainConfig(networkName);
|
|
34
34
|
const cliVersion = getCliVersion();
|
|
35
35
|
let program = new Command('aztec');
|
|
36
36
|
program.description('Aztec command line interface').version(cliVersion);
|
|
37
37
|
program = injectAztecCommands(program, userLog, debugLogger);
|
|
38
38
|
program = injectBuilderCommands(program);
|
|
39
39
|
program = injectContractCommands(program, userLog, debugLogger);
|
|
40
|
-
program = injectInfrastructureCommands(program, userLog
|
|
40
|
+
program = injectInfrastructureCommands(program, userLog);
|
|
41
41
|
program = injectL1Commands(program, userLog, debugLogger);
|
|
42
|
-
program =
|
|
42
|
+
program = injectAztecNodeCommands(program, userLog, debugLogger);
|
|
43
43
|
program = injectMiscCommands(program, userLog);
|
|
44
|
-
program = injectDevnetCommands(program, userLog, debugLogger);
|
|
45
|
-
program = injectWalletCommands(program, userLog, debugLogger);
|
|
46
44
|
await program.parseAsync(process.argv);
|
|
47
45
|
}
|
|
48
46
|
main().catch((err)=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aztec_start_action.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_action.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAY3D,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"aztec_start_action.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_action.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAY3D,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBA6FjF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createNamespacedSafeJsonRpcServer, startHttpRpcServer } from '@aztec/foundation/json-rpc/server';
|
|
2
|
-
import { AztecNodeApiSchema
|
|
2
|
+
import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
|
|
3
3
|
import { getVersioningMiddleware } from '@aztec/stdlib/versioning';
|
|
4
4
|
import { getOtelJsonRpcPropagationMiddleware } from '@aztec/telemetry-client';
|
|
5
5
|
import { createSandbox } from '../sandbox/index.js';
|
|
@@ -19,11 +19,10 @@ export async function aztecStart(options, userLog, debugLogger) {
|
|
|
19
19
|
sandboxOptions.testAccounts = true;
|
|
20
20
|
userLog(`${splash}\n${github}\n\n`);
|
|
21
21
|
userLog(`Setting up Aztec Sandbox ${cliVersion}, please stand by...`);
|
|
22
|
-
const { node,
|
|
22
|
+
const { node, stop } = await createSandbox({
|
|
23
23
|
l1Mnemonic: sandboxOptions.l1Mnemonic,
|
|
24
24
|
l1RpcUrls: options.l1RpcUrls,
|
|
25
25
|
deployAztecContractsSalt: sandboxOptions.deployAztecContractsSalt,
|
|
26
|
-
noPXE: sandboxOptions.noPXE,
|
|
27
26
|
testAccounts: sandboxOptions.testAccounts,
|
|
28
27
|
realProofs: false
|
|
29
28
|
}, userLog);
|
|
@@ -33,14 +32,6 @@ export async function aztecStart(options, userLog, debugLogger) {
|
|
|
33
32
|
node,
|
|
34
33
|
AztecNodeApiSchema
|
|
35
34
|
];
|
|
36
|
-
if (!sandboxOptions.noPXE) {
|
|
37
|
-
services.pxe = [
|
|
38
|
-
pxe,
|
|
39
|
-
PXESchema
|
|
40
|
-
];
|
|
41
|
-
} else {
|
|
42
|
-
userLog(`Not exposing PXE API through JSON-RPC server`);
|
|
43
|
-
}
|
|
44
35
|
} else {
|
|
45
36
|
if (options.node) {
|
|
46
37
|
const { startNode } = await import('./cmds/start_node.js');
|
|
@@ -54,9 +45,6 @@ export async function aztecStart(options, userLog, debugLogger) {
|
|
|
54
45
|
} else if (options.blobSink) {
|
|
55
46
|
const { startBlobSink } = await import('./cmds/start_blob_sink.js');
|
|
56
47
|
await startBlobSink(options, signalHandlers, userLog);
|
|
57
|
-
} else if (options.pxe) {
|
|
58
|
-
const { startPXE } = await import('./cmds/start_pxe.js');
|
|
59
|
-
({ config } = await startPXE(options, signalHandlers, services, userLog));
|
|
60
48
|
} else if (options.archiver) {
|
|
61
49
|
const { startArchiver } = await import('./cmds/start_archiver.js');
|
|
62
50
|
({ config } = await startArchiver(options, signalHandlers, services));
|
|
@@ -75,9 +63,6 @@ export async function aztecStart(options, userLog, debugLogger) {
|
|
|
75
63
|
} else if (options.sequencer) {
|
|
76
64
|
userLog(`Cannot run a standalone sequencer without a node`);
|
|
77
65
|
process.exit(1);
|
|
78
|
-
} else if (options.faucet) {
|
|
79
|
-
const { startFaucet } = await import('./cmds/start_faucet.js');
|
|
80
|
-
await startFaucet(options, signalHandlers, services, userLog);
|
|
81
66
|
} else {
|
|
82
67
|
userLog(`No module specified to start`);
|
|
83
68
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aztec_start_options.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aztec_start_options.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_options.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAIZ,MAAM,0BAA0B,CAAC;AAclC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC;AAED,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,EAAE,gBAAgB,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,uBAoB1F,CAAC;AAuBF,eAAO,MAAM,gBAAgB,UAW5B,CAAC;AAEF,eAAO,MAAM,YAAY,YAAY,CAAC;AAGtC,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CA+NlE,CAAC"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { archiverConfigMappings } from '@aztec/archiver/config';
|
|
2
|
-
import { faucetConfigMapping } from '@aztec/aztec-faucet/config';
|
|
3
2
|
import { sequencerClientConfigMappings } from '@aztec/aztec-node/config';
|
|
4
3
|
import { blobSinkConfigMappings } from '@aztec/blob-sink/server';
|
|
5
4
|
import { botConfigMappings } from '@aztec/bot/config';
|
|
6
|
-
import {
|
|
5
|
+
import { l1ContractAddressesMapping, l1ContractsConfigMappings, l1ReaderConfigMappings } from '@aztec/ethereum';
|
|
6
|
+
import { getKeys } from '@aztec/foundation/collection';
|
|
7
|
+
import { booleanConfigHelper, isBooleanConfigValue, omitConfigMappings } from '@aztec/foundation/config';
|
|
8
|
+
import { dataConfigMappings } from '@aztec/kv-store/config';
|
|
9
|
+
import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
|
|
7
10
|
import { bootnodeConfigMappings, p2pConfigMappings } from '@aztec/p2p/config';
|
|
8
11
|
import { proverAgentConfigMappings, proverBrokerConfigMappings } from '@aztec/prover-client/broker';
|
|
9
12
|
import { proverNodeConfigMappings } from '@aztec/prover-node/config';
|
|
10
13
|
import { allPxeConfigMappings } from '@aztec/pxe/config';
|
|
14
|
+
import { chainConfigMappings } from '@aztec/stdlib/config';
|
|
11
15
|
import { telemetryClientConfigMappings } from '@aztec/telemetry-client';
|
|
16
|
+
import { worldStateConfigMappings } from '@aztec/world-state';
|
|
12
17
|
import { DefaultMnemonic } from '../mnemonic.js';
|
|
13
18
|
export const getOptions = (namespace, configMappings)=>{
|
|
14
19
|
const options = [];
|
|
@@ -22,24 +27,41 @@ export const getOptions = (namespace, configMappings)=>{
|
|
|
22
27
|
description,
|
|
23
28
|
defaultValue: def,
|
|
24
29
|
printDefault,
|
|
25
|
-
|
|
30
|
+
env: env,
|
|
26
31
|
fallback,
|
|
27
32
|
parseVal: parseEnv
|
|
28
33
|
});
|
|
29
34
|
}
|
|
30
35
|
return options;
|
|
31
36
|
};
|
|
37
|
+
const configToFlag = (flag, configMapping, overrideDefaultValue)=>{
|
|
38
|
+
if (!configMapping.isBoolean) {
|
|
39
|
+
flag += ' <value>';
|
|
40
|
+
}
|
|
41
|
+
const flagConfig = {
|
|
42
|
+
flag,
|
|
43
|
+
env: undefined,
|
|
44
|
+
defaultValue: undefined,
|
|
45
|
+
parseVal: configMapping.parseEnv,
|
|
46
|
+
...configMapping
|
|
47
|
+
};
|
|
48
|
+
if (overrideDefaultValue !== undefined) {
|
|
49
|
+
flagConfig.defaultValue = overrideDefaultValue;
|
|
50
|
+
}
|
|
51
|
+
return flagConfig;
|
|
52
|
+
};
|
|
32
53
|
// These are options used by multiple modules so should be inputted once
|
|
33
54
|
export const universalOptions = [
|
|
34
|
-
'l1RpcUrls',
|
|
35
55
|
'l1ConsensusHostUrls',
|
|
36
56
|
'l1ConsensusHostApiKeys',
|
|
37
57
|
'l1ConsensusHostApiKeyHeaders',
|
|
38
|
-
'l1ChainId',
|
|
39
|
-
'l1Contracts',
|
|
40
58
|
'p2pEnabled',
|
|
41
|
-
|
|
42
|
-
|
|
59
|
+
...getKeys(chainConfigMappings),
|
|
60
|
+
...getKeys(l1ContractsConfigMappings),
|
|
61
|
+
...getKeys(l1ContractAddressesMapping),
|
|
62
|
+
...getKeys(l1ReaderConfigMappings),
|
|
63
|
+
...getKeys(dataConfigMappings),
|
|
64
|
+
...getKeys(worldStateConfigMappings)
|
|
43
65
|
];
|
|
44
66
|
export const NETWORK_FLAG = 'network';
|
|
45
67
|
// Define categories and options
|
|
@@ -49,44 +71,30 @@ export const aztecStartOptions = {
|
|
|
49
71
|
flag: `--${NETWORK_FLAG} <value>`,
|
|
50
72
|
description: 'Network to run Aztec on',
|
|
51
73
|
defaultValue: undefined,
|
|
52
|
-
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
flag: `--auto-update <value>`,
|
|
56
|
-
description: 'Configure auto updates',
|
|
57
|
-
envVar: 'AUTO_UPDATE',
|
|
58
|
-
defaultValue: 'disabled'
|
|
74
|
+
env: 'NETWORK'
|
|
59
75
|
},
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
defaultValue: undefined
|
|
65
|
-
}
|
|
76
|
+
configToFlag('--auto-update', sharedNodeConfigMappings.autoUpdate),
|
|
77
|
+
configToFlag('--auto-update-url', sharedNodeConfigMappings.autoUpdateUrl),
|
|
78
|
+
configToFlag('--sync-mode', sharedNodeConfigMappings.syncMode),
|
|
79
|
+
configToFlag('--snapshots-urls', sharedNodeConfigMappings.snapshotsUrls)
|
|
66
80
|
],
|
|
67
81
|
SANDBOX: [
|
|
68
82
|
{
|
|
69
83
|
flag: '--sandbox',
|
|
70
84
|
description: 'Starts Aztec Sandbox',
|
|
71
85
|
defaultValue: undefined,
|
|
72
|
-
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
flag: '--sandbox.noPXE',
|
|
76
|
-
description: 'Do not expose PXE service on sandbox start',
|
|
77
|
-
envVar: 'NO_PXE',
|
|
78
|
-
...booleanConfigHelper()
|
|
86
|
+
env: undefined
|
|
79
87
|
},
|
|
80
88
|
{
|
|
81
89
|
flag: '--sandbox.l1Mnemonic <value>',
|
|
82
90
|
description: 'Mnemonic for L1 accounts. Will be used ',
|
|
83
91
|
defaultValue: DefaultMnemonic,
|
|
84
|
-
|
|
92
|
+
env: 'MNEMONIC'
|
|
85
93
|
},
|
|
86
94
|
{
|
|
87
95
|
flag: '--sandbox.deployAztecContractsSalt <value>',
|
|
88
96
|
description: 'Numeric salt for deploying L1 Aztec contracts before starting the sandbox. Needs mnemonic or private key to be set.',
|
|
89
|
-
|
|
97
|
+
env: 'DEPLOY_AZTEC_CONTRACTS_SALT',
|
|
90
98
|
defaultValue: undefined,
|
|
91
99
|
parseVal: (val)=>val ? parseInt(val) : undefined
|
|
92
100
|
}
|
|
@@ -96,120 +104,46 @@ export const aztecStartOptions = {
|
|
|
96
104
|
flag: '--port <value>',
|
|
97
105
|
description: 'Port to run the Aztec Services on',
|
|
98
106
|
defaultValue: 8080,
|
|
99
|
-
|
|
107
|
+
env: 'AZTEC_PORT',
|
|
100
108
|
parseVal: (val)=>parseInt(val, 10)
|
|
101
109
|
},
|
|
102
110
|
{
|
|
103
111
|
flag: '--admin-port <value>',
|
|
104
|
-
description: 'Port to run admin APIs of Aztec Services on
|
|
112
|
+
description: 'Port to run admin APIs of Aztec Services on',
|
|
105
113
|
defaultValue: 8880,
|
|
106
|
-
|
|
114
|
+
env: 'AZTEC_ADMIN_PORT',
|
|
107
115
|
parseVal: (val)=>parseInt(val, 10)
|
|
108
116
|
},
|
|
109
117
|
{
|
|
110
118
|
flag: '--api-prefix <value>',
|
|
111
119
|
description: 'Prefix for API routes on any service that is started',
|
|
112
120
|
defaultValue: '',
|
|
113
|
-
|
|
121
|
+
env: 'API_PREFIX'
|
|
114
122
|
}
|
|
115
123
|
],
|
|
116
124
|
ETHEREUM: [
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
envVar: 'L1_CHAIN_ID',
|
|
131
|
-
parseVal: (val)=>parseInt(val, 10)
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
flag: '--l1-consensus-host-urls <value>',
|
|
135
|
-
description: 'List of URLs of the Ethereum consensus nodes that services will connect to (comma separated)',
|
|
136
|
-
defaultValue: [],
|
|
137
|
-
envVar: 'L1_CONSENSUS_HOST_URLS',
|
|
138
|
-
parseVal: (val)=>val.split(',').map((url)=>url.trim().replace(/\/$/, ''))
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
flag: '--l1-consensus-host-api-keys <value>',
|
|
142
|
-
description: 'List of API keys for the corresponding Ethereum consensus nodes',
|
|
143
|
-
defaultValue: [],
|
|
144
|
-
envVar: 'L1_CONSENSUS_HOST_API_KEYS',
|
|
145
|
-
parseVal: (val)=>val.split(',').map((key)=>new SecretValue(key))
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
flag: '--l1-consensus-host-api-key-headers <value>',
|
|
149
|
-
description: 'List of API key headers for the corresponding Ethereum consensus nodes. If not set, the api key for the corresponding node will be appended to the URL as ?key=<api-key>',
|
|
150
|
-
defaultValue: [],
|
|
151
|
-
envVar: 'L1_CONSENSUS_HOST_API_KEY_HEADERS',
|
|
152
|
-
parseVal: (val)=>val.split(',').map((url)=>url.trim())
|
|
153
|
-
}
|
|
125
|
+
configToFlag('--l1-chain-id', l1ReaderConfigMappings.l1ChainId),
|
|
126
|
+
// Do not set default for CLI: keep undefined unless provided via flag or env
|
|
127
|
+
configToFlag('--l1-rpc-urls', {
|
|
128
|
+
...l1ReaderConfigMappings.l1RpcUrls,
|
|
129
|
+
defaultValue: undefined
|
|
130
|
+
}),
|
|
131
|
+
configToFlag('--l1-consensus-host-urls', blobSinkConfigMappings.l1ConsensusHostUrls),
|
|
132
|
+
configToFlag('--l1-consensus-host-api-keys', blobSinkConfigMappings.l1ConsensusHostApiKeys),
|
|
133
|
+
configToFlag('--l1-consensus-host-api-key-headers', blobSinkConfigMappings.l1ConsensusHostApiKeyHeaders)
|
|
134
|
+
],
|
|
135
|
+
'L1 CONTRACTS': [
|
|
136
|
+
configToFlag('--registry-address', l1ContractAddressesMapping.registryAddress),
|
|
137
|
+
configToFlag('--rollup-version', chainConfigMappings.rollupVersion)
|
|
154
138
|
],
|
|
155
139
|
STORAGE: [
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
description: 'Where to store data for services. If not set, will store temporarily',
|
|
159
|
-
defaultValue: undefined,
|
|
160
|
-
envVar: 'DATA_DIRECTORY'
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
flag: '--data-store-map-size-kb <value>',
|
|
164
|
-
description: 'The maximum possible size of the data store DB in KB. Can be overridden by component-specific options.',
|
|
165
|
-
defaultValue: undefined,
|
|
166
|
-
envVar: 'DATA_STORE_MAP_SIZE_KB',
|
|
167
|
-
parseVal: (val)=>parseInt(val, 10)
|
|
168
|
-
}
|
|
140
|
+
configToFlag('--data-directory', dataConfigMappings.dataDirectory),
|
|
141
|
+
configToFlag('--data-store-map-size-kb', dataConfigMappings.dataStoreMapSizeKb)
|
|
169
142
|
],
|
|
170
|
-
'
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
defaultValue: undefined,
|
|
175
|
-
envVar: 'ROLLUP_CONTRACT_ADDRESS'
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
flag: '--registry-address <value>',
|
|
179
|
-
description: 'The deployed L1 registry contract address',
|
|
180
|
-
defaultValue: undefined,
|
|
181
|
-
envVar: 'REGISTRY_CONTRACT_ADDRESS'
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
flag: '--inbox-address <value>',
|
|
185
|
-
description: 'The deployed L1 -> L2 inbox contract address',
|
|
186
|
-
defaultValue: undefined,
|
|
187
|
-
envVar: 'INBOX_CONTRACT_ADDRESS'
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
flag: '--outbox-address <value>',
|
|
191
|
-
description: 'The deployed L2 -> L1 outbox contract address',
|
|
192
|
-
defaultValue: undefined,
|
|
193
|
-
envVar: 'OUTBOX_CONTRACT_ADDRESS'
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
flag: '--fee-juice-address <value>',
|
|
197
|
-
description: 'The deployed L1 Fee Juice contract address',
|
|
198
|
-
defaultValue: undefined,
|
|
199
|
-
envVar: 'FEE_JUICE_CONTRACT_ADDRESS'
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
flag: '--staking-asset-address <value>',
|
|
203
|
-
description: 'The deployed L1 Staking Asset contract address',
|
|
204
|
-
defaultValue: undefined,
|
|
205
|
-
envVar: 'STAKING_ASSET_CONTRACT_ADDRESS'
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
flag: '--fee-juice-portal-address <value>',
|
|
209
|
-
description: 'The deployed L1 Fee Juice portal contract address',
|
|
210
|
-
defaultValue: undefined,
|
|
211
|
-
envVar: 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS'
|
|
212
|
-
}
|
|
143
|
+
'WORLD STATE': [
|
|
144
|
+
configToFlag('--world-state-data-directory', worldStateConfigMappings.worldStateDataDirectory),
|
|
145
|
+
configToFlag('--world-state-db-map-size-kb', worldStateConfigMappings.worldStateDbMapSizeKb),
|
|
146
|
+
configToFlag('--world-state-block-history', worldStateConfigMappings.worldStateBlockHistory)
|
|
213
147
|
],
|
|
214
148
|
// We can't easily auto-generate node options as they're parts of modules defined below
|
|
215
149
|
'AZTEC NODE': [
|
|
@@ -217,87 +151,38 @@ export const aztecStartOptions = {
|
|
|
217
151
|
flag: '--node',
|
|
218
152
|
description: 'Starts Aztec Node with options',
|
|
219
153
|
defaultValue: undefined,
|
|
220
|
-
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
flag: '--node.archiverUrl <value>',
|
|
224
|
-
description: 'URL for an archiver service',
|
|
225
|
-
defaultValue: undefined,
|
|
226
|
-
envVar: 'ARCHIVER_URL'
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
flag: '--node.assumeProvenThroughBlockNumber <value>',
|
|
230
|
-
description: 'Cheats the rollup contract into assuming every block until this one is proven. Useful for speeding up bootstraps.',
|
|
231
|
-
envVar: 'ASSUME_PROVEN_THROUGH_BLOCK_NUMBER',
|
|
232
|
-
parseVal: (val)=>parseInt(val, 10),
|
|
233
|
-
defaultValue: 0
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
flag: '--node.worldStateBlockCheckIntervalMS <value>',
|
|
237
|
-
description: 'Frequency in which to check for blocks in ms',
|
|
238
|
-
defaultValue: 100,
|
|
239
|
-
envVar: 'WS_BLOCK_CHECK_INTERVAL_MS',
|
|
240
|
-
parseVal: (val)=>parseInt(val, 10)
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
flag: '--node.syncMode <value>',
|
|
244
|
-
description: 'Set sync mode to `full` to always sync via L1, `snapshot` to download a snapshot if there is no local data, `force-snapshot` to download even if there is local data.',
|
|
245
|
-
defaultValue: 'snapshot',
|
|
246
|
-
envVar: 'SYNC_MODE'
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
flag: '--node.snapshotsUrl <value>',
|
|
250
|
-
description: 'Base URL for downloading snapshots for snapshot sync.',
|
|
251
|
-
defaultValue: undefined,
|
|
252
|
-
envVar: 'SYNC_SNAPSHOTS_URL'
|
|
154
|
+
env: undefined
|
|
253
155
|
}
|
|
254
156
|
],
|
|
255
|
-
'P2P SUBSYSTEM': [
|
|
256
|
-
{
|
|
257
|
-
flag: '--p2p-enabled [value]',
|
|
258
|
-
description: 'Enable P2P subsystem',
|
|
259
|
-
envVar: 'P2P_ENABLED',
|
|
260
|
-
...booleanConfigHelper()
|
|
261
|
-
},
|
|
262
|
-
...getOptions('p2p', p2pConfigMappings)
|
|
263
|
-
],
|
|
264
|
-
TELEMETRY: [
|
|
265
|
-
...getOptions('tel', telemetryClientConfigMappings)
|
|
266
|
-
],
|
|
267
|
-
PXE: [
|
|
268
|
-
{
|
|
269
|
-
flag: '--pxe',
|
|
270
|
-
description: 'Starts Aztec PXE with options',
|
|
271
|
-
defaultValue: undefined,
|
|
272
|
-
envVar: undefined
|
|
273
|
-
},
|
|
274
|
-
...getOptions('pxe', allPxeConfigMappings)
|
|
275
|
-
],
|
|
276
157
|
ARCHIVER: [
|
|
277
158
|
{
|
|
278
159
|
flag: '--archiver',
|
|
279
160
|
description: 'Starts Aztec Archiver with options',
|
|
280
161
|
defaultValue: undefined,
|
|
281
|
-
|
|
162
|
+
env: undefined
|
|
282
163
|
},
|
|
283
|
-
|
|
284
|
-
...getOptions('archiver', archiverConfigMappings).filter((opt)=>!opt.flag.includes('archiverUrl'))
|
|
164
|
+
...getOptions('archiver', omitConfigMappings(archiverConfigMappings, Object.keys(l1ContractsConfigMappings)))
|
|
285
165
|
],
|
|
286
166
|
SEQUENCER: [
|
|
287
167
|
{
|
|
288
168
|
flag: '--sequencer',
|
|
289
169
|
description: 'Starts Aztec Sequencer with options',
|
|
290
170
|
defaultValue: undefined,
|
|
291
|
-
|
|
171
|
+
env: undefined
|
|
292
172
|
},
|
|
293
|
-
...getOptions('sequencer', sequencerClientConfigMappings
|
|
173
|
+
...getOptions('sequencer', omitConfigMappings(sequencerClientConfigMappings, [
|
|
174
|
+
'fakeProcessingDelayPerTxMs',
|
|
175
|
+
'skipCollectingAttestations',
|
|
176
|
+
'skipInvalidateBlockAsProposer',
|
|
177
|
+
'blobSinkMapSizeKb'
|
|
178
|
+
]))
|
|
294
179
|
],
|
|
295
180
|
'BLOB SINK': [
|
|
296
181
|
{
|
|
297
182
|
flag: '--blob-sink',
|
|
298
183
|
description: 'Starts Aztec Blob Sink with options',
|
|
299
184
|
defaultValue: undefined,
|
|
300
|
-
|
|
185
|
+
env: undefined
|
|
301
186
|
},
|
|
302
187
|
...getOptions('blobSink', blobSinkConfigMappings)
|
|
303
188
|
],
|
|
@@ -306,20 +191,16 @@ export const aztecStartOptions = {
|
|
|
306
191
|
flag: '--prover-node',
|
|
307
192
|
description: 'Starts Aztec Prover Node with options',
|
|
308
193
|
defaultValue: undefined,
|
|
309
|
-
|
|
310
|
-
},
|
|
311
|
-
{
|
|
312
|
-
flag: '--proverNode.archiverUrl <value>',
|
|
313
|
-
description: 'URL for an archiver service',
|
|
314
|
-
defaultValue: undefined,
|
|
315
|
-
envVar: 'ARCHIVER_URL'
|
|
194
|
+
env: undefined
|
|
316
195
|
},
|
|
317
196
|
...getOptions('proverNode', omitConfigMappings(proverNodeConfigMappings, [
|
|
318
197
|
// filter out options passed separately
|
|
319
|
-
...
|
|
320
|
-
...
|
|
321
|
-
...
|
|
322
|
-
...
|
|
198
|
+
...getKeys(archiverConfigMappings),
|
|
199
|
+
...getKeys(proverBrokerConfigMappings),
|
|
200
|
+
...getKeys(proverAgentConfigMappings),
|
|
201
|
+
...getKeys(p2pConfigMappings),
|
|
202
|
+
...getKeys(worldStateConfigMappings),
|
|
203
|
+
...getKeys(sharedNodeConfigMappings)
|
|
323
204
|
]))
|
|
324
205
|
],
|
|
325
206
|
'PROVER BROKER': [
|
|
@@ -327,7 +208,7 @@ export const aztecStartOptions = {
|
|
|
327
208
|
flag: '--prover-broker',
|
|
328
209
|
description: 'Starts Aztec proving job broker',
|
|
329
210
|
defaultValue: undefined,
|
|
330
|
-
|
|
211
|
+
env: undefined
|
|
331
212
|
},
|
|
332
213
|
...getOptions('proverBroker', // filter out archiver options from prover node options as they're passed separately in --archiver
|
|
333
214
|
proverBrokerConfigMappings)
|
|
@@ -337,16 +218,25 @@ export const aztecStartOptions = {
|
|
|
337
218
|
flag: '--prover-agent',
|
|
338
219
|
description: 'Starts Aztec Prover Agent with options',
|
|
339
220
|
defaultValue: undefined,
|
|
340
|
-
|
|
221
|
+
env: undefined
|
|
341
222
|
},
|
|
342
223
|
...getOptions('proverAgent', proverAgentConfigMappings)
|
|
343
224
|
],
|
|
225
|
+
'P2P SUBSYSTEM': [
|
|
226
|
+
{
|
|
227
|
+
flag: '--p2p-enabled [value]',
|
|
228
|
+
description: 'Enable P2P subsystem',
|
|
229
|
+
env: 'P2P_ENABLED',
|
|
230
|
+
...booleanConfigHelper()
|
|
231
|
+
},
|
|
232
|
+
...getOptions('p2p', p2pConfigMappings)
|
|
233
|
+
],
|
|
344
234
|
'P2P BOOTSTRAP': [
|
|
345
235
|
{
|
|
346
236
|
flag: '--p2p-bootstrap',
|
|
347
237
|
description: 'Starts Aztec P2P Bootstrap with options',
|
|
348
238
|
defaultValue: undefined,
|
|
349
|
-
|
|
239
|
+
env: undefined
|
|
350
240
|
},
|
|
351
241
|
...getOptions('p2pBootstrap', omitConfigMappings(bootnodeConfigMappings, [
|
|
352
242
|
'p2pIp',
|
|
@@ -356,43 +246,33 @@ export const aztecStartOptions = {
|
|
|
356
246
|
'listenAddress'
|
|
357
247
|
]))
|
|
358
248
|
],
|
|
249
|
+
TELEMETRY: [
|
|
250
|
+
...getOptions('tel', telemetryClientConfigMappings)
|
|
251
|
+
],
|
|
359
252
|
BOT: [
|
|
360
253
|
{
|
|
361
254
|
flag: '--bot',
|
|
362
255
|
description: 'Starts Aztec Bot with options',
|
|
363
256
|
defaultValue: undefined,
|
|
364
|
-
|
|
257
|
+
env: undefined
|
|
365
258
|
},
|
|
366
259
|
...getOptions('bot', botConfigMappings)
|
|
367
260
|
],
|
|
261
|
+
PXE: [
|
|
262
|
+
{
|
|
263
|
+
flag: '--pxe',
|
|
264
|
+
description: 'Starts Aztec PXE with options',
|
|
265
|
+
defaultValue: undefined,
|
|
266
|
+
env: undefined
|
|
267
|
+
},
|
|
268
|
+
...getOptions('pxe', allPxeConfigMappings)
|
|
269
|
+
],
|
|
368
270
|
TXE: [
|
|
369
271
|
{
|
|
370
272
|
flag: '--txe',
|
|
371
273
|
description: 'Starts Aztec TXE with options',
|
|
372
274
|
defaultValue: undefined,
|
|
373
|
-
|
|
275
|
+
env: undefined
|
|
374
276
|
}
|
|
375
|
-
],
|
|
376
|
-
FAUCET: [
|
|
377
|
-
{
|
|
378
|
-
flag: '--faucet',
|
|
379
|
-
description: 'Starts the Aztec faucet',
|
|
380
|
-
defaultValue: undefined,
|
|
381
|
-
envVar: undefined
|
|
382
|
-
},
|
|
383
|
-
{
|
|
384
|
-
flag: '--faucet.apiServer',
|
|
385
|
-
description: 'Starts a simple HTTP server to access the faucet',
|
|
386
|
-
defaultValue: true,
|
|
387
|
-
envVar: undefined
|
|
388
|
-
},
|
|
389
|
-
{
|
|
390
|
-
flag: '--faucet.apiServerPort <value>',
|
|
391
|
-
description: 'The port on which to start the api server on',
|
|
392
|
-
defaultValue: 8080,
|
|
393
|
-
envVar: undefined,
|
|
394
|
-
parseVal: (val)=>parseInt(val, 10)
|
|
395
|
-
},
|
|
396
|
-
...getOptions('faucet', faucetConfigMapping)
|
|
397
277
|
]
|
|
398
278
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_archiver.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAIpB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"start_archiver.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAIpB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAOlF,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAEhD,oCAAoC;AACpC,wBAAsB,aAAa,CACjC,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,GAAG,eAAe,CAAA;CAAE,CAAC,CAmCvD"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Archiver, KVArchiverDataStore, archiverConfigMappings, getArchiverConfigFromEnv } from '@aztec/archiver';
|
|
2
|
-
import { createLogger } from '@aztec/aztec.js';
|
|
2
|
+
import { createLogger } from '@aztec/aztec.js/log';
|
|
3
3
|
import { blobSinkConfigMapping, createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
4
|
+
import { getL1Config } from '@aztec/cli/config';
|
|
4
5
|
import { dataConfigMappings } from '@aztec/kv-store/config';
|
|
5
6
|
import { createStore } from '@aztec/kv-store/lmdb-v2';
|
|
6
7
|
import { ArchiverApiSchema } from '@aztec/stdlib/interfaces/server';
|
|
7
8
|
import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
8
|
-
import { getL1Config } from '../get_l1_config.js';
|
|
9
9
|
import { extractRelevantOptions } from '../util.js';
|
|
10
10
|
/** Starts a standalone archiver. */ export async function startArchiver(options, signalHandlers, services) {
|
|
11
11
|
const envConfig = getArchiverConfigFromEnv();
|
|
@@ -18,7 +18,7 @@ import { extractRelevantOptions } from '../util.js';
|
|
|
18
18
|
...envConfig,
|
|
19
19
|
...cliOptions
|
|
20
20
|
};
|
|
21
|
-
archiverConfig.
|
|
21
|
+
archiverConfig.dataStoreMapSizeKb = archiverConfig.archiverStoreMapSizeKb ?? archiverConfig.dataStoreMapSizeKb;
|
|
22
22
|
if (!archiverConfig.l1Contracts.registryAddress || archiverConfig.l1Contracts.registryAddress.isZero()) {
|
|
23
23
|
throw new Error('L1 registry address is required to start an Archiver');
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_blob_sink.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_blob_sink.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start_blob_sink.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_blob_sink.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,wBAAsB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,iBA4CxG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { blobSinkConfigMappings, createBlobSinkServer, getBlobSinkConfigFromEnv } from '@aztec/blob-sink/server';
|
|
2
|
+
import { getL1Config } from '@aztec/cli/config';
|
|
2
3
|
import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
3
|
-
import { getL1Config } from '../get_l1_config.js';
|
|
4
4
|
import { extractRelevantOptions } from '../util.js';
|
|
5
5
|
export async function startBlobSink(options, signalHandlers, userLog) {
|
|
6
6
|
if (options.prover || options.node || options.sequencer || options.pxe || options.p2pBootstrap || options.txe) {
|