@aztec/aztec 0.0.1-commit.b655e406 → 0.0.1-commit.b6e433891

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 (165) hide show
  1. package/README.md +1 -1
  2. package/dest/bin/index.d.ts +1 -1
  3. package/dest/bin/index.js +13 -6
  4. package/dest/cli/admin_api_key_store.d.ts +45 -0
  5. package/dest/cli/admin_api_key_store.d.ts.map +1 -0
  6. package/dest/cli/admin_api_key_store.js +98 -0
  7. package/dest/cli/aztec_start_action.d.ts +1 -1
  8. package/dest/cli/aztec_start_action.d.ts.map +1 -1
  9. package/dest/cli/aztec_start_action.js +72 -26
  10. package/dest/cli/aztec_start_options.d.ts +1 -1
  11. package/dest/cli/aztec_start_options.d.ts.map +1 -1
  12. package/dest/cli/aztec_start_options.js +48 -41
  13. package/dest/cli/cli.d.ts +1 -1
  14. package/dest/cli/cli.js +7 -7
  15. package/dest/cli/cmds/compile.d.ts +4 -0
  16. package/dest/cli/cmds/compile.d.ts.map +1 -0
  17. package/dest/cli/cmds/compile.js +166 -0
  18. package/dest/cli/cmds/migrate_ha_db.d.ts +3 -0
  19. package/dest/cli/cmds/migrate_ha_db.d.ts.map +1 -0
  20. package/dest/cli/cmds/migrate_ha_db.js +27 -0
  21. package/dest/cli/cmds/profile.d.ts +4 -0
  22. package/dest/cli/cmds/profile.d.ts.map +1 -0
  23. package/dest/cli/cmds/profile.js +8 -0
  24. package/dest/cli/cmds/profile_flamegraph.d.ts +4 -0
  25. package/dest/cli/cmds/profile_flamegraph.d.ts.map +1 -0
  26. package/dest/cli/cmds/profile_flamegraph.js +52 -0
  27. package/dest/cli/cmds/profile_gates.d.ts +4 -0
  28. package/dest/cli/cmds/profile_gates.d.ts.map +1 -0
  29. package/dest/cli/cmds/profile_gates.js +58 -0
  30. package/dest/cli/cmds/profile_utils.d.ts +18 -0
  31. package/dest/cli/cmds/profile_utils.d.ts.map +1 -0
  32. package/dest/cli/cmds/profile_utils.js +50 -0
  33. package/dest/cli/cmds/standby.d.ts +32 -0
  34. package/dest/cli/cmds/standby.d.ts.map +1 -0
  35. package/dest/cli/cmds/standby.js +97 -0
  36. package/dest/cli/cmds/start_archiver.d.ts +2 -2
  37. package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
  38. package/dest/cli/cmds/start_archiver.js +12 -14
  39. package/dest/cli/cmds/start_bot.d.ts +3 -3
  40. package/dest/cli/cmds/start_bot.d.ts.map +1 -1
  41. package/dest/cli/cmds/start_bot.js +10 -6
  42. package/dest/cli/cmds/start_node.d.ts +3 -2
  43. package/dest/cli/cmds/start_node.d.ts.map +1 -1
  44. package/dest/cli/cmds/start_node.js +87 -31
  45. package/dest/cli/cmds/start_p2p_bootstrap.d.ts +2 -2
  46. package/dest/cli/cmds/start_p2p_bootstrap.d.ts.map +1 -1
  47. package/dest/cli/cmds/start_p2p_bootstrap.js +2 -3
  48. package/dest/cli/cmds/start_prover_agent.d.ts +1 -1
  49. package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
  50. package/dest/cli/cmds/start_prover_agent.js +4 -4
  51. package/dest/cli/cmds/start_prover_broker.d.ts +1 -1
  52. package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
  53. package/dest/cli/cmds/start_prover_broker.js +15 -9
  54. package/dest/cli/cmds/start_txe.d.ts +1 -1
  55. package/dest/cli/cmds/utils/artifacts.d.ts +21 -0
  56. package/dest/cli/cmds/utils/artifacts.d.ts.map +1 -0
  57. package/dest/cli/cmds/utils/artifacts.js +24 -0
  58. package/dest/cli/cmds/utils/needs_recompile.d.ts +10 -0
  59. package/dest/cli/cmds/utils/needs_recompile.d.ts.map +1 -0
  60. package/dest/cli/cmds/utils/needs_recompile.js +134 -0
  61. package/dest/cli/cmds/utils/spawn.d.ts +3 -0
  62. package/dest/cli/cmds/utils/spawn.d.ts.map +1 -0
  63. package/dest/cli/cmds/utils/spawn.js +16 -0
  64. package/dest/cli/index.d.ts +1 -1
  65. package/dest/cli/preload_crs.d.ts +1 -1
  66. package/dest/cli/util.d.ts +12 -23
  67. package/dest/cli/util.d.ts.map +1 -1
  68. package/dest/cli/util.js +51 -87
  69. package/dest/cli/versioning.d.ts +1 -1
  70. package/dest/examples/token.d.ts +1 -1
  71. package/dest/examples/token.js +10 -10
  72. package/dest/examples/util.d.ts +2 -2
  73. package/dest/examples/util.d.ts.map +1 -1
  74. package/dest/index.d.ts +2 -2
  75. package/dest/index.d.ts.map +1 -1
  76. package/dest/index.js +1 -1
  77. package/dest/local-network/banana_fpc.d.ts +10 -0
  78. package/dest/local-network/banana_fpc.d.ts.map +1 -0
  79. package/dest/{sandbox → local-network}/banana_fpc.js +4 -4
  80. package/dest/local-network/index.d.ts +4 -0
  81. package/dest/local-network/index.d.ts.map +1 -0
  82. package/dest/{sandbox → local-network}/index.js +1 -1
  83. package/dest/local-network/local-network.d.ts +73 -0
  84. package/dest/local-network/local-network.d.ts.map +1 -0
  85. package/dest/{sandbox/sandbox.js → local-network/local-network.js} +93 -50
  86. package/dest/local-network/sponsored_fpc.d.ts +5 -0
  87. package/dest/local-network/sponsored_fpc.d.ts.map +1 -0
  88. package/dest/mnemonic.d.ts +1 -1
  89. package/dest/splash.d.ts +1 -1
  90. package/dest/testing/anvil_test_watcher.d.ts +12 -4
  91. package/dest/testing/anvil_test_watcher.d.ts.map +1 -1
  92. package/dest/testing/anvil_test_watcher.js +68 -29
  93. package/dest/testing/cheat_codes.d.ts +1 -1
  94. package/dest/testing/cheat_codes.d.ts.map +1 -1
  95. package/dest/testing/epoch_test_settler.d.ts +19 -0
  96. package/dest/testing/epoch_test_settler.d.ts.map +1 -0
  97. package/dest/testing/epoch_test_settler.js +61 -0
  98. package/dest/testing/index.d.ts +3 -1
  99. package/dest/testing/index.d.ts.map +1 -1
  100. package/dest/testing/index.js +2 -0
  101. package/dest/testing/token_allowed_setup.d.ts +7 -0
  102. package/dest/testing/token_allowed_setup.d.ts.map +1 -0
  103. package/dest/testing/token_allowed_setup.js +20 -0
  104. package/package.json +41 -37
  105. package/scripts/add_crate.sh +102 -0
  106. package/scripts/aztec.sh +69 -0
  107. package/scripts/init.sh +39 -0
  108. package/scripts/new.sh +83 -0
  109. package/scripts/setup_workspace.sh +68 -0
  110. package/src/bin/index.ts +14 -6
  111. package/src/cli/admin_api_key_store.ts +128 -0
  112. package/src/cli/aztec_start_action.ts +70 -21
  113. package/src/cli/aztec_start_options.ts +49 -39
  114. package/src/cli/cli.ts +11 -11
  115. package/src/cli/cmds/compile.ts +191 -0
  116. package/src/cli/cmds/migrate_ha_db.ts +43 -0
  117. package/src/cli/cmds/profile.ts +25 -0
  118. package/src/cli/cmds/profile_flamegraph.ts +64 -0
  119. package/src/cli/cmds/profile_gates.ts +68 -0
  120. package/src/cli/cmds/profile_utils.ts +58 -0
  121. package/src/cli/cmds/standby.ts +132 -0
  122. package/src/cli/cmds/start_archiver.ts +8 -19
  123. package/src/cli/cmds/start_bot.ts +9 -6
  124. package/src/cli/cmds/start_node.ts +87 -37
  125. package/src/cli/cmds/start_p2p_bootstrap.ts +3 -3
  126. package/src/cli/cmds/start_prover_agent.ts +4 -12
  127. package/src/cli/cmds/start_prover_broker.ts +20 -16
  128. package/src/cli/cmds/utils/artifacts.ts +44 -0
  129. package/src/cli/cmds/utils/needs_recompile.ts +151 -0
  130. package/src/cli/cmds/utils/spawn.ts +16 -0
  131. package/src/cli/util.ts +60 -98
  132. package/src/examples/token.ts +11 -11
  133. package/src/examples/util.ts +1 -1
  134. package/src/index.ts +2 -2
  135. package/src/{sandbox → local-network}/banana_fpc.ts +12 -8
  136. package/src/{sandbox → local-network}/index.ts +1 -1
  137. package/src/local-network/local-network.ts +277 -0
  138. package/src/{sandbox → local-network}/sponsored_fpc.ts +3 -2
  139. package/src/testing/anvil_test_watcher.ts +76 -30
  140. package/src/testing/cheat_codes.ts +3 -2
  141. package/src/testing/epoch_test_settler.ts +70 -0
  142. package/src/testing/index.ts +2 -0
  143. package/src/testing/token_allowed_setup.ts +19 -0
  144. package/dest/cli/cmds/start_blob_sink.d.ts +0 -3
  145. package/dest/cli/cmds/start_blob_sink.d.ts.map +0 -1
  146. package/dest/cli/cmds/start_blob_sink.js +0 -33
  147. package/dest/cli/cmds/start_prover_node.d.ts +0 -7
  148. package/dest/cli/cmds/start_prover_node.d.ts.map +0 -1
  149. package/dest/cli/cmds/start_prover_node.js +0 -108
  150. package/dest/cli/release_version.d.ts +0 -2
  151. package/dest/cli/release_version.d.ts.map +0 -1
  152. package/dest/cli/release_version.js +0 -14
  153. package/dest/sandbox/banana_fpc.d.ts +0 -10
  154. package/dest/sandbox/banana_fpc.d.ts.map +0 -1
  155. package/dest/sandbox/index.d.ts +0 -4
  156. package/dest/sandbox/index.d.ts.map +0 -1
  157. package/dest/sandbox/sandbox.d.ts +0 -74
  158. package/dest/sandbox/sandbox.d.ts.map +0 -1
  159. package/dest/sandbox/sponsored_fpc.d.ts +0 -4
  160. package/dest/sandbox/sponsored_fpc.d.ts.map +0 -1
  161. package/src/cli/cmds/start_blob_sink.ts +0 -57
  162. package/src/cli/cmds/start_prover_node.ts +0 -124
  163. package/src/cli/release_version.ts +0 -21
  164. package/src/sandbox/sandbox.ts +0 -242
  165. /package/dest/{sandbox → local-network}/sponsored_fpc.js +0 -0
@@ -1,108 +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';
6
- import { Agent, makeUndiciFetch } from '@aztec/foundation/json-rpc/undici';
7
- import { ProvingJobConsumerSchema, createProvingJobBrokerClient } from '@aztec/prover-client/broker';
8
- import { createProverNode, getProverNodeConfigFromEnv, proverNodeConfigMappings } from '@aztec/prover-node';
9
- import { P2PApiSchema, ProverNodeApiSchema } from '@aztec/stdlib/interfaces/server';
10
- import { initTelemetryClient, makeTracedFetch, telemetryClientConfigMappings } from '@aztec/telemetry-client';
11
- import { getGenesisValues } from '@aztec/world-state/testing';
12
- import { extractRelevantOptions, preloadCrsDataForVerifying, setupUpdateMonitor } from '../util.js';
13
- import { getVersions } from '../versioning.js';
14
- import { startProverBroker } from './start_prover_broker.js';
15
- export async function startProverNode(options, signalHandlers, services, userLog) {
16
- if (options.node || options.sequencer || options.pxe || options.p2pBootstrap || options.txe) {
17
- userLog(`Starting a prover-node with --node, --sequencer, --pxe, --p2p-bootstrap, or --txe is not supported.`);
18
- process.exit(1);
19
- }
20
- let proverConfig = {
21
- ...getProverNodeConfigFromEnv(),
22
- ...extractRelevantOptions(options, proverNodeConfigMappings, 'proverNode')
23
- };
24
- if (!proverConfig.l1Contracts.registryAddress || proverConfig.l1Contracts.registryAddress.isZero()) {
25
- throw new Error('L1 registry address is required to start a Prover Node');
26
- }
27
- const followsCanonicalRollup = typeof proverConfig.rollupVersion !== 'number';
28
- const { addresses, config } = await getL1Config(proverConfig.l1Contracts.registryAddress, proverConfig.l1RpcUrls, proverConfig.l1ChainId, proverConfig.rollupVersion);
29
- process.env.ROLLUP_CONTRACT_ADDRESS ??= addresses.rollupAddress.toString();
30
- proverConfig.l1Contracts = addresses;
31
- proverConfig = {
32
- ...proverConfig,
33
- ...config
34
- };
35
- const testAccounts = proverConfig.testAccounts ? (await getInitialTestAccountsData()).map((a)=>a.address) : [];
36
- const sponsoredFPCAccounts = proverConfig.sponsoredFPC ? [
37
- await getSponsoredFPCAddress()
38
- ] : [];
39
- const initialFundedAccounts = testAccounts.concat(sponsoredFPCAccounts);
40
- userLog(`Initial funded accounts: ${initialFundedAccounts.map((a)=>a.toString()).join(', ')}`);
41
- const { genesisArchiveRoot, prefilledPublicData } = await getGenesisValues(initialFundedAccounts);
42
- userLog(`Genesis archive root: ${genesisArchiveRoot.toString()}`);
43
- if (!Fr.fromHexString(config.genesisArchiveTreeRoot).equals(genesisArchiveRoot)) {
44
- throw new Error(`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}`);
45
- }
46
- const telemetry = initTelemetryClient(extractRelevantOptions(options, telemetryClientConfigMappings, 'tel'));
47
- let broker;
48
- if (proverConfig.proverBrokerUrl) {
49
- // at 1TPS we'd enqueue ~1k chonk verifier proofs and ~1k AVM proofs immediately
50
- // set a lower connection limit such that we don't overload the server
51
- // Keep retrying up to 30s
52
- const fetch = makeTracedFetch([
53
- 1,
54
- 2,
55
- 3,
56
- 3,
57
- 3,
58
- 3,
59
- 3,
60
- 3,
61
- 3,
62
- 3,
63
- 3
64
- ], false, makeUndiciFetch(new Agent({
65
- connections: 100
66
- })));
67
- broker = createProvingJobBrokerClient(proverConfig.proverBrokerUrl, getVersions(proverConfig), fetch);
68
- } else if (options.proverBroker) {
69
- ({ broker } = await startProverBroker(options, signalHandlers, services, userLog));
70
- } else {
71
- userLog(`--prover-broker-url or --prover-broker is required to start a Prover Node`);
72
- process.exit(1);
73
- }
74
- if (proverConfig.proverAgentCount === 0) {
75
- userLog(`Running prover node without local prover agent. Connect one or more prover agents to this node or pass --proverAgent.proverAgentCount`);
76
- }
77
- await preloadCrsDataForVerifying(proverConfig, userLog);
78
- const proverNode = await createProverNode(proverConfig, {
79
- telemetry,
80
- broker
81
- }, {
82
- prefilledPublicData
83
- });
84
- services.proverNode = [
85
- proverNode,
86
- ProverNodeApiSchema
87
- ];
88
- if (proverNode.getP2P()) {
89
- services.p2p = [
90
- proverNode.getP2P(),
91
- P2PApiSchema
92
- ];
93
- }
94
- if (!proverConfig.proverBrokerUrl) {
95
- services.provingJobSource = [
96
- proverNode.getProver().getProvingJobSource(),
97
- ProvingJobConsumerSchema
98
- ];
99
- }
100
- signalHandlers.push(proverNode.stop.bind(proverNode));
101
- await proverNode.start();
102
- if (proverConfig.autoUpdate !== 'disabled' && proverConfig.autoUpdateUrl) {
103
- await setupUpdateMonitor(proverConfig.autoUpdate, new URL(proverConfig.autoUpdateUrl), followsCanonicalRollup, getPublicClient(proverConfig), proverConfig.l1Contracts.registryAddress, signalHandlers);
104
- }
105
- return {
106
- config: proverConfig
107
- };
108
- }
@@ -1,2 +0,0 @@
1
- export declare const getCliVersion: () => any;
2
- //# sourceMappingURL=release_version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"release_version.d.ts","sourceRoot":"","sources":["../../src/cli/release_version.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,WAezB,CAAC"}
@@ -1,14 +0,0 @@
1
- import { fileURLToPath } from '@aztec/foundation/url';
2
- import { readFileSync } from 'fs';
3
- import { dirname, resolve } from 'path';
4
- export const getCliVersion = ()=>{
5
- const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../package.json');
6
- const cliVersion = JSON.parse(readFileSync(packageJsonPath).toString()).version;
7
- // If the version is 0.1.0, this is a placeholder version and we are in a docker container; query release please for the latest version
8
- if (cliVersion === '0.1.0') {
9
- const releasePleasePath = resolve(dirname(fileURLToPath(import.meta.url)), '../../../../.release-please-manifest.json');
10
- const releaseVersion = JSON.parse(readFileSync(releasePleasePath).toString())['.'];
11
- return releaseVersion;
12
- }
13
- return cliVersion;
14
- };
@@ -1,10 +0,0 @@
1
- import { type InitialAccountData } from '@aztec/accounts/testing';
2
- import type { Wallet } from '@aztec/aztec.js/wallet';
3
- import type { LogFn } from '@aztec/foundation/log';
4
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
- export declare function getBananaCoinAddress(initialAccounts: InitialAccountData[]): Promise<AztecAddress>;
6
- export declare function getBananaFPCAddress(initialAccounts: InitialAccountData[]): Promise<AztecAddress>;
7
- export declare function setupBananaFPC(initialAccounts: InitialAccountData[], wallet: Wallet, log: LogFn): Promise<void>;
8
- export declare function registerDeployedBananaCoinInWalletAndGetAddress(wallet: Wallet): Promise<AztecAddress>;
9
- export declare function registerDeployedBananaFPCInWalletAndGetAddress(wallet: Wallet): Promise<AztecAddress>;
10
- //# sourceMappingURL=banana_fpc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"banana_fpc.d.ts","sourceRoot":"","sources":["../../src/sandbox/banana_fpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA8B,MAAM,yBAAyB,CAAC;AAC9F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAwB3D,wBAAsB,oBAAoB,CAAC,eAAe,EAAE,kBAAkB,EAAE,yBAE/E;AAWD,wBAAsB,mBAAmB,CAAC,eAAe,EAAE,kBAAkB,EAAE,yBAE9E;AAED,wBAAsB,cAAc,CAAC,eAAe,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAcrG;AAED,wBAAsB,+CAA+C,CAAC,MAAM,EAAE,MAAM,yBAMnF;AAED,wBAAsB,8CAA8C,CAAC,MAAM,EAAE,MAAM,yBAMlF"}
@@ -1,4 +0,0 @@
1
- export * from './sandbox.js';
2
- export { registerDeployedBananaCoinInWalletAndGetAddress, registerDeployedBananaFPCInWalletAndGetAddress, } from './banana_fpc.js';
3
- export { registerDeployedSponsoredFPCInWalletAndGetAddress } from './sponsored_fpc.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sandbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAE7B,OAAO,EACL,+CAA+C,EAC/C,8CAA8C,GAC/C,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iDAAiD,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,74 +0,0 @@
1
- #!/usr/bin/env -S node --no-warnings
2
- import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
3
- import { EthAddress } from '@aztec/aztec.js/addresses';
4
- import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
5
- import { Fr } from '@aztec/foundation/fields';
6
- import { type LogFn } from '@aztec/foundation/log';
7
- import { DateProvider } from '@aztec/foundation/timer';
8
- import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
9
- import { type TelemetryClient } from '@aztec/telemetry-client';
10
- import { type HDAccount, type PrivateKeyAccount } from 'viem';
11
- /**
12
- * Function to deploy our L1 contracts to the sandbox L1
13
- * @param aztecNodeConfig - The Aztec Node Config
14
- * @param hdAccount - Account for publishing L1 contracts
15
- */
16
- export declare function deployContractsToL1(aztecNodeConfig: AztecNodeConfig, hdAccount: HDAccount | PrivateKeyAccount, contractDeployLogger?: import("@aztec/foundation/log").Logger, opts?: {
17
- assumeProvenThroughBlockNumber?: number;
18
- salt?: number;
19
- genesisArchiveRoot?: Fr;
20
- feeJuicePortalInitialBalance?: bigint;
21
- }): Promise<{
22
- rollupAddress: EthAddress;
23
- registryAddress: EthAddress;
24
- inboxAddress: EthAddress;
25
- outboxAddress: EthAddress;
26
- feeJuiceAddress: EthAddress;
27
- feeJuicePortalAddress: EthAddress;
28
- coinIssuerAddress: EthAddress;
29
- rewardDistributorAddress: EthAddress;
30
- governanceProposerAddress: EthAddress;
31
- governanceAddress: EthAddress;
32
- stakingAssetAddress: EthAddress;
33
- } & {
34
- slashFactoryAddress?: EthAddress | undefined;
35
- feeAssetHandlerAddress?: EthAddress | undefined;
36
- stakingAssetHandlerAddress?: EthAddress | undefined;
37
- zkPassportVerifierAddress?: EthAddress | undefined;
38
- gseAddress?: EthAddress | undefined;
39
- dateGatedRelayerAddress?: EthAddress | undefined;
40
- } & {
41
- rollupAddress: EthAddress;
42
- } & {
43
- rollupAddress: EthAddress;
44
- }>;
45
- /** Sandbox settings. */
46
- export type SandboxConfig = AztecNodeConfig & {
47
- /** Mnemonic used to derive the L1 deployer private key.*/
48
- l1Mnemonic: string;
49
- /** Salt used to deploy L1 contracts.*/
50
- deployAztecContractsSalt: string;
51
- /** Whether to deploy test accounts on sandbox start.*/
52
- testAccounts: boolean;
53
- };
54
- /**
55
- * Create and start a new Aztec Node and PXE. Deploys L1 contracts.
56
- * Does not start any HTTP services nor populate any initial accounts.
57
- * @param config - Optional Sandbox settings.
58
- */
59
- export declare function createSandbox(config: Partial<SandboxConfig> | undefined, userLog: LogFn): Promise<{
60
- node: AztecNodeService;
61
- stop: () => Promise<void>;
62
- }>;
63
- /**
64
- * Create and start a new Aztec RPC HTTP Server
65
- * @param config - Optional Aztec node settings.
66
- */
67
- export declare function createAztecNode(config?: Partial<AztecNodeConfig>, deps?: {
68
- telemetry?: TelemetryClient;
69
- blobSinkClient?: BlobSinkClientInterface;
70
- dateProvider?: DateProvider;
71
- }, options?: {
72
- prefilledPublicData?: PublicDataTreeLeaf[];
73
- }): Promise<AztecNodeService>;
74
- //# sourceMappingURL=sandbox.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/sandbox/sandbox.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAY7F,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAoB,MAAM,yBAAyB,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAA2D,MAAM,MAAM,CAAC;AAcvH;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,GAAG,iBAAiB,EACxC,oBAAoB,yCAAS,EAC7B,IAAI,GAAE;IACJ,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,EAAE,CAAC;IACxB,4BAA4B,CAAC,EAAE,MAAM,CAAC;CAClC;;;;;;;;;;;;;;;;;;;;;;;GAkCP;AAED,wBAAwB;AACxB,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC5C,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,wBAAwB,EAAE,MAAM,CAAC;IACjC,uDAAuD;IACvD,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,YAAK,EAAE,OAAO,EAAE,KAAK;;;GAgHtF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,EACrC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,eAAe,CAAC;IAAC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAO,EACjH,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAAO,6BAW7D"}
@@ -1,4 +0,0 @@
1
- import type { Wallet } from '@aztec/aztec.js/wallet';
2
- export declare function getSponsoredFPCAddress(): Promise<import("@aztec/aztec.js/addresses").AztecAddress>;
3
- export declare function registerDeployedSponsoredFPCInWalletAndGetAddress(wallet: Wallet): Promise<import("@aztec/aztec.js/addresses").AztecAddress>;
4
- //# sourceMappingURL=sponsored_fpc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sponsored_fpc.d.ts","sourceRoot":"","sources":["../../src/sandbox/sponsored_fpc.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAUrD,wBAAsB,sBAAsB,8DAE3C;AAED,wBAAsB,iDAAiD,CAAC,MAAM,EAAE,MAAM,6DAKrF"}
@@ -1,57 +0,0 @@
1
- import {
2
- type BlobSinkConfig,
3
- blobSinkConfigMappings,
4
- createBlobSinkServer,
5
- getBlobSinkConfigFromEnv,
6
- } from '@aztec/blob-sink/server';
7
- import { getL1Config } from '@aztec/cli/config';
8
- import type { LogFn } from '@aztec/foundation/log';
9
- import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
10
-
11
- import { extractRelevantOptions } from '../util.js';
12
-
13
- export async function startBlobSink(options: any, signalHandlers: (() => Promise<void>)[], userLog: LogFn) {
14
- if (options.prover || options.node || options.sequencer || options.pxe || options.p2pBootstrap || options.txe) {
15
- userLog(
16
- `Starting a blob sink with --node, --sequencer, --pxe, --p2p-bootstrap, --prover or --txe is not supported.`,
17
- );
18
- process.exit(1);
19
- }
20
-
21
- let blobSinkConfig: BlobSinkConfig = {
22
- ...getBlobSinkConfigFromEnv(), // get default config from env
23
- ...extractRelevantOptions<BlobSinkConfig>(options, blobSinkConfigMappings, 'blobSink'), // override with command line options
24
- };
25
-
26
- if (!blobSinkConfig.l1Contracts?.registryAddress || blobSinkConfig.l1Contracts.registryAddress.isZero()) {
27
- throw new Error('REGISTRY_CONTRACT_ADDRESS not set');
28
- }
29
-
30
- if (!blobSinkConfig.l1RpcUrls || blobSinkConfig.l1RpcUrls.length === 0) {
31
- throw new Error('ETHEREUM_HOSTS not set');
32
- }
33
-
34
- if (typeof blobSinkConfig.l1ChainId !== 'number') {
35
- throw new Error('L1_CHAIN_ID');
36
- }
37
-
38
- const telemetry = initTelemetryClient(getTelemetryClientConfig());
39
-
40
- const { config: chainConfig, addresses } = await getL1Config(
41
- blobSinkConfig.l1Contracts.registryAddress,
42
- blobSinkConfig.l1RpcUrls,
43
- blobSinkConfig.l1ChainId,
44
- blobSinkConfig.rollupVersion,
45
- );
46
-
47
- blobSinkConfig = {
48
- ...blobSinkConfig,
49
- l1Contracts: addresses,
50
- ...chainConfig,
51
- };
52
-
53
- const blobSink = await createBlobSinkServer(blobSinkConfig, telemetry);
54
- signalHandlers.push(blobSink.stop.bind(blobSink));
55
-
56
- await blobSink.start();
57
- }
@@ -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';
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 = 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
- }
@@ -1,21 +0,0 @@
1
- import { fileURLToPath } from '@aztec/foundation/url';
2
-
3
- import { readFileSync } from 'fs';
4
- import { dirname, resolve } from 'path';
5
-
6
- export const getCliVersion = () => {
7
- const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../package.json');
8
- const cliVersion: string = JSON.parse(readFileSync(packageJsonPath).toString()).version;
9
-
10
- // If the version is 0.1.0, this is a placeholder version and we are in a docker container; query release please for the latest version
11
- if (cliVersion === '0.1.0') {
12
- const releasePleasePath = resolve(
13
- dirname(fileURLToPath(import.meta.url)),
14
- '../../../../.release-please-manifest.json',
15
- );
16
- const releaseVersion = JSON.parse(readFileSync(releasePleasePath).toString())['.'];
17
- return releaseVersion;
18
- }
19
-
20
- return cliVersion;
21
- };