@aztec/aztec 0.0.0-test.1 → 0.0.1-commit.1142ef1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/README.md +1 -1
  2. package/dest/bin/index.d.ts +1 -1
  3. package/dest/bin/index.js +23 -12
  4. package/dest/cli/aztec_start_action.d.ts +1 -1
  5. package/dest/cli/aztec_start_action.d.ts.map +1 -1
  6. package/dest/cli/aztec_start_action.js +40 -40
  7. package/dest/cli/aztec_start_options.d.ts +5 -3
  8. package/dest/cli/aztec_start_options.d.ts.map +1 -1
  9. package/dest/cli/aztec_start_options.js +143 -224
  10. package/dest/cli/cli.d.ts +1 -1
  11. package/dest/cli/cli.d.ts.map +1 -1
  12. package/dest/cli/cli.js +12 -7
  13. package/dest/cli/cmds/migrate_ha_db.d.ts +3 -0
  14. package/dest/cli/cmds/migrate_ha_db.d.ts.map +1 -0
  15. package/dest/cli/cmds/migrate_ha_db.js +27 -0
  16. package/dest/cli/cmds/start_archiver.d.ts +1 -1
  17. package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
  18. package/dest/cli/cmds/start_archiver.js +20 -12
  19. package/dest/cli/cmds/start_bot.d.ts +4 -7
  20. package/dest/cli/cmds/start_bot.d.ts.map +1 -1
  21. package/dest/cli/cmds/start_bot.js +25 -14
  22. package/dest/cli/cmds/start_node.d.ts +2 -2
  23. package/dest/cli/cmds/start_node.d.ts.map +1 -1
  24. package/dest/cli/cmds/start_node.js +68 -81
  25. package/dest/cli/cmds/start_p2p_bootstrap.d.ts +1 -1
  26. package/dest/cli/cmds/start_p2p_bootstrap.d.ts.map +1 -1
  27. package/dest/cli/cmds/start_p2p_bootstrap.js +9 -4
  28. package/dest/cli/cmds/start_prover_agent.d.ts +1 -1
  29. package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
  30. package/dest/cli/cmds/start_prover_agent.js +33 -4
  31. package/dest/cli/cmds/start_prover_broker.d.ts +1 -1
  32. package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
  33. package/dest/cli/cmds/start_prover_broker.js +10 -4
  34. package/dest/cli/cmds/start_prover_node.d.ts +1 -1
  35. package/dest/cli/cmds/start_prover_node.d.ts.map +1 -1
  36. package/dest/cli/cmds/start_prover_node.js +44 -46
  37. package/dest/cli/cmds/start_txe.d.ts +1 -1
  38. package/dest/cli/index.d.ts +1 -1
  39. package/dest/cli/preload_crs.d.ts +3 -0
  40. package/dest/cli/preload_crs.d.ts.map +1 -0
  41. package/dest/cli/preload_crs.js +6 -0
  42. package/dest/cli/release_version.d.ts +2 -0
  43. package/dest/cli/release_version.d.ts.map +1 -0
  44. package/dest/cli/release_version.js +14 -0
  45. package/dest/cli/util.d.ts +38 -7
  46. package/dest/cli/util.d.ts.map +1 -1
  47. package/dest/cli/util.js +198 -28
  48. package/dest/cli/versioning.d.ts +1 -1
  49. package/dest/cli/versioning.js +3 -3
  50. package/dest/examples/token.d.ts +1 -1
  51. package/dest/examples/token.js +31 -18
  52. package/dest/examples/util.d.ts +5 -6
  53. package/dest/examples/util.d.ts.map +1 -1
  54. package/dest/examples/util.js +5 -6
  55. package/dest/index.d.ts +2 -2
  56. package/dest/index.d.ts.map +1 -1
  57. package/dest/index.js +1 -1
  58. package/dest/local-network/banana_fpc.d.ts +10 -0
  59. package/dest/local-network/banana_fpc.d.ts.map +1 -0
  60. package/dest/{sandbox → local-network}/banana_fpc.js +20 -22
  61. package/dest/local-network/index.d.ts +4 -0
  62. package/dest/local-network/index.d.ts.map +1 -0
  63. package/dest/local-network/index.js +3 -0
  64. package/dest/local-network/local-network.d.ts +72 -0
  65. package/dest/local-network/local-network.d.ts.map +1 -0
  66. package/dest/local-network/local-network.js +195 -0
  67. package/dest/local-network/sponsored_fpc.d.ts +5 -0
  68. package/dest/local-network/sponsored_fpc.d.ts.map +1 -0
  69. package/dest/local-network/sponsored_fpc.js +18 -0
  70. package/dest/mnemonic.d.ts +1 -1
  71. package/dest/splash.d.ts +1 -1
  72. package/dest/testing/anvil_test_watcher.d.ts +34 -0
  73. package/dest/testing/anvil_test_watcher.d.ts.map +1 -0
  74. package/dest/testing/anvil_test_watcher.js +144 -0
  75. package/dest/testing/cheat_codes.d.ts +41 -0
  76. package/dest/testing/cheat_codes.d.ts.map +1 -0
  77. package/dest/testing/cheat_codes.js +62 -0
  78. package/dest/testing/epoch_test_settler.d.ts +17 -0
  79. package/dest/testing/epoch_test_settler.d.ts.map +1 -0
  80. package/dest/testing/epoch_test_settler.js +52 -0
  81. package/dest/testing/index.d.ts +5 -0
  82. package/dest/testing/index.d.ts.map +1 -0
  83. package/dest/testing/index.js +4 -0
  84. package/package.json +55 -45
  85. package/scripts/aztec.sh +63 -0
  86. package/scripts/compile.sh +44 -0
  87. package/scripts/extract_function.js +47 -0
  88. package/scripts/flamegraph.sh +59 -0
  89. package/scripts/init.sh +35 -0
  90. package/scripts/new.sh +59 -0
  91. package/scripts/setup_project.sh +31 -0
  92. package/src/bin/index.ts +28 -12
  93. package/src/cli/aztec_start_action.ts +36 -38
  94. package/src/cli/aztec_start_options.ts +159 -222
  95. package/src/cli/cli.ts +20 -11
  96. package/src/cli/cmds/migrate_ha_db.ts +43 -0
  97. package/src/cli/cmds/start_archiver.ts +21 -15
  98. package/src/cli/cmds/start_bot.ts +36 -13
  99. package/src/cli/cmds/start_node.ts +91 -86
  100. package/src/cli/cmds/start_p2p_bootstrap.ts +12 -4
  101. package/src/cli/cmds/start_prover_agent.ts +24 -12
  102. package/src/cli/cmds/start_prover_broker.ts +24 -4
  103. package/src/cli/cmds/start_prover_node.ts +54 -51
  104. package/src/cli/preload_crs.ts +7 -0
  105. package/src/cli/release_version.ts +21 -0
  106. package/src/cli/util.ts +208 -34
  107. package/src/cli/versioning.ts +3 -3
  108. package/src/examples/token.ts +23 -19
  109. package/src/examples/util.ts +6 -8
  110. package/src/index.ts +5 -6
  111. package/src/{sandbox → local-network}/banana_fpc.ts +21 -26
  112. package/src/local-network/index.ts +7 -0
  113. package/src/local-network/local-network.ts +238 -0
  114. package/src/local-network/sponsored_fpc.ts +26 -0
  115. package/src/testing/anvil_test_watcher.ts +166 -0
  116. package/src/testing/cheat_codes.ts +79 -0
  117. package/src/testing/epoch_test_settler.ts +59 -0
  118. package/src/testing/index.ts +4 -0
  119. package/dest/cli/chain_l2_config.d.ts +0 -19
  120. package/dest/cli/chain_l2_config.d.ts.map +0 -1
  121. package/dest/cli/chain_l2_config.js +0 -56
  122. package/dest/cli/cmds/start_blob_sink.d.ts +0 -3
  123. package/dest/cli/cmds/start_blob_sink.d.ts.map +0 -1
  124. package/dest/cli/cmds/start_blob_sink.js +0 -17
  125. package/dest/cli/cmds/start_faucet.d.ts +0 -4
  126. package/dest/cli/cmds/start_faucet.d.ts.map +0 -1
  127. package/dest/cli/cmds/start_faucet.js +0 -20
  128. package/dest/cli/cmds/start_pxe.d.ts +0 -16
  129. package/dest/cli/cmds/start_pxe.d.ts.map +0 -1
  130. package/dest/cli/cmds/start_pxe.js +0 -95
  131. package/dest/cli/get_l1_config.d.ts +0 -7
  132. package/dest/cli/get_l1_config.d.ts.map +0 -1
  133. package/dest/cli/get_l1_config.js +0 -13
  134. package/dest/sandbox/banana_fpc.d.ts +0 -11
  135. package/dest/sandbox/banana_fpc.d.ts.map +0 -1
  136. package/dest/sandbox/index.d.ts +0 -5
  137. package/dest/sandbox/index.d.ts.map +0 -1
  138. package/dest/sandbox/index.js +0 -4
  139. package/dest/sandbox/sandbox.d.ts +0 -76
  140. package/dest/sandbox/sandbox.d.ts.map +0 -1
  141. package/dest/sandbox/sandbox.js +0 -181
  142. package/dest/sandbox/sponsored_fee_payment_method.d.ts +0 -23
  143. package/dest/sandbox/sponsored_fee_payment_method.d.ts.map +0 -1
  144. package/dest/sandbox/sponsored_fee_payment_method.js +0 -36
  145. package/dest/sandbox/sponsored_fpc.d.ts +0 -6
  146. package/dest/sandbox/sponsored_fpc.d.ts.map +0 -1
  147. package/dest/sandbox/sponsored_fpc.js +0 -26
  148. package/src/cli/chain_l2_config.ts +0 -74
  149. package/src/cli/cmds/start_blob_sink.ts +0 -31
  150. package/src/cli/cmds/start_faucet.ts +0 -34
  151. package/src/cli/cmds/start_pxe.ts +0 -129
  152. package/src/cli/get_l1_config.ts +0 -18
  153. package/src/sandbox/index.ts +0 -5
  154. package/src/sandbox/sandbox.ts +0 -229
  155. package/src/sandbox/sponsored_fee_payment_method.ts +0 -46
  156. package/src/sandbox/sponsored_fpc.ts +0 -38
package/src/bin/index.ts CHANGED
@@ -1,21 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  //
3
3
  import { injectCommands as injectBuilderCommands } from '@aztec/builder';
4
- import { injectCommands as injectWalletCommands } from '@aztec/cli-wallet';
4
+ import { injectCommands as injectAztecNodeCommands } from '@aztec/cli/aztec_node';
5
+ import { enrichEnvironmentWithChainName } from '@aztec/cli/config/chain';
6
+ import { enrichEnvironmentWithNetworkConfig } from '@aztec/cli/config/network';
5
7
  import { injectCommands as injectContractCommands } from '@aztec/cli/contracts';
6
- import { injectCommands as injectDevnetCommands } from '@aztec/cli/devnet';
7
8
  import { injectCommands as injectInfrastructureCommands } from '@aztec/cli/infrastructure';
8
9
  import { injectCommands as injectL1Commands } from '@aztec/cli/l1';
9
10
  import { injectCommands as injectMiscCommands } from '@aztec/cli/misc';
10
- import { injectCommands as injectPXECommands } from '@aztec/cli/pxe';
11
+ import { injectCommands as injectValidatorKeysCommands } from '@aztec/cli/validator_keys';
12
+ import { getActiveNetworkName } from '@aztec/foundation/config';
11
13
  import { createConsoleLogger, createLogger } from '@aztec/foundation/log';
12
- import { fileURLToPath } from '@aztec/foundation/url';
13
14
 
14
15
  import { Command } from 'commander';
15
- import { readFileSync } from 'fs';
16
- import { dirname, resolve } from 'path';
17
16
 
17
+ import { injectMigrateCommand } from '../cli/cmds/migrate_ha_db.js';
18
18
  import { injectAztecCommands } from '../cli/index.js';
19
+ import { getCliVersion } from '../cli/release_version.js';
20
+
21
+ const NETWORK_FLAG = 'network';
19
22
 
20
23
  const userLog = createConsoleLogger();
21
24
  const debugLogger = createLogger('cli');
@@ -28,19 +31,32 @@ async function main() {
28
31
  process.once('SIGINT', shutdown);
29
32
  process.once('SIGTERM', shutdown);
30
33
 
31
- const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../package.json');
32
- const cliVersion: string = JSON.parse(readFileSync(packageJsonPath).toString()).version;
34
+ // Intercept the setting of a network and enrich the environment with defaults for that network
35
+ let networkValue: string | undefined;
36
+
37
+ const args = process.argv.slice(2);
38
+ const networkIndex = args.findIndex(arg => arg.startsWith(`--${NETWORK_FLAG}=`) || arg === `--${NETWORK_FLAG}`);
39
+
40
+ if (networkIndex !== -1) {
41
+ networkValue = args[networkIndex].split('=')[1] || args[networkIndex + 1];
42
+ }
43
+
44
+ const networkName = getActiveNetworkName(networkValue);
45
+ await enrichEnvironmentWithNetworkConfig(networkName);
46
+ enrichEnvironmentWithChainName(networkName);
47
+
48
+ const cliVersion = getCliVersion();
33
49
  let program = new Command('aztec');
34
50
  program.description('Aztec command line interface').version(cliVersion);
35
51
  program = injectAztecCommands(program, userLog, debugLogger);
36
52
  program = injectBuilderCommands(program);
37
53
  program = injectContractCommands(program, userLog, debugLogger);
38
- program = injectInfrastructureCommands(program, userLog, debugLogger);
54
+ program = injectInfrastructureCommands(program, userLog);
39
55
  program = injectL1Commands(program, userLog, debugLogger);
40
- program = injectPXECommands(program, userLog, debugLogger);
56
+ program = injectAztecNodeCommands(program, userLog, debugLogger);
41
57
  program = injectMiscCommands(program, userLog);
42
- program = injectDevnetCommands(program, userLog, debugLogger);
43
- program = injectWalletCommands(program, userLog, debugLogger);
58
+ program = injectValidatorKeysCommands(program, userLog);
59
+ program = injectMigrateCommand(program, userLog);
44
60
 
45
61
  await program.parseAsync(process.argv);
46
62
  }
@@ -4,43 +4,42 @@ 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, PXESchema } from '@aztec/stdlib/interfaces/client';
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 { readFileSync } from 'fs';
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 { enrichEnvironmentWithChainConfig } from './chain_l2_config.js';
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.sandbox) {
32
- const sandboxOptions = extractNamespacedOptions(options, 'sandbox');
33
- const nodeOptions = extractNamespacedOptions(options, 'node');
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 Sandbox ${cliVersion}, please stand by...`);
30
+ userLog(`Setting up Aztec local network ${cliVersion}, please stand by...`);
36
31
 
37
- const { node, pxe, stop } = await createSandbox(
32
+ const { node, stop } = await createLocalNetwork(
38
33
  {
39
- l1Mnemonic: options.l1Mnemonic,
34
+ l1Mnemonic: localNetwork.l1Mnemonic,
40
35
  l1RpcUrls: options.l1RpcUrls,
41
- l1Salt: nodeOptions.deployAztecContractsSalt,
42
- noPXE: sandboxOptions.noPXE,
43
- testAccounts: sandboxOptions.testAccounts,
36
+ testAccounts: localNetwork.testAccounts,
37
+ realProofs: false,
38
+ // Setting the epoch duration to 4 by default for local network. This allows the epoch to be "proven" faster, so
39
+ // the users can consume out hash without having to wait for a long time.
40
+ // Note: We are not proving anything in the local network (realProofs == false). But in `createLocalNetwork`,
41
+ // the EpochTestSettler will set the out hash to the outbox when an epoch is complete.
42
+ aztecEpochDuration: 4,
44
43
  },
45
44
  userLog,
46
45
  );
@@ -48,31 +47,16 @@ export async function aztecStart(options: any, userLog: LogFn, debugLogger: Logg
48
47
  // Start Node and PXE JSON-RPC server
49
48
  signalHandlers.push(stop);
50
49
  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
50
  } 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
51
  if (options.node) {
62
52
  const { startNode } = await import('./cmds/start_node.js');
63
- ({ config } = await startNode(options, signalHandlers, services, userLog));
53
+ ({ config } = await startNode(options, signalHandlers, services, adminServices, userLog));
64
54
  } else if (options.bot) {
65
55
  const { startBot } = await import('./cmds/start_bot.js');
66
56
  await startBot(options, signalHandlers, services, userLog);
67
57
  } else if (options.proverNode) {
68
58
  const { startProverNode } = await import('./cmds/start_prover_node.js');
69
59
  ({ 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
60
  } else if (options.archiver) {
77
61
  const { startArchiver } = await import('./cmds/start_archiver.js');
78
62
  ({ config } = await startArchiver(options, signalHandlers, services));
@@ -91,9 +75,6 @@ export async function aztecStart(options: any, userLog: LogFn, debugLogger: Logg
91
75
  } else if (options.sequencer) {
92
76
  userLog(`Cannot run a standalone sequencer without a node`);
93
77
  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
78
  } else {
98
79
  userLog(`No module specified to start`);
99
80
  process.exit(1);
@@ -102,13 +83,30 @@ export async function aztecStart(options: any, userLog: LogFn, debugLogger: Logg
102
83
 
103
84
  installSignalHandlers(debugLogger.info, signalHandlers);
104
85
  const versions = getVersions(config);
86
+
87
+ // Start the main JSON-RPC server
105
88
  if (Object.entries(services).length > 0) {
106
89
  const rpcServer = createNamespacedSafeJsonRpcServer(services, {
107
90
  http200OnError: false,
108
91
  log: debugLogger,
109
92
  middlewares: [getOtelJsonRpcPropagationMiddleware(), getVersioningMiddleware(versions)],
93
+ maxBatchSize: options.rpcMaxBatchSize,
94
+ maxBodySizeBytes: options.rpcMaxBodySize,
110
95
  });
111
96
  const { port } = await startHttpRpcServer(rpcServer, { port: options.port });
112
97
  debugLogger.info(`Aztec Server listening on port ${port}`, versions);
113
98
  }
99
+
100
+ // If there are any admin services, start a separate JSON-RPC server for them
101
+ if (Object.entries(adminServices).length > 0) {
102
+ const rpcServer = createNamespacedSafeJsonRpcServer(adminServices, {
103
+ http200OnError: false,
104
+ log: debugLogger,
105
+ middlewares: [getOtelJsonRpcPropagationMiddleware(), getVersioningMiddleware(versions)],
106
+ maxBatchSize: options.rpcMaxBatchSize,
107
+ maxBodySizeBytes: options.rpcMaxBodySize,
108
+ });
109
+ const { port } = await startHttpRpcServer(rpcServer, { port: options.adminPort });
110
+ debugLogger.info(`Aztec Server admin API listening on port ${port}`, versions);
111
+ }
114
112
  }