@aztec/aztec 0.0.1-commit.7d4e6cd → 0.0.1-commit.808bf7f90

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 (105) hide show
  1. package/dest/bin/index.js +5 -1
  2. package/dest/cli/admin_api_key_store.d.ts +45 -0
  3. package/dest/cli/admin_api_key_store.d.ts.map +1 -0
  4. package/dest/cli/admin_api_key_store.js +98 -0
  5. package/dest/cli/aztec_start_action.d.ts +1 -1
  6. package/dest/cli/aztec_start_action.d.ts.map +1 -1
  7. package/dest/cli/aztec_start_action.js +46 -10
  8. package/dest/cli/aztec_start_options.d.ts +1 -1
  9. package/dest/cli/aztec_start_options.d.ts.map +1 -1
  10. package/dest/cli/aztec_start_options.js +27 -8
  11. package/dest/cli/cli.d.ts +1 -1
  12. package/dest/cli/cli.d.ts.map +1 -1
  13. package/dest/cli/cli.js +0 -1
  14. package/dest/cli/cmds/compile.d.ts +4 -0
  15. package/dest/cli/cmds/compile.d.ts.map +1 -0
  16. package/dest/cli/cmds/compile.js +68 -0
  17. package/dest/cli/cmds/profile.d.ts +4 -0
  18. package/dest/cli/cmds/profile.d.ts.map +1 -0
  19. package/dest/cli/cmds/profile.js +8 -0
  20. package/dest/cli/cmds/profile_flamegraph.d.ts +4 -0
  21. package/dest/cli/cmds/profile_flamegraph.d.ts.map +1 -0
  22. package/dest/cli/cmds/profile_flamegraph.js +51 -0
  23. package/dest/cli/cmds/profile_gates.d.ts +4 -0
  24. package/dest/cli/cmds/profile_gates.d.ts.map +1 -0
  25. package/dest/cli/cmds/profile_gates.js +57 -0
  26. package/dest/cli/cmds/profile_utils.d.ts +18 -0
  27. package/dest/cli/cmds/profile_utils.d.ts.map +1 -0
  28. package/dest/cli/cmds/profile_utils.js +50 -0
  29. package/dest/cli/cmds/start_archiver.d.ts +1 -1
  30. package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
  31. package/dest/cli/cmds/start_archiver.js +5 -7
  32. package/dest/cli/cmds/start_bot.d.ts +3 -3
  33. package/dest/cli/cmds/start_bot.d.ts.map +1 -1
  34. package/dest/cli/cmds/start_bot.js +9 -5
  35. package/dest/cli/cmds/start_node.d.ts +1 -1
  36. package/dest/cli/cmds/start_node.d.ts.map +1 -1
  37. package/dest/cli/cmds/start_node.js +62 -10
  38. package/dest/cli/cmds/start_p2p_bootstrap.d.ts +2 -2
  39. package/dest/cli/cmds/start_p2p_bootstrap.d.ts.map +1 -1
  40. package/dest/cli/cmds/start_p2p_bootstrap.js +1 -2
  41. package/dest/cli/cmds/start_prover_agent.js +2 -2
  42. package/dest/cli/cmds/start_prover_broker.d.ts +1 -1
  43. package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
  44. package/dest/cli/cmds/start_prover_broker.js +2 -2
  45. package/dest/cli/cmds/utils/artifacts.d.ts +21 -0
  46. package/dest/cli/cmds/utils/artifacts.d.ts.map +1 -0
  47. package/dest/cli/cmds/utils/artifacts.js +24 -0
  48. package/dest/cli/cmds/utils/spawn.d.ts +3 -0
  49. package/dest/cli/cmds/utils/spawn.d.ts.map +1 -0
  50. package/dest/cli/cmds/utils/spawn.js +16 -0
  51. package/dest/cli/util.d.ts +5 -14
  52. package/dest/cli/util.d.ts.map +1 -1
  53. package/dest/cli/util.js +11 -6
  54. package/dest/examples/token.js +5 -5
  55. package/dest/local-network/banana_fpc.d.ts +1 -1
  56. package/dest/local-network/banana_fpc.d.ts.map +1 -1
  57. package/dest/local-network/banana_fpc.js +2 -2
  58. package/dest/local-network/local-network.d.ts +4 -3
  59. package/dest/local-network/local-network.d.ts.map +1 -1
  60. package/dest/local-network/local-network.js +34 -16
  61. package/dest/testing/anvil_test_watcher.d.ts +9 -1
  62. package/dest/testing/anvil_test_watcher.d.ts.map +1 -1
  63. package/dest/testing/anvil_test_watcher.js +52 -15
  64. package/dest/testing/cheat_codes.d.ts +3 -1
  65. package/dest/testing/cheat_codes.d.ts.map +1 -1
  66. package/dest/testing/epoch_test_settler.d.ts +4 -2
  67. package/dest/testing/epoch_test_settler.d.ts.map +1 -1
  68. package/dest/testing/epoch_test_settler.js +15 -5
  69. package/package.json +35 -35
  70. package/scripts/aztec.sh +7 -4
  71. package/scripts/init.sh +23 -13
  72. package/scripts/new.sh +17 -16
  73. package/scripts/setup_workspace.sh +124 -0
  74. package/src/bin/index.ts +5 -1
  75. package/src/cli/admin_api_key_store.ts +128 -0
  76. package/src/cli/aztec_start_action.ts +50 -6
  77. package/src/cli/aztec_start_options.ts +28 -6
  78. package/src/cli/cli.ts +0 -1
  79. package/src/cli/cmds/compile.ts +80 -0
  80. package/src/cli/cmds/profile.ts +25 -0
  81. package/src/cli/cmds/profile_flamegraph.ts +63 -0
  82. package/src/cli/cmds/profile_gates.ts +67 -0
  83. package/src/cli/cmds/profile_utils.ts +58 -0
  84. package/src/cli/cmds/start_archiver.ts +2 -13
  85. package/src/cli/cmds/start_bot.ts +8 -5
  86. package/src/cli/cmds/start_node.ts +51 -9
  87. package/src/cli/cmds/start_p2p_bootstrap.ts +2 -2
  88. package/src/cli/cmds/start_prover_agent.ts +2 -2
  89. package/src/cli/cmds/start_prover_broker.ts +5 -1
  90. package/src/cli/cmds/utils/artifacts.ts +44 -0
  91. package/src/cli/cmds/utils/spawn.ts +16 -0
  92. package/src/cli/util.ts +15 -20
  93. package/src/examples/token.ts +5 -7
  94. package/src/local-network/banana_fpc.ts +10 -6
  95. package/src/local-network/local-network.ts +49 -20
  96. package/src/testing/anvil_test_watcher.ts +59 -15
  97. package/src/testing/epoch_test_settler.ts +16 -4
  98. package/dest/cli/cmds/start_prover_node.d.ts +0 -7
  99. package/dest/cli/cmds/start_prover_node.d.ts.map +0 -1
  100. package/dest/cli/cmds/start_prover_node.js +0 -108
  101. package/scripts/compile.sh +0 -44
  102. package/scripts/extract_function.js +0 -47
  103. package/scripts/flamegraph.sh +0 -59
  104. package/scripts/setup_project.sh +0 -31
  105. package/src/cli/cmds/start_prover_node.ts +0 -124
@@ -1,124 +0,0 @@
1
- import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
- import { Fr } from '@aztec/aztec.js/fields';
3
- import { getSponsoredFPCAddress } from '@aztec/cli/cli-utils';
4
- import { getL1Config } from '@aztec/cli/config';
5
- import { getPublicClient } from '@aztec/ethereum/client';
6
- import type { NamespacedApiHandlers } from '@aztec/foundation/json-rpc/server';
7
- import { Agent, makeUndiciFetch } from '@aztec/foundation/json-rpc/undici';
8
- import type { LogFn } from '@aztec/foundation/log';
9
- import { ProvingJobConsumerSchema, createProvingJobBrokerClient } from '@aztec/prover-client/broker';
10
- import {
11
- type ProverNodeConfig,
12
- createProverNode,
13
- getProverNodeConfigFromEnv,
14
- proverNodeConfigMappings,
15
- } from '@aztec/prover-node';
16
- import { P2PApiSchema, ProverNodeApiSchema, type ProvingJobBroker } from '@aztec/stdlib/interfaces/server';
17
- import { initTelemetryClient, makeTracedFetch, telemetryClientConfigMappings } from '@aztec/telemetry-client';
18
- import { getGenesisValues } from '@aztec/world-state/testing';
19
-
20
- import { extractRelevantOptions, preloadCrsDataForVerifying, setupUpdateMonitor } from '../util.js';
21
- import { getVersions } from '../versioning.js';
22
- import { startProverBroker } from './start_prover_broker.js';
23
-
24
- export async function startProverNode(
25
- options: any,
26
- signalHandlers: (() => Promise<void>)[],
27
- services: NamespacedApiHandlers,
28
- userLog: LogFn,
29
- ): Promise<{ config: ProverNodeConfig }> {
30
- if (options.node || options.sequencer || options.pxe || options.p2pBootstrap || options.txe) {
31
- userLog(`Starting a prover-node with --node, --sequencer, --pxe, --p2p-bootstrap, or --txe is not supported.`);
32
- process.exit(1);
33
- }
34
-
35
- let proverConfig = {
36
- ...getProverNodeConfigFromEnv(), // get default config from env
37
- ...extractRelevantOptions<ProverNodeConfig>(options, proverNodeConfigMappings, 'proverNode'), // override with command line options
38
- };
39
-
40
- if (!proverConfig.l1Contracts.registryAddress || proverConfig.l1Contracts.registryAddress.isZero()) {
41
- throw new Error('L1 registry address is required to start a Prover Node');
42
- }
43
-
44
- const followsCanonicalRollup = typeof proverConfig.rollupVersion !== 'number';
45
- const { addresses, config } = await getL1Config(
46
- proverConfig.l1Contracts.registryAddress,
47
- proverConfig.l1RpcUrls,
48
- proverConfig.l1ChainId,
49
- proverConfig.rollupVersion,
50
- );
51
- process.env.ROLLUP_CONTRACT_ADDRESS ??= addresses.rollupAddress.toString();
52
- proverConfig.l1Contracts = addresses;
53
- proverConfig = { ...proverConfig, ...config };
54
-
55
- const testAccounts = proverConfig.testAccounts ? (await getInitialTestAccountsData()).map(a => a.address) : [];
56
- const sponsoredFPCAccounts = proverConfig.sponsoredFPC ? [await getSponsoredFPCAddress()] : [];
57
- const initialFundedAccounts = testAccounts.concat(sponsoredFPCAccounts);
58
-
59
- userLog(`Initial funded accounts: ${initialFundedAccounts.map(a => a.toString()).join(', ')}`);
60
- const { genesisArchiveRoot, prefilledPublicData } = await getGenesisValues(initialFundedAccounts);
61
-
62
- userLog(`Genesis archive root: ${genesisArchiveRoot.toString()}`);
63
-
64
- if (!Fr.fromHexString(config.genesisArchiveTreeRoot).equals(genesisArchiveRoot)) {
65
- throw new Error(
66
- `The computed genesis archive tree root ${genesisArchiveRoot} does not match the expected genesis archive tree root ${config.genesisArchiveTreeRoot} for the rollup deployed at ${addresses.rollupAddress}`,
67
- );
68
- }
69
-
70
- const telemetry = await initTelemetryClient(extractRelevantOptions(options, telemetryClientConfigMappings, 'tel'));
71
-
72
- let broker: ProvingJobBroker;
73
- if (proverConfig.proverBrokerUrl) {
74
- // at 1TPS we'd enqueue ~1k chonk verifier proofs and ~1k AVM proofs immediately
75
- // set a lower connection limit such that we don't overload the server
76
- // Keep retrying up to 30s
77
- const fetch = makeTracedFetch(
78
- [1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3],
79
- false,
80
- makeUndiciFetch(new Agent({ connections: 100 })),
81
- );
82
- broker = createProvingJobBrokerClient(proverConfig.proverBrokerUrl, getVersions(proverConfig), fetch);
83
- } else if (options.proverBroker) {
84
- ({ broker } = await startProverBroker(options, signalHandlers, services, userLog));
85
- } else {
86
- userLog(`--prover-broker-url or --prover-broker is required to start a Prover Node`);
87
- process.exit(1);
88
- }
89
-
90
- if (proverConfig.proverAgentCount === 0) {
91
- userLog(
92
- `Running prover node without local prover agent. Connect one or more prover agents to this node or pass --proverAgent.proverAgentCount`,
93
- );
94
- }
95
-
96
- await preloadCrsDataForVerifying(proverConfig, userLog);
97
-
98
- const proverNode = await createProverNode(proverConfig, { telemetry, broker }, { prefilledPublicData });
99
- services.proverNode = [proverNode, ProverNodeApiSchema];
100
-
101
- if (proverNode.getP2P()) {
102
- services.p2p = [proverNode.getP2P(), P2PApiSchema];
103
- }
104
-
105
- if (!proverConfig.proverBrokerUrl) {
106
- services.provingJobSource = [proverNode.getProver().getProvingJobSource(), ProvingJobConsumerSchema];
107
- }
108
-
109
- signalHandlers.push(proverNode.stop.bind(proverNode));
110
-
111
- await proverNode.start();
112
-
113
- if (proverConfig.autoUpdate !== 'disabled' && proverConfig.autoUpdateUrl) {
114
- await setupUpdateMonitor(
115
- proverConfig.autoUpdate,
116
- new URL(proverConfig.autoUpdateUrl),
117
- followsCanonicalRollup,
118
- getPublicClient(proverConfig),
119
- proverConfig.l1Contracts.registryAddress,
120
- signalHandlers,
121
- );
122
- }
123
- return { config: proverConfig };
124
- }