@aztec/aztec 0.0.0-test.0 → 0.0.1-commit.03f7ef2
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 +21 -12
- 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 +35 -40
- package/dest/cli/aztec_start_options.d.ts +5 -3
- package/dest/cli/aztec_start_options.d.ts.map +1 -1
- package/dest/cli/aztec_start_options.js +143 -224
- package/dest/cli/cli.d.ts +1 -1
- package/dest/cli/cli.d.ts.map +1 -1
- package/dest/cli/cli.js +39 -2
- 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 +20 -12
- 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 +2 -2
- package/dest/cli/cmds/start_node.d.ts.map +1 -1
- package/dest/cli/cmds/start_node.js +68 -81
- package/dest/cli/cmds/start_p2p_bootstrap.d.ts +1 -1
- package/dest/cli/cmds/start_p2p_bootstrap.d.ts.map +1 -1
- package/dest/cli/cmds/start_p2p_bootstrap.js +9 -4
- 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 +32 -3
- 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 +10 -4
- 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 +44 -46
- 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 +3 -0
- package/dest/cli/preload_crs.d.ts.map +1 -0
- package/dest/cli/preload_crs.js +6 -0
- package/dest/cli/release_version.d.ts +2 -0
- package/dest/cli/release_version.d.ts.map +1 -0
- package/dest/cli/release_version.js +14 -0
- package/dest/cli/util.d.ts +38 -7
- package/dest/cli/util.d.ts.map +1 -1
- package/dest/cli/util.js +198 -28
- 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 +31 -18
- package/dest/examples/util.d.ts +5 -6
- package/dest/examples/util.d.ts.map +1 -1
- package/dest/examples/util.js +5 -6
- 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 +20 -22
- 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 +72 -0
- package/dest/local-network/local-network.d.ts.map +1 -0
- package/dest/local-network/local-network.js +182 -0
- package/dest/local-network/sponsored_fpc.d.ts +5 -0
- package/dest/local-network/sponsored_fpc.d.ts.map +1 -0
- package/dest/local-network/sponsored_fpc.js +18 -0
- package/dest/mnemonic.d.ts +1 -1
- package/dest/splash.d.ts +1 -1
- package/dest/testing/anvil_test_watcher.d.ts +34 -0
- package/dest/testing/anvil_test_watcher.d.ts.map +1 -0
- package/dest/testing/anvil_test_watcher.js +144 -0
- package/dest/testing/cheat_codes.d.ts +41 -0
- package/dest/testing/cheat_codes.d.ts.map +1 -0
- package/dest/testing/cheat_codes.js +62 -0
- package/dest/testing/index.d.ts +4 -0
- package/dest/testing/index.d.ts.map +1 -0
- package/dest/testing/index.js +3 -0
- package/package.json +54 -45
- package/scripts/aztec.sh +56 -0
- package/scripts/compile.sh +44 -0
- package/scripts/extract_function.js +47 -0
- package/scripts/flamegraph.sh +59 -0
- package/scripts/init.sh +35 -0
- package/scripts/new.sh +59 -0
- package/scripts/setup_project.sh +31 -0
- package/src/bin/index.ts +26 -12
- package/src/cli/aztec_start_action.ts +31 -38
- package/src/cli/aztec_start_options.ts +159 -222
- package/src/cli/cli.ts +46 -5
- package/src/cli/cmds/start_archiver.ts +21 -15
- package/src/cli/cmds/start_bot.ts +36 -13
- package/src/cli/cmds/start_node.ts +91 -86
- package/src/cli/cmds/start_p2p_bootstrap.ts +12 -4
- package/src/cli/cmds/start_prover_agent.ts +23 -3
- package/src/cli/cmds/start_prover_broker.ts +24 -4
- package/src/cli/cmds/start_prover_node.ts +54 -51
- package/src/cli/preload_crs.ts +7 -0
- package/src/cli/release_version.ts +21 -0
- package/src/cli/util.ts +208 -34
- package/src/cli/versioning.ts +3 -3
- package/src/examples/token.ts +23 -19
- package/src/examples/util.ts +6 -8
- package/src/index.ts +5 -6
- package/src/{sandbox → local-network}/banana_fpc.ts +21 -26
- package/src/local-network/index.ts +7 -0
- package/src/local-network/local-network.ts +222 -0
- package/src/local-network/sponsored_fpc.ts +26 -0
- package/src/testing/anvil_test_watcher.ts +166 -0
- package/src/testing/cheat_codes.ts +79 -0
- package/src/testing/index.ts +3 -0
- package/dest/cli/chain_l2_config.d.ts +0 -19
- package/dest/cli/chain_l2_config.d.ts.map +0 -1
- package/dest/cli/chain_l2_config.js +0 -56
- package/dest/cli/cmds/start_blob_sink.d.ts +0 -3
- package/dest/cli/cmds/start_blob_sink.d.ts.map +0 -1
- package/dest/cli/cmds/start_blob_sink.js +0 -17
- 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 -95
- 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 -5
- package/dest/sandbox/index.d.ts.map +0 -1
- package/dest/sandbox/index.js +0 -4
- package/dest/sandbox/sandbox.d.ts +0 -76
- package/dest/sandbox/sandbox.d.ts.map +0 -1
- package/dest/sandbox/sandbox.js +0 -181
- package/dest/sandbox/sponsored_fee_payment_method.d.ts +0 -23
- package/dest/sandbox/sponsored_fee_payment_method.d.ts.map +0 -1
- package/dest/sandbox/sponsored_fee_payment_method.js +0 -36
- package/dest/sandbox/sponsored_fpc.d.ts +0 -6
- package/dest/sandbox/sponsored_fpc.d.ts.map +0 -1
- package/dest/sandbox/sponsored_fpc.js +0 -26
- package/src/cli/chain_l2_config.ts +0 -74
- package/src/cli/cmds/start_blob_sink.ts +0 -31
- package/src/cli/cmds/start_faucet.ts +0 -34
- package/src/cli/cmds/start_pxe.ts +0 -129
- package/src/cli/get_l1_config.ts +0 -18
- package/src/sandbox/index.ts +0 -5
- package/src/sandbox/sandbox.ts +0 -229
- package/src/sandbox/sponsored_fee_payment_method.ts +0 -46
- package/src/sandbox/sponsored_fpc.ts +0 -38
|
@@ -4,43 +4,37 @@ import {
|
|
|
4
4
|
startHttpRpcServer,
|
|
5
5
|
} from '@aztec/foundation/json-rpc/server';
|
|
6
6
|
import type { LogFn, Logger } from '@aztec/foundation/log';
|
|
7
|
-
import { fileURLToPath } from '@aztec/foundation/url';
|
|
8
7
|
import type { ChainConfig } from '@aztec/stdlib/config';
|
|
9
|
-
import { AztecNodeApiSchema
|
|
8
|
+
import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
|
|
10
9
|
import { getVersioningMiddleware } from '@aztec/stdlib/versioning';
|
|
11
10
|
import { getOtelJsonRpcPropagationMiddleware } from '@aztec/telemetry-client';
|
|
12
11
|
|
|
13
|
-
import {
|
|
14
|
-
import { dirname, resolve } from 'path';
|
|
15
|
-
|
|
16
|
-
import { createSandbox } from '../sandbox/index.js';
|
|
12
|
+
import { createLocalNetwork } from '../local-network/index.js';
|
|
17
13
|
import { github, splash } from '../splash.js';
|
|
18
|
-
import {
|
|
14
|
+
import { getCliVersion } from './release_version.js';
|
|
19
15
|
import { extractNamespacedOptions, installSignalHandlers } from './util.js';
|
|
20
16
|
import { getVersions } from './versioning.js';
|
|
21
17
|
|
|
22
|
-
const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../package.json');
|
|
23
|
-
const cliVersion: string = JSON.parse(readFileSync(packageJsonPath).toString()).version;
|
|
24
|
-
|
|
25
18
|
export async function aztecStart(options: any, userLog: LogFn, debugLogger: Logger) {
|
|
26
19
|
// list of 'stop' functions to call when process ends
|
|
27
20
|
const signalHandlers: Array<() => Promise<void>> = [];
|
|
28
21
|
const services: NamespacedApiHandlers = {};
|
|
22
|
+
const adminServices: NamespacedApiHandlers = {};
|
|
29
23
|
let config: ChainConfig | undefined = undefined;
|
|
30
24
|
|
|
31
|
-
if (options.
|
|
32
|
-
const
|
|
33
|
-
const
|
|
25
|
+
if (options.localNetwork) {
|
|
26
|
+
const cliVersion = getCliVersion();
|
|
27
|
+
const localNetwork = extractNamespacedOptions(options, 'local-network');
|
|
28
|
+
localNetwork.testAccounts = true;
|
|
34
29
|
userLog(`${splash}\n${github}\n\n`);
|
|
35
|
-
userLog(`Setting up Aztec
|
|
30
|
+
userLog(`Setting up Aztec local network ${cliVersion}, please stand by...`);
|
|
36
31
|
|
|
37
|
-
const { node,
|
|
32
|
+
const { node, stop } = await createLocalNetwork(
|
|
38
33
|
{
|
|
39
|
-
l1Mnemonic:
|
|
34
|
+
l1Mnemonic: localNetwork.l1Mnemonic,
|
|
40
35
|
l1RpcUrls: options.l1RpcUrls,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
testAccounts: sandboxOptions.testAccounts,
|
|
36
|
+
testAccounts: localNetwork.testAccounts,
|
|
37
|
+
realProofs: false,
|
|
44
38
|
},
|
|
45
39
|
userLog,
|
|
46
40
|
);
|
|
@@ -48,31 +42,16 @@ export async function aztecStart(options: any, userLog: LogFn, debugLogger: Logg
|
|
|
48
42
|
// Start Node and PXE JSON-RPC server
|
|
49
43
|
signalHandlers.push(stop);
|
|
50
44
|
services.node = [node, AztecNodeApiSchema];
|
|
51
|
-
if (!sandboxOptions.noPXE) {
|
|
52
|
-
services.pxe = [pxe, PXESchema];
|
|
53
|
-
} else {
|
|
54
|
-
userLog(`Not exposing PXE API through JSON-RPC server`);
|
|
55
|
-
}
|
|
56
45
|
} else {
|
|
57
|
-
// If a network is specified, enrich the environment with the chain config
|
|
58
|
-
if (options.network) {
|
|
59
|
-
await enrichEnvironmentWithChainConfig(options.network);
|
|
60
|
-
}
|
|
61
46
|
if (options.node) {
|
|
62
47
|
const { startNode } = await import('./cmds/start_node.js');
|
|
63
|
-
({ config } = await startNode(options, signalHandlers, services, userLog));
|
|
48
|
+
({ config } = await startNode(options, signalHandlers, services, adminServices, userLog));
|
|
64
49
|
} else if (options.bot) {
|
|
65
50
|
const { startBot } = await import('./cmds/start_bot.js');
|
|
66
51
|
await startBot(options, signalHandlers, services, userLog);
|
|
67
52
|
} else if (options.proverNode) {
|
|
68
53
|
const { startProverNode } = await import('./cmds/start_prover_node.js');
|
|
69
54
|
({ config } = await startProverNode(options, signalHandlers, services, userLog));
|
|
70
|
-
} else if (options.blobSink) {
|
|
71
|
-
const { startBlobSink } = await import('./cmds/start_blob_sink.js');
|
|
72
|
-
await startBlobSink(options, signalHandlers, userLog);
|
|
73
|
-
} else if (options.pxe) {
|
|
74
|
-
const { startPXE } = await import('./cmds/start_pxe.js');
|
|
75
|
-
({ config } = await startPXE(options, signalHandlers, services, userLog));
|
|
76
55
|
} else if (options.archiver) {
|
|
77
56
|
const { startArchiver } = await import('./cmds/start_archiver.js');
|
|
78
57
|
({ config } = await startArchiver(options, signalHandlers, services));
|
|
@@ -91,9 +70,6 @@ export async function aztecStart(options: any, userLog: LogFn, debugLogger: Logg
|
|
|
91
70
|
} else if (options.sequencer) {
|
|
92
71
|
userLog(`Cannot run a standalone sequencer without a node`);
|
|
93
72
|
process.exit(1);
|
|
94
|
-
} else if (options.faucet) {
|
|
95
|
-
const { startFaucet } = await import('./cmds/start_faucet.js');
|
|
96
|
-
await startFaucet(options, signalHandlers, services, userLog);
|
|
97
73
|
} else {
|
|
98
74
|
userLog(`No module specified to start`);
|
|
99
75
|
process.exit(1);
|
|
@@ -102,13 +78,30 @@ export async function aztecStart(options: any, userLog: LogFn, debugLogger: Logg
|
|
|
102
78
|
|
|
103
79
|
installSignalHandlers(debugLogger.info, signalHandlers);
|
|
104
80
|
const versions = getVersions(config);
|
|
81
|
+
|
|
82
|
+
// Start the main JSON-RPC server
|
|
105
83
|
if (Object.entries(services).length > 0) {
|
|
106
84
|
const rpcServer = createNamespacedSafeJsonRpcServer(services, {
|
|
107
85
|
http200OnError: false,
|
|
108
86
|
log: debugLogger,
|
|
109
87
|
middlewares: [getOtelJsonRpcPropagationMiddleware(), getVersioningMiddleware(versions)],
|
|
88
|
+
maxBatchSize: options.rpcMaxBatchSize,
|
|
89
|
+
maxBodySizeBytes: options.rpcMaxBodySize,
|
|
110
90
|
});
|
|
111
91
|
const { port } = await startHttpRpcServer(rpcServer, { port: options.port });
|
|
112
92
|
debugLogger.info(`Aztec Server listening on port ${port}`, versions);
|
|
113
93
|
}
|
|
94
|
+
|
|
95
|
+
// If there are any admin services, start a separate JSON-RPC server for them
|
|
96
|
+
if (Object.entries(adminServices).length > 0) {
|
|
97
|
+
const rpcServer = createNamespacedSafeJsonRpcServer(adminServices, {
|
|
98
|
+
http200OnError: false,
|
|
99
|
+
log: debugLogger,
|
|
100
|
+
middlewares: [getOtelJsonRpcPropagationMiddleware(), getVersioningMiddleware(versions)],
|
|
101
|
+
maxBatchSize: options.rpcMaxBatchSize,
|
|
102
|
+
maxBodySizeBytes: options.rpcMaxBodySize,
|
|
103
|
+
});
|
|
104
|
+
const { port } = await startHttpRpcServer(rpcServer, { port: options.adminPort });
|
|
105
|
+
debugLogger.info(`Aztec Server admin API listening on port ${port}`, versions);
|
|
106
|
+
}
|
|
114
107
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type ArchiverConfig, archiverConfigMappings } from '@aztec/archiver/config';
|
|
2
|
-
import {
|
|
3
|
-
import { sequencerClientConfigMappings } from '@aztec/aztec-node/config';
|
|
4
|
-
import { blobSinkConfigMappings } from '@aztec/blob-sink/server';
|
|
2
|
+
import { blobClientConfigMapping } from '@aztec/blob-client/client/config';
|
|
5
3
|
import { botConfigMappings } from '@aztec/bot/config';
|
|
4
|
+
import { l1ContractsConfigMappings } from '@aztec/ethereum/config';
|
|
5
|
+
import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
|
|
6
|
+
import { l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
|
|
7
|
+
import { getKeys } from '@aztec/foundation/collection';
|
|
6
8
|
import {
|
|
7
9
|
type ConfigMapping,
|
|
8
10
|
type EnvVar,
|
|
@@ -10,16 +12,16 @@ import {
|
|
|
10
12
|
isBooleanConfigValue,
|
|
11
13
|
omitConfigMappings,
|
|
12
14
|
} from '@aztec/foundation/config';
|
|
15
|
+
import { dataConfigMappings } from '@aztec/kv-store/config';
|
|
16
|
+
import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
|
|
13
17
|
import { bootnodeConfigMappings, p2pConfigMappings } from '@aztec/p2p/config';
|
|
14
|
-
import {
|
|
15
|
-
type ProverAgentConfig,
|
|
16
|
-
type ProverBrokerConfig,
|
|
17
|
-
proverAgentConfigMappings,
|
|
18
|
-
proverBrokerConfigMappings,
|
|
19
|
-
} from '@aztec/prover-client/broker';
|
|
18
|
+
import { proverAgentConfigMappings, proverBrokerConfigMappings } from '@aztec/prover-client/broker/config';
|
|
20
19
|
import { proverNodeConfigMappings } from '@aztec/prover-node/config';
|
|
21
20
|
import { allPxeConfigMappings } from '@aztec/pxe/config';
|
|
22
|
-
import {
|
|
21
|
+
import { sequencerClientConfigMappings } from '@aztec/sequencer-client/config';
|
|
22
|
+
import { chainConfigMappings } from '@aztec/stdlib/config';
|
|
23
|
+
import { telemetryClientConfigMappings } from '@aztec/telemetry-client/config';
|
|
24
|
+
import { worldStateConfigMappings } from '@aztec/world-state/config';
|
|
23
25
|
|
|
24
26
|
import { DefaultMnemonic } from '../mnemonic.js';
|
|
25
27
|
|
|
@@ -27,15 +29,18 @@ import { DefaultMnemonic } from '../mnemonic.js';
|
|
|
27
29
|
export interface AztecStartOption {
|
|
28
30
|
flag: string;
|
|
29
31
|
description: string;
|
|
30
|
-
defaultValue: any
|
|
32
|
+
defaultValue: any;
|
|
31
33
|
printDefault?: (val: any) => string;
|
|
32
|
-
|
|
34
|
+
env: EnvVar | undefined;
|
|
35
|
+
fallback?: EnvVar[];
|
|
33
36
|
parseVal?: (val: string) => any;
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
export const getOptions = (namespace: string, configMappings: Record<string, ConfigMapping>) => {
|
|
37
40
|
const options: AztecStartOption[] = [];
|
|
38
|
-
for (const [key, { env, defaultValue: def, parseEnv, description, printDefault }] of Object.entries(
|
|
41
|
+
for (const [key, { env, defaultValue: def, parseEnv, description, printDefault, fallback }] of Object.entries(
|
|
42
|
+
configMappings,
|
|
43
|
+
)) {
|
|
39
44
|
if (universalOptions.includes(key)) {
|
|
40
45
|
continue;
|
|
41
46
|
}
|
|
@@ -45,126 +50,125 @@ export const getOptions = (namespace: string, configMappings: Record<string, Con
|
|
|
45
50
|
description,
|
|
46
51
|
defaultValue: def,
|
|
47
52
|
printDefault,
|
|
48
|
-
|
|
53
|
+
env: env,
|
|
54
|
+
fallback,
|
|
49
55
|
parseVal: parseEnv,
|
|
50
56
|
});
|
|
51
57
|
}
|
|
52
58
|
return options;
|
|
53
59
|
};
|
|
54
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
|
+
|
|
55
81
|
// These are options used by multiple modules so should be inputted once
|
|
56
|
-
export const universalOptions = [
|
|
82
|
+
export const universalOptions = [
|
|
83
|
+
'l1ConsensusHostUrls',
|
|
84
|
+
'l1ConsensusHostApiKeys',
|
|
85
|
+
'l1ConsensusHostApiKeyHeaders',
|
|
86
|
+
'p2pEnabled',
|
|
87
|
+
'fishermanMode',
|
|
88
|
+
...getKeys(chainConfigMappings),
|
|
89
|
+
...getKeys(l1ContractsConfigMappings),
|
|
90
|
+
...getKeys(l1ContractAddressesMapping),
|
|
91
|
+
...getKeys(l1ReaderConfigMappings),
|
|
92
|
+
...getKeys(dataConfigMappings),
|
|
93
|
+
...getKeys(worldStateConfigMappings),
|
|
94
|
+
];
|
|
95
|
+
|
|
96
|
+
export const NETWORK_FLAG = 'network';
|
|
57
97
|
|
|
58
98
|
// Define categories and options
|
|
59
99
|
export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
60
|
-
|
|
100
|
+
MISC: [
|
|
61
101
|
{
|
|
62
|
-
flag:
|
|
102
|
+
flag: `--${NETWORK_FLAG} <value>`,
|
|
63
103
|
description: 'Network to run Aztec on',
|
|
64
104
|
defaultValue: undefined,
|
|
65
|
-
|
|
105
|
+
env: 'NETWORK',
|
|
66
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),
|
|
67
115
|
],
|
|
68
|
-
|
|
116
|
+
LOCAL_NETWORK: [
|
|
69
117
|
{
|
|
70
|
-
flag: '--
|
|
71
|
-
description: 'Starts Aztec
|
|
118
|
+
flag: '--local-network',
|
|
119
|
+
description: 'Starts Aztec Local Network',
|
|
72
120
|
defaultValue: undefined,
|
|
73
|
-
|
|
121
|
+
env: undefined,
|
|
74
122
|
},
|
|
75
123
|
{
|
|
76
|
-
flag: '--
|
|
77
|
-
description: '
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
flag: '--sandbox.noPXE',
|
|
83
|
-
description: 'Do not expose PXE service on sandbox start',
|
|
84
|
-
envVar: 'NO_PXE',
|
|
85
|
-
...booleanConfigHelper(),
|
|
124
|
+
flag: '--local-network.l1Mnemonic <value>',
|
|
125
|
+
description: 'Mnemonic for L1 accounts. Will be used ',
|
|
126
|
+
defaultValue: DefaultMnemonic,
|
|
127
|
+
env: 'MNEMONIC',
|
|
86
128
|
},
|
|
87
129
|
],
|
|
88
130
|
API: [
|
|
89
131
|
{
|
|
90
132
|
flag: '--port <value>',
|
|
91
|
-
description: 'Port to run the Aztec Services on
|
|
133
|
+
description: 'Port to run the Aztec Services on',
|
|
92
134
|
defaultValue: 8080,
|
|
93
|
-
|
|
135
|
+
env: 'AZTEC_PORT',
|
|
136
|
+
parseVal: val => parseInt(val, 10),
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
flag: '--admin-port <value>',
|
|
140
|
+
description: 'Port to run admin APIs of Aztec Services on',
|
|
141
|
+
defaultValue: 8880,
|
|
142
|
+
env: 'AZTEC_ADMIN_PORT',
|
|
94
143
|
parseVal: val => parseInt(val, 10),
|
|
95
144
|
},
|
|
96
145
|
{
|
|
97
146
|
flag: '--api-prefix <value>',
|
|
98
147
|
description: 'Prefix for API routes on any service that is started',
|
|
99
148
|
defaultValue: '',
|
|
100
|
-
|
|
149
|
+
env: 'API_PREFIX',
|
|
101
150
|
},
|
|
102
151
|
],
|
|
103
152
|
ETHEREUM: [
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
flag: '--l1-chain-id <value>',
|
|
113
|
-
description: 'The L1 chain ID',
|
|
114
|
-
defaultValue: 31337,
|
|
115
|
-
envVar: 'L1_CHAIN_ID',
|
|
116
|
-
parseVal: val => parseInt(val, 10),
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
flag: '--l1-mnemonic <value>',
|
|
120
|
-
description: 'Mnemonic for L1 accounts. Will be used if no publisher private keys are provided',
|
|
121
|
-
defaultValue: DefaultMnemonic,
|
|
122
|
-
envVar: 'MNEMONIC',
|
|
123
|
-
},
|
|
153
|
+
configToFlag('--l1-chain-id', l1ReaderConfigMappings.l1ChainId),
|
|
154
|
+
// Do not set default for CLI: keep undefined unless provided via flag or env
|
|
155
|
+
configToFlag('--l1-rpc-urls', { ...l1ReaderConfigMappings.l1RpcUrls, defaultValue: undefined }),
|
|
156
|
+
configToFlag('--l1-consensus-host-urls', blobClientConfigMapping.l1ConsensusHostUrls),
|
|
157
|
+
configToFlag('--l1-consensus-host-api-keys', blobClientConfigMapping.l1ConsensusHostApiKeys),
|
|
158
|
+
configToFlag('--l1-consensus-host-api-key-headers', blobClientConfigMapping.l1ConsensusHostApiKeyHeaders),
|
|
124
159
|
],
|
|
125
|
-
'L1
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
flag: '--inbox-address <value>',
|
|
140
|
-
description: 'The deployed L1 -> L2 inbox contract address',
|
|
141
|
-
defaultValue: undefined,
|
|
142
|
-
envVar: 'INBOX_CONTRACT_ADDRESS',
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
flag: '--outbox-address <value>',
|
|
146
|
-
description: 'The deployed L2 -> L1 outbox contract address',
|
|
147
|
-
defaultValue: undefined,
|
|
148
|
-
envVar: 'OUTBOX_CONTRACT_ADDRESS',
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
flag: '--fee-juice-address <value>',
|
|
152
|
-
description: 'The deployed L1 Fee Juice contract address',
|
|
153
|
-
defaultValue: undefined,
|
|
154
|
-
envVar: 'FEE_JUICE_CONTRACT_ADDRESS',
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
flag: '--staking-asset-address <value>',
|
|
158
|
-
description: 'The deployed L1 Staking Asset contract address',
|
|
159
|
-
defaultValue: undefined,
|
|
160
|
-
envVar: 'STAKING_ASSET_CONTRACT_ADDRESS',
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
flag: '--fee-juice-portal-address <value>',
|
|
164
|
-
description: 'The deployed L1 Fee Juice portal contract address',
|
|
165
|
-
defaultValue: undefined,
|
|
166
|
-
envVar: 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS',
|
|
167
|
-
},
|
|
160
|
+
'L1 CONTRACTS': [
|
|
161
|
+
configToFlag('--registry-address', l1ContractAddressesMapping.registryAddress),
|
|
162
|
+
configToFlag('--rollup-version', chainConfigMappings.rollupVersion),
|
|
163
|
+
],
|
|
164
|
+
STORAGE: [
|
|
165
|
+
configToFlag('--data-directory', dataConfigMappings.dataDirectory),
|
|
166
|
+
configToFlag('--data-store-map-size-kb', dataConfigMappings.dataStoreMapSizeKb),
|
|
167
|
+
],
|
|
168
|
+
'WORLD STATE': [
|
|
169
|
+
configToFlag('--world-state-data-directory', worldStateConfigMappings.worldStateDataDirectory),
|
|
170
|
+
configToFlag('--world-state-db-map-size-kb', worldStateConfigMappings.worldStateDbMapSizeKb),
|
|
171
|
+
configToFlag('--world-state-block-history', worldStateConfigMappings.worldStateBlockHistory),
|
|
168
172
|
],
|
|
169
173
|
// We can't easily auto-generate node options as they're parts of modules defined below
|
|
170
174
|
'AZTEC NODE': [
|
|
@@ -172,129 +176,56 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
172
176
|
flag: '--node',
|
|
173
177
|
description: 'Starts Aztec Node with options',
|
|
174
178
|
defaultValue: undefined,
|
|
175
|
-
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
flag: '--data-directory <value>',
|
|
179
|
-
description: 'Where to store data. If not set, will store temporarily',
|
|
180
|
-
defaultValue: undefined,
|
|
181
|
-
envVar: 'DATA_DIRECTORY',
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
flag: '--node.archiverUrl <value>',
|
|
185
|
-
description: 'URL for an archiver service',
|
|
186
|
-
defaultValue: undefined,
|
|
187
|
-
envVar: 'ARCHIVER_URL',
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
flag: '--node.deployAztecContracts',
|
|
191
|
-
description: 'Deploys L1 Aztec contracts before starting the node. Needs mnemonic or private key to be set.',
|
|
192
|
-
envVar: 'DEPLOY_AZTEC_CONTRACTS',
|
|
193
|
-
defaultValue: undefined,
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
flag: '--node.deployAztecContractsSalt <value>',
|
|
197
|
-
description:
|
|
198
|
-
'Numeric salt for deploying L1 Aztec contracts before starting the node. Needs mnemonic or private key to be set. Implies --node.deployAztecContracts.',
|
|
199
|
-
envVar: 'DEPLOY_AZTEC_CONTRACTS_SALT',
|
|
200
|
-
defaultValue: undefined,
|
|
201
|
-
parseVal: (val: string) => (val ? parseInt(val) : undefined),
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
flag: '--node.assumeProvenThroughBlockNumber <value>',
|
|
205
|
-
description:
|
|
206
|
-
'Cheats the rollup contract into assuming every block until this one is proven. Useful for speeding up bootstraps.',
|
|
207
|
-
envVar: 'ASSUME_PROVEN_THROUGH_BLOCK_NUMBER',
|
|
208
|
-
parseVal: (val: string) => parseInt(val, 10),
|
|
209
|
-
defaultValue: 0,
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
flag: '--node.publisherPrivateKey <value>',
|
|
213
|
-
description: 'Private key of account for publishing L1 contracts',
|
|
214
|
-
defaultValue: undefined,
|
|
215
|
-
envVar: 'L1_PRIVATE_KEY',
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
flag: '--node.worldStateBlockCheckIntervalMS <value>',
|
|
219
|
-
description: 'Frequency in which to check for blocks in ms',
|
|
220
|
-
defaultValue: 100,
|
|
221
|
-
envVar: 'WS_BLOCK_CHECK_INTERVAL_MS',
|
|
222
|
-
parseVal: val => parseInt(val, 10),
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
flag: '--node.testAccounts',
|
|
226
|
-
description: 'Populate genesis state with initial fee juice for test accounts',
|
|
227
|
-
envVar: 'TEST_ACCOUNTS',
|
|
228
|
-
...booleanConfigHelper(),
|
|
229
|
-
},
|
|
230
|
-
],
|
|
231
|
-
'P2P SUBSYSTEM': [
|
|
232
|
-
{
|
|
233
|
-
flag: '--p2p-enabled',
|
|
234
|
-
description: 'Enable P2P subsystem',
|
|
235
|
-
envVar: 'P2P_ENABLED',
|
|
236
|
-
...booleanConfigHelper(),
|
|
237
|
-
},
|
|
238
|
-
...getOptions('p2p', p2pConfigMappings),
|
|
239
|
-
],
|
|
240
|
-
TELEMETRY: [...getOptions('tel', telemetryClientConfigMappings)],
|
|
241
|
-
PXE: [
|
|
242
|
-
{
|
|
243
|
-
flag: '--pxe',
|
|
244
|
-
description: 'Starts Aztec PXE with options',
|
|
245
|
-
defaultValue: undefined,
|
|
246
|
-
envVar: undefined,
|
|
179
|
+
env: undefined,
|
|
247
180
|
},
|
|
248
|
-
...getOptions('pxe', allPxeConfigMappings),
|
|
249
181
|
],
|
|
250
182
|
ARCHIVER: [
|
|
251
183
|
{
|
|
252
184
|
flag: '--archiver',
|
|
253
185
|
description: 'Starts Aztec Archiver with options',
|
|
254
186
|
defaultValue: undefined,
|
|
255
|
-
|
|
187
|
+
env: undefined,
|
|
256
188
|
},
|
|
257
|
-
|
|
258
|
-
|
|
189
|
+
...getOptions(
|
|
190
|
+
'archiver',
|
|
191
|
+
omitConfigMappings(archiverConfigMappings, Object.keys(l1ContractsConfigMappings) as (keyof ArchiverConfig)[]),
|
|
192
|
+
),
|
|
259
193
|
],
|
|
260
194
|
SEQUENCER: [
|
|
261
195
|
{
|
|
262
196
|
flag: '--sequencer',
|
|
263
197
|
description: 'Starts Aztec Sequencer with options',
|
|
264
198
|
defaultValue: undefined,
|
|
265
|
-
|
|
266
|
-
},
|
|
267
|
-
...getOptions('sequencer', sequencerClientConfigMappings),
|
|
268
|
-
],
|
|
269
|
-
BLOB_SINK: [
|
|
270
|
-
{
|
|
271
|
-
flag: '--blob-sink',
|
|
272
|
-
description: 'Starts Aztec Blob Sink with options',
|
|
273
|
-
defaultValue: undefined,
|
|
274
|
-
envVar: undefined,
|
|
199
|
+
env: undefined,
|
|
275
200
|
},
|
|
276
|
-
...getOptions(
|
|
201
|
+
...getOptions(
|
|
202
|
+
'sequencer',
|
|
203
|
+
omitConfigMappings(sequencerClientConfigMappings, [
|
|
204
|
+
'fakeProcessingDelayPerTxMs',
|
|
205
|
+
'fakeThrowAfterProcessingTxCount',
|
|
206
|
+
'skipCollectingAttestations',
|
|
207
|
+
'skipInvalidateBlockAsProposer',
|
|
208
|
+
'blobSinkMapSizeKb',
|
|
209
|
+
]),
|
|
210
|
+
),
|
|
277
211
|
],
|
|
278
212
|
'PROVER NODE': [
|
|
279
213
|
{
|
|
280
214
|
flag: '--prover-node',
|
|
281
215
|
description: 'Starts Aztec Prover Node with options',
|
|
282
216
|
defaultValue: undefined,
|
|
283
|
-
|
|
284
|
-
},
|
|
285
|
-
{
|
|
286
|
-
flag: '--proverNode.archiverUrl <value>',
|
|
287
|
-
description: 'URL for an archiver service',
|
|
288
|
-
defaultValue: undefined,
|
|
289
|
-
envVar: 'ARCHIVER_URL',
|
|
217
|
+
env: undefined,
|
|
290
218
|
},
|
|
291
219
|
...getOptions(
|
|
292
220
|
'proverNode',
|
|
293
221
|
omitConfigMappings(proverNodeConfigMappings, [
|
|
294
222
|
// filter out options passed separately
|
|
295
|
-
...(
|
|
296
|
-
...(
|
|
297
|
-
...(
|
|
223
|
+
...getKeys(archiverConfigMappings),
|
|
224
|
+
...getKeys(proverBrokerConfigMappings),
|
|
225
|
+
...getKeys(proverAgentConfigMappings),
|
|
226
|
+
...getKeys(p2pConfigMappings),
|
|
227
|
+
...getKeys(worldStateConfigMappings),
|
|
228
|
+
...getKeys(sharedNodeConfigMappings),
|
|
298
229
|
]),
|
|
299
230
|
),
|
|
300
231
|
],
|
|
@@ -303,7 +234,7 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
303
234
|
flag: '--prover-broker',
|
|
304
235
|
description: 'Starts Aztec proving job broker',
|
|
305
236
|
defaultValue: undefined,
|
|
306
|
-
|
|
237
|
+
env: undefined,
|
|
307
238
|
},
|
|
308
239
|
...getOptions(
|
|
309
240
|
'proverBroker',
|
|
@@ -316,56 +247,62 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
316
247
|
flag: '--prover-agent',
|
|
317
248
|
description: 'Starts Aztec Prover Agent with options',
|
|
318
249
|
defaultValue: undefined,
|
|
319
|
-
|
|
250
|
+
env: undefined,
|
|
320
251
|
},
|
|
321
252
|
...getOptions('proverAgent', proverAgentConfigMappings),
|
|
322
253
|
],
|
|
254
|
+
'P2P SUBSYSTEM': [
|
|
255
|
+
{
|
|
256
|
+
flag: '--p2p-enabled [value]',
|
|
257
|
+
description: 'Enable P2P subsystem',
|
|
258
|
+
env: 'P2P_ENABLED',
|
|
259
|
+
...booleanConfigHelper(),
|
|
260
|
+
},
|
|
261
|
+
...getOptions('p2p', p2pConfigMappings),
|
|
262
|
+
],
|
|
323
263
|
'P2P BOOTSTRAP': [
|
|
324
264
|
{
|
|
325
265
|
flag: '--p2p-bootstrap',
|
|
326
266
|
description: 'Starts Aztec P2P Bootstrap with options',
|
|
327
267
|
defaultValue: undefined,
|
|
328
|
-
|
|
268
|
+
env: undefined,
|
|
329
269
|
},
|
|
330
|
-
...getOptions(
|
|
270
|
+
...getOptions(
|
|
271
|
+
'p2pBootstrap',
|
|
272
|
+
omitConfigMappings(bootnodeConfigMappings, [
|
|
273
|
+
'p2pIp',
|
|
274
|
+
'p2pPort',
|
|
275
|
+
'peerIdPrivateKey',
|
|
276
|
+
'bootstrapNodes',
|
|
277
|
+
'listenAddress',
|
|
278
|
+
]),
|
|
279
|
+
),
|
|
331
280
|
],
|
|
281
|
+
TELEMETRY: [...getOptions('tel', telemetryClientConfigMappings)],
|
|
332
282
|
BOT: [
|
|
333
283
|
{
|
|
334
284
|
flag: '--bot',
|
|
335
285
|
description: 'Starts Aztec Bot with options',
|
|
336
286
|
defaultValue: undefined,
|
|
337
|
-
|
|
287
|
+
env: undefined,
|
|
338
288
|
},
|
|
339
289
|
...getOptions('bot', botConfigMappings),
|
|
340
290
|
],
|
|
341
|
-
|
|
291
|
+
PXE: [
|
|
342
292
|
{
|
|
343
|
-
flag: '--
|
|
344
|
-
description: 'Starts Aztec
|
|
293
|
+
flag: '--pxe',
|
|
294
|
+
description: 'Starts Aztec PXE with options',
|
|
345
295
|
defaultValue: undefined,
|
|
346
|
-
|
|
296
|
+
env: undefined,
|
|
347
297
|
},
|
|
298
|
+
...getOptions('pxe', allPxeConfigMappings),
|
|
348
299
|
],
|
|
349
|
-
|
|
300
|
+
TXE: [
|
|
350
301
|
{
|
|
351
|
-
flag: '--
|
|
352
|
-
description: 'Starts
|
|
302
|
+
flag: '--txe',
|
|
303
|
+
description: 'Starts Aztec TXE with options',
|
|
353
304
|
defaultValue: undefined,
|
|
354
|
-
|
|
355
|
-
},
|
|
356
|
-
{
|
|
357
|
-
flag: '--faucet.apiServer',
|
|
358
|
-
description: 'Starts a simple HTTP server to access the faucet',
|
|
359
|
-
defaultValue: true,
|
|
360
|
-
envVar: undefined,
|
|
361
|
-
},
|
|
362
|
-
{
|
|
363
|
-
flag: '--faucet.apiServerPort <value>',
|
|
364
|
-
description: 'The port on which to start the api server on',
|
|
365
|
-
defaultValue: 8080,
|
|
366
|
-
envVar: undefined,
|
|
367
|
-
parseVal: val => parseInt(val, 10),
|
|
305
|
+
env: undefined,
|
|
368
306
|
},
|
|
369
|
-
...getOptions('faucet', faucetConfigMapping),
|
|
370
307
|
],
|
|
371
308
|
};
|