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