@aztec/end-to-end 0.0.1-commit.d1f2d6c → 0.0.1-commit.d20b825a7

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 (214) hide show
  1. package/README.md +27 -0
  2. package/dest/bench/client_flows/client_flows_benchmark.d.ts +2 -2
  3. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  4. package/dest/bench/client_flows/client_flows_benchmark.js +24 -31
  5. package/dest/bench/client_flows/config.d.ts +2 -2
  6. package/dest/bench/client_flows/config.d.ts.map +1 -1
  7. package/dest/bench/client_flows/config.js +18 -0
  8. package/dest/bench/utils.d.ts +1 -1
  9. package/dest/bench/utils.d.ts.map +1 -1
  10. package/dest/bench/utils.js +6 -3
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +6 -3
  12. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  13. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +23 -13
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +2 -2
  15. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  16. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +3 -2
  17. package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
  18. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  19. package/dest/e2e_epochs/epochs_test.d.ts +32 -7
  20. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  21. package/dest/e2e_epochs/epochs_test.js +144 -49
  22. package/dest/e2e_fees/fees_test.d.ts +2 -2
  23. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  24. package/dest/e2e_fees/fees_test.js +21 -14
  25. package/dest/e2e_l1_publisher/write_json.d.ts +3 -2
  26. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  27. package/dest/e2e_l1_publisher/write_json.js +1 -7
  28. package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
  29. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  30. package/dest/e2e_nested_contract/nested_contract_test.js +4 -6
  31. package/dest/e2e_p2p/inactivity_slash_test.js +3 -3
  32. package/dest/e2e_p2p/p2p_network.d.ts +14 -12
  33. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  34. package/dest/e2e_p2p/p2p_network.js +69 -32
  35. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  36. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  37. package/dest/e2e_p2p/reqresp/utils.js +190 -0
  38. package/dest/e2e_p2p/shared.d.ts +26 -8
  39. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  40. package/dest/e2e_p2p/shared.js +76 -52
  41. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
  42. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  43. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
  44. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
  45. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
  46. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
  47. package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
  48. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  49. package/dest/e2e_token_contract/token_contract_test.js +19 -9
  50. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  51. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  52. package/dest/fixtures/authwit_proxy.js +34 -0
  53. package/dest/fixtures/e2e_prover_test.d.ts +7 -6
  54. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  55. package/dest/fixtures/e2e_prover_test.js +38 -50
  56. package/dest/fixtures/elu_monitor.d.ts +21 -0
  57. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  58. package/dest/fixtures/elu_monitor.js +102 -0
  59. package/dest/fixtures/fixtures.d.ts +16 -1
  60. package/dest/fixtures/fixtures.d.ts.map +1 -1
  61. package/dest/fixtures/fixtures.js +16 -0
  62. package/dest/fixtures/get_bb_config.d.ts +1 -1
  63. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  64. package/dest/fixtures/get_bb_config.js +5 -5
  65. package/dest/fixtures/ha_setup.d.ts +71 -0
  66. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  67. package/dest/fixtures/ha_setup.js +116 -0
  68. package/dest/fixtures/index.d.ts +2 -1
  69. package/dest/fixtures/index.d.ts.map +1 -1
  70. package/dest/fixtures/index.js +1 -0
  71. package/dest/fixtures/schnorr_hardcoded_account_contract.d.ts +25 -0
  72. package/dest/fixtures/schnorr_hardcoded_account_contract.d.ts.map +1 -0
  73. package/dest/fixtures/schnorr_hardcoded_account_contract.js +39 -0
  74. package/dest/fixtures/setup.d.ts +62 -32
  75. package/dest/fixtures/setup.d.ts.map +1 -1
  76. package/dest/fixtures/setup.js +116 -175
  77. package/dest/fixtures/setup_p2p_test.d.ts +18 -11
  78. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  79. package/dest/fixtures/setup_p2p_test.js +43 -32
  80. package/dest/fixtures/token_utils.d.ts +2 -2
  81. package/dest/fixtures/token_utils.d.ts.map +1 -1
  82. package/dest/fixtures/token_utils.js +5 -7
  83. package/dest/forward-compatibility/wallet_rpc_client.d.ts +7 -0
  84. package/dest/forward-compatibility/wallet_rpc_client.d.ts.map +1 -0
  85. package/dest/forward-compatibility/wallet_rpc_client.js +15 -0
  86. package/dest/forward-compatibility/wallet_service.d.ts +3 -0
  87. package/dest/forward-compatibility/wallet_service.d.ts.map +1 -0
  88. package/dest/forward-compatibility/wallet_service.js +109 -0
  89. package/dest/legacy-jest-resolver.d.cts +3 -0
  90. package/dest/legacy-jest-resolver.d.cts.map +1 -0
  91. package/dest/shared/cross_chain_test_harness.d.ts +1 -1
  92. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  93. package/dest/shared/cross_chain_test_harness.js +13 -13
  94. package/dest/shared/gas_portal_test_harness.js +3 -3
  95. package/dest/shared/index.d.ts +2 -1
  96. package/dest/shared/index.d.ts.map +1 -1
  97. package/dest/shared/index.js +1 -0
  98. package/dest/shared/jest_setup.js +41 -1
  99. package/dest/shared/mock_state_view.d.ts +86 -0
  100. package/dest/shared/mock_state_view.d.ts.map +1 -0
  101. package/dest/shared/mock_state_view.js +186 -0
  102. package/dest/shared/submit-transactions.d.ts +2 -2
  103. package/dest/shared/submit-transactions.d.ts.map +1 -1
  104. package/dest/shared/submit-transactions.js +1 -1
  105. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  106. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  107. package/dest/shared/uniswap_l1_l2.js +16 -21
  108. package/dest/simulators/lending_simulator.d.ts +1 -1
  109. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  110. package/dest/simulators/lending_simulator.js +4 -4
  111. package/dest/simulators/token_simulator.d.ts +1 -1
  112. package/dest/simulators/token_simulator.d.ts.map +1 -1
  113. package/dest/simulators/token_simulator.js +3 -24
  114. package/dest/spartan/setup_test_wallets.d.ts +12 -3
  115. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  116. package/dest/spartan/setup_test_wallets.js +100 -39
  117. package/dest/spartan/tx_metrics.d.ts +35 -1
  118. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  119. package/dest/spartan/tx_metrics.js +166 -2
  120. package/dest/spartan/utils/bot.d.ts +3 -2
  121. package/dest/spartan/utils/bot.d.ts.map +1 -1
  122. package/dest/spartan/utils/bot.js +2 -1
  123. package/dest/spartan/utils/config.d.ts +10 -1
  124. package/dest/spartan/utils/config.d.ts.map +1 -1
  125. package/dest/spartan/utils/config.js +4 -1
  126. package/dest/spartan/utils/index.d.ts +6 -4
  127. package/dest/spartan/utils/index.d.ts.map +1 -1
  128. package/dest/spartan/utils/index.js +6 -2
  129. package/dest/spartan/utils/k8s.d.ts +31 -1
  130. package/dest/spartan/utils/k8s.d.ts.map +1 -1
  131. package/dest/spartan/utils/k8s.js +124 -0
  132. package/dest/spartan/utils/nodes.d.ts +14 -5
  133. package/dest/spartan/utils/nodes.d.ts.map +1 -1
  134. package/dest/spartan/utils/nodes.js +204 -33
  135. package/dest/spartan/utils/pod_logs.d.ts +25 -0
  136. package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
  137. package/dest/spartan/utils/pod_logs.js +74 -0
  138. package/dest/spartan/utils/scripts.d.ts +18 -4
  139. package/dest/spartan/utils/scripts.d.ts.map +1 -1
  140. package/dest/spartan/utils/scripts.js +19 -4
  141. package/dest/test-wallet/test_wallet.d.ts +84 -0
  142. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  143. package/dest/test-wallet/test_wallet.js +255 -0
  144. package/dest/test-wallet/utils.d.ts +41 -0
  145. package/dest/test-wallet/utils.d.ts.map +1 -0
  146. package/dest/test-wallet/utils.js +71 -0
  147. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  148. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  149. package/dest/test-wallet/wallet_worker_script.js +48 -0
  150. package/dest/test-wallet/worker_wallet.d.ts +52 -0
  151. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  152. package/dest/test-wallet/worker_wallet.js +151 -0
  153. package/dest/test-wallet/worker_wallet_schema.d.ts +279 -0
  154. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  155. package/dest/test-wallet/worker_wallet_schema.js +10 -0
  156. package/package.json +46 -43
  157. package/src/bench/client_flows/client_flows_benchmark.ts +33 -20
  158. package/src/bench/client_flows/config.ts +9 -1
  159. package/src/bench/utils.ts +8 -3
  160. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +31 -21
  161. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
  162. package/src/e2e_deploy_contract/deploy_test.ts +3 -3
  163. package/src/e2e_epochs/epochs_test.ts +168 -76
  164. package/src/e2e_fees/bridging_race.notest.ts +1 -1
  165. package/src/e2e_fees/fees_test.ts +24 -30
  166. package/src/e2e_l1_publisher/write_json.ts +1 -6
  167. package/src/e2e_nested_contract/nested_contract_test.ts +7 -5
  168. package/src/e2e_p2p/inactivity_slash_test.ts +7 -7
  169. package/src/e2e_p2p/p2p_network.ts +93 -48
  170. package/src/e2e_p2p/reqresp/utils.ts +256 -0
  171. package/src/e2e_p2p/shared.ts +99 -64
  172. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  173. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  174. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  175. package/src/e2e_token_contract/token_contract_test.ts +26 -9
  176. package/src/fixtures/authwit_proxy.ts +54 -0
  177. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  178. package/src/fixtures/e2e_prover_test.ts +47 -56
  179. package/src/fixtures/elu_monitor.ts +126 -0
  180. package/src/fixtures/fixtures.ts +32 -0
  181. package/src/fixtures/get_bb_config.ts +7 -6
  182. package/src/fixtures/ha_setup.ts +188 -0
  183. package/src/fixtures/index.ts +1 -0
  184. package/src/fixtures/schnorr_hardcoded_account_contract.ts +49 -0
  185. package/src/fixtures/setup.ts +162 -236
  186. package/src/fixtures/setup_p2p_test.ts +48 -52
  187. package/src/fixtures/token_utils.ts +3 -3
  188. package/src/forward-compatibility/wallet_rpc_client.ts +14 -0
  189. package/src/forward-compatibility/wallet_service.ts +104 -0
  190. package/src/guides/up_quick_start.sh +3 -5
  191. package/src/legacy-jest-resolver.cjs +135 -0
  192. package/src/shared/cross_chain_test_harness.ts +13 -9
  193. package/src/shared/gas_portal_test_harness.ts +1 -2
  194. package/src/shared/index.ts +1 -0
  195. package/src/shared/jest_setup.ts +51 -1
  196. package/src/shared/mock_state_view.ts +188 -0
  197. package/src/shared/submit-transactions.ts +3 -2
  198. package/src/shared/uniswap_l1_l2.ts +38 -37
  199. package/src/simulators/lending_simulator.ts +8 -4
  200. package/src/simulators/token_simulator.ts +6 -30
  201. package/src/spartan/setup_test_wallets.ts +141 -32
  202. package/src/spartan/tx_metrics.ts +140 -2
  203. package/src/spartan/utils/bot.ts +4 -1
  204. package/src/spartan/utils/config.ts +3 -0
  205. package/src/spartan/utils/index.ts +10 -1
  206. package/src/spartan/utils/k8s.ts +160 -0
  207. package/src/spartan/utils/nodes.ts +251 -31
  208. package/src/spartan/utils/pod_logs.ts +99 -0
  209. package/src/spartan/utils/scripts.ts +43 -7
  210. package/src/test-wallet/test_wallet.ts +357 -0
  211. package/src/test-wallet/utils.ts +112 -0
  212. package/src/test-wallet/wallet_worker_script.ts +60 -0
  213. package/src/test-wallet/worker_wallet.ts +214 -0
  214. package/src/test-wallet/worker_wallet_schema.ts +13 -0
@@ -1,15 +1,13 @@
1
1
  import { SchnorrAccountContractArtifact } from '@aztec/accounts/schnorr';
2
- import { generateSchnorrAccounts, getInitialTestAccountsData } from '@aztec/accounts/testing';
3
- import { createArchiver } from '@aztec/archiver';
2
+ import { generateSchnorrAccounts } from '@aztec/accounts/testing';
4
3
  import { AztecNodeService, getConfigEnvVars } from '@aztec/aztec-node';
5
- import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
4
+ import { NO_FROM } from '@aztec/aztec.js/account';
5
+ import { EthAddress } from '@aztec/aztec.js/addresses';
6
6
  import { BatchCall, getContractClassFromArtifact, waitForProven } from '@aztec/aztec.js/contracts';
7
7
  import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
8
8
  import { Fr } from '@aztec/aztec.js/fields';
9
9
  import { createLogger } from '@aztec/aztec.js/log';
10
- import { createAztecNodeClient, waitForNode } from '@aztec/aztec.js/node';
11
10
  import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
12
- import { createBlobClientWithFileStores } from '@aztec/blob-client/client';
13
11
  import { SPONSORED_FPC_SALT } from '@aztec/constants';
14
12
  import { isAnvilTestChain } from '@aztec/ethereum/chain';
15
13
  import { createExtendedL1Client } from '@aztec/ethereum/client';
@@ -17,40 +15,38 @@ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
17
15
  import { NULL_KEY } from '@aztec/ethereum/constants';
18
16
  import { deployMulticall3 } from '@aztec/ethereum/contracts';
19
17
  import { deployAztecL1Contracts } from '@aztec/ethereum/deploy-aztec-l1-contracts';
20
- import { DelayedTxUtils, EthCheatCodes, EthCheatCodesWithState, createDelayedL1TxUtilsFromViemWallet, startAnvil } from '@aztec/ethereum/test';
18
+ import { EthCheatCodesWithState, startAnvil } from '@aztec/ethereum/test';
21
19
  import { EpochNumber } from '@aztec/foundation/branded-types';
22
20
  import { SecretValue } from '@aztec/foundation/config';
23
21
  import { randomBytes } from '@aztec/foundation/crypto/random';
24
22
  import { tryRmDir } from '@aztec/foundation/fs';
25
- import { withLogNameSuffix } from '@aztec/foundation/log';
23
+ import { withLoggerBindings } from '@aztec/foundation/log/server';
26
24
  import { retryUntil } from '@aztec/foundation/retry';
27
25
  import { sleep } from '@aztec/foundation/sleep';
28
- import { DateProvider, TestDateProvider } from '@aztec/foundation/timer';
26
+ import { TestDateProvider } from '@aztec/foundation/timer';
29
27
  import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
30
28
  import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
31
29
  import { MockGossipSubNetwork, getMockPubSubP2PServiceFactory } from '@aztec/p2p/test-helpers';
32
30
  import { protocolContractsHash } from '@aztec/protocol-contracts';
33
- import { createProverNode } from '@aztec/prover-node';
34
31
  import { getPXEConfig } from '@aztec/pxe/server';
35
32
  import { getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
36
33
  import { tryStop } from '@aztec/stdlib/interfaces/server';
37
34
  import { getConfigEnvVars as getTelemetryConfig, initTelemetryClient } from '@aztec/telemetry-client';
38
35
  import { BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
39
- import { TestWallet, deployFundedSchnorrAccounts } from '@aztec/test-wallet/server';
36
+ import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
40
37
  import { getGenesisValues } from '@aztec/world-state/testing';
41
38
  import fs from 'fs/promises';
42
39
  import { tmpdir } from 'os';
43
40
  import path from 'path';
44
41
  import { generatePrivateKey, mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
45
42
  import { foundry } from 'viem/chains';
43
+ import { TestWallet } from '../test-wallet/test_wallet.js';
46
44
  import { MNEMONIC, TEST_MAX_PENDING_TX_POOL_COUNT, TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
47
45
  import { getACVMConfig } from './get_acvm_config.js';
48
46
  import { getBBConfig } from './get_bb_config.js';
49
47
  import { isMetricsLoggingRequested, setupMetricsLogger } from './logging.js';
50
48
  import { getEndToEndTestTelemetryClient } from './with_telemetry_utils.js';
51
49
  export { startAnvil };
52
- const { AZTEC_NODE_URL = '' } = process.env;
53
- const getAztecUrl = ()=>AZTEC_NODE_URL;
54
50
  let telemetry = undefined;
55
51
  async function getTelemetryClient(partialConfig = {}) {
56
52
  if (!telemetry) {
@@ -86,9 +82,9 @@ export const getPrivateKeyFromIndex = (index)=>{
86
82
  * @param aztecNode - An instance of Aztec Node.
87
83
  * @param opts - Partial configuration for the PXE.
88
84
  * @param logger - The logger to be used.
89
- * @param useLogSuffix - Whether to add a randomly generated suffix to the PXE debug logs.
85
+ * @param actor - Actor label to include in log output (e.g., 'pxe-test').
90
86
  * @returns A test wallet, logger and teardown function.
91
- */ export async function setupPXEAndGetWallet(aztecNode, opts = {}, logger = getLogger(), useLogSuffix = false) {
87
+ */ export async function setupPXEAndGetWallet(aztecNode, opts = {}, logger = getLogger(), actor) {
92
88
  const PXEConfig = {
93
89
  ...getPXEConfig(),
94
90
  ...opts
@@ -102,7 +98,7 @@ export const getPrivateKeyFromIndex = (index)=>{
102
98
  }
103
99
  const teardown = configuredDataDirectory ? ()=>Promise.resolve() : ()=>tryRmDir(PXEConfig.dataDirectory);
104
100
  const wallet = await TestWallet.create(aztecNode, PXEConfig, {
105
- useLogSuffix
101
+ loggerActorLabel: actor
106
102
  });
107
103
  return {
108
104
  wallet,
@@ -110,62 +106,6 @@ export const getPrivateKeyFromIndex = (index)=>{
110
106
  teardown
111
107
  };
112
108
  }
113
- /**
114
- * Function to setup the test against a remote deployment. It is assumed that L1 contract are already deployed
115
- */ async function setupWithRemoteEnvironment(account, config, logger, numberOfAccounts) {
116
- const aztecNodeUrl = getAztecUrl();
117
- logger.verbose(`Creating Aztec Node client to remote host ${aztecNodeUrl}`);
118
- const aztecNode = createAztecNodeClient(aztecNodeUrl);
119
- await waitForNode(aztecNode, logger);
120
- logger.verbose('JSON RPC client connected to Aztec Node');
121
- logger.verbose(`Retrieving contract addresses from ${aztecNodeUrl}`);
122
- const { l1ContractAddresses, rollupVersion } = await aztecNode.getNodeInfo();
123
- const l1Client = createExtendedL1Client(config.l1RpcUrls, account, foundry);
124
- const deployL1ContractsValues = {
125
- l1ContractAddresses,
126
- l1Client,
127
- rollupVersion
128
- };
129
- const ethCheatCodes = new EthCheatCodes(config.l1RpcUrls, new DateProvider());
130
- const wallet = await TestWallet.create(aztecNode);
131
- const cheatCodes = await CheatCodes.create(config.l1RpcUrls, aztecNode, new DateProvider());
132
- const teardown = ()=>Promise.resolve();
133
- logger.verbose('Populating wallet from already registered accounts...');
134
- const initialFundedAccounts = await getInitialTestAccountsData();
135
- if (initialFundedAccounts.length < numberOfAccounts) {
136
- throw new Error(`Required ${numberOfAccounts} accounts. Found ${initialFundedAccounts.length}.`);
137
- }
138
- const testAccounts = await Promise.all(initialFundedAccounts.slice(0, numberOfAccounts).map(async (account)=>{
139
- const accountManager = await wallet.createSchnorrAccount(account.secret, account.salt, account.signingKey);
140
- return accountManager.address;
141
- }));
142
- return {
143
- anvil: undefined,
144
- aztecNode,
145
- aztecNodeService: undefined,
146
- aztecNodeAdmin: undefined,
147
- sequencer: undefined,
148
- proverNode: undefined,
149
- deployL1ContractsValues,
150
- config,
151
- aztecNodeConfig: config,
152
- initialFundedAccounts,
153
- wallet,
154
- accounts: testAccounts,
155
- logger,
156
- cheatCodes,
157
- ethCheatCodes,
158
- prefilledPublicData: undefined,
159
- mockGossipSubNetwork: undefined,
160
- watcher: undefined,
161
- dateProvider: undefined,
162
- telemetryClient: undefined,
163
- acvmConfig: undefined,
164
- bbConfig: undefined,
165
- directoryToCleanup: undefined,
166
- teardown
167
- };
168
- }
169
109
  /**
170
110
  * Sets up the environment for the end-to-end tests.
171
111
  * @param numberOfAccounts - The number of new accounts to be created once the PXE is initiated.
@@ -175,7 +115,7 @@ export const getPrivateKeyFromIndex = (index)=>{
175
115
  let anvil;
176
116
  try {
177
117
  opts.aztecTargetCommitteeSize ??= 0;
178
- opts.slasherFlavor ??= 'none';
118
+ opts.slasherEnabled ??= false;
179
119
  const config = {
180
120
  ...getConfigEnvVars(),
181
121
  ...opts
@@ -188,7 +128,10 @@ export const getPrivateKeyFromIndex = (index)=>{
188
128
  config.realProofs = !!opts.realProofs;
189
129
  // Only enforce the time table if requested
190
130
  config.enforceTimeTable = !!opts.enforceTimeTable;
131
+ // Enable the tx delayer for tests (default config has it disabled, so we force-enable it here)
132
+ config.enableDelayer = true;
191
133
  config.listenAddress = '127.0.0.1';
134
+ config.minTxPoolAgeMs = opts.minTxPoolAgeMs ?? 0;
192
135
  const logger = getLogger();
193
136
  // Create a temp directory for any services that need it and cleanup later
194
137
  const directoryToCleanup = path.join(tmpdir(), randomBytes(8).toString('hex'));
@@ -198,17 +141,17 @@ export const getPrivateKeyFromIndex = (index)=>{
198
141
  if (!config.dataDirectory) {
199
142
  config.dataDirectory = directoryToCleanup;
200
143
  }
144
+ const dateProvider = new TestDateProvider();
201
145
  if (!config.l1RpcUrls?.length) {
202
146
  if (!isAnvilTestChain(chain.id)) {
203
147
  throw new Error(`No ETHEREUM_HOSTS set but non anvil chain requested`);
204
148
  }
205
- if (AZTEC_NODE_URL) {
206
- throw new Error(`AZTEC_NODE_URL provided but no ETHEREUM_HOSTS set. Refusing to run, please set both variables so tests can deploy L1 contracts to the same Anvil instance`);
207
- }
208
149
  const res = await startAnvil({
209
150
  l1BlockTime: opts.ethereumSlotDuration,
210
151
  accounts: opts.anvilAccounts,
211
- port: opts.anvilPort
152
+ port: opts.anvilPort ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : undefined),
153
+ slotsInAnEpoch: opts.anvilSlotsInAnEpoch,
154
+ dateProvider
212
155
  });
213
156
  anvil = res.anvil;
214
157
  config.l1RpcUrls = [
@@ -221,7 +164,6 @@ export const getPrivateKeyFromIndex = (index)=>{
221
164
  logger.info(`Logging metrics to ${filename}`);
222
165
  setupMetricsLogger(filename);
223
166
  }
224
- const dateProvider = new TestDateProvider();
225
167
  const ethCheatCodes = new EthCheatCodesWithState(config.l1RpcUrls, dateProvider);
226
168
  if (opts.stateLoad) {
227
169
  await ethCheatCodes.loadChainState(opts.stateLoad);
@@ -236,8 +178,8 @@ export const getPrivateKeyFromIndex = (index)=>{
236
178
  if (opts.l1PublisherKey && opts.l1PublisherKey.getValue() && opts.l1PublisherKey.getValue() != NULL_KEY) {
237
179
  publisherPrivKeyHex = opts.l1PublisherKey.getValue();
238
180
  publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
239
- } else if (config.publisherPrivateKeys && config.publisherPrivateKeys.length > 0 && config.publisherPrivateKeys[0].getValue() != NULL_KEY) {
240
- publisherPrivKeyHex = config.publisherPrivateKeys[0].getValue();
181
+ } else if (config.sequencerPublisherPrivateKeys && config.sequencerPublisherPrivateKeys.length > 0 && config.sequencerPublisherPrivateKeys[0].getValue() != NULL_KEY) {
182
+ publisherPrivKeyHex = config.sequencerPublisherPrivateKeys[0].getValue();
241
183
  publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
242
184
  } else if (!MNEMONIC) {
243
185
  throw new Error(`Mnemonic not provided and no publisher private key`);
@@ -248,17 +190,13 @@ export const getPrivateKeyFromIndex = (index)=>{
248
190
  const publisherPrivKeyRaw = publisherHdAccount.getHdKey().privateKey;
249
191
  const publisherPrivKey = publisherPrivKeyRaw === null ? null : Buffer.from(publisherPrivKeyRaw);
250
192
  publisherPrivKeyHex = `0x${publisherPrivKey.toString('hex')}`;
251
- config.publisherPrivateKeys = [
193
+ config.sequencerPublisherPrivateKeys = [
252
194
  new SecretValue(publisherPrivKeyHex)
253
195
  ];
254
196
  }
255
197
  if (config.coinbase === undefined) {
256
198
  config.coinbase = EthAddress.fromString(publisherHdAccount.address);
257
199
  }
258
- if (AZTEC_NODE_URL) {
259
- // we are setting up against a remote environment, l1 contracts are assumed to already be deployed
260
- return await setupWithRemoteEnvironment(publisherHdAccount, config, logger, numberOfAccounts);
261
- }
262
200
  // Determine which addresses to fund in genesis
263
201
  const initialFundedAccounts = opts.initialFundedAccounts ?? await generateSchnorrAccounts(opts.numberOfInitialFundedAccounts ?? Math.max(numberOfAccounts, 10));
264
202
  const addressesToFund = initialFundedAccounts.map((a)=>a.address);
@@ -267,7 +205,8 @@ export const getPrivateKeyFromIndex = (index)=>{
267
205
  const sponsoredFPCAddress = await getSponsoredFPCAddress();
268
206
  addressesToFund.push(sponsoredFPCAddress);
269
207
  }
270
- const { genesisArchiveRoot, prefilledPublicData, fundingNeeded } = await getGenesisValues(addressesToFund, opts.initialAccountFeeJuice, opts.genesisPublicData);
208
+ const genesisTimestamp = BigInt(Math.floor(Date.now() / 1000));
209
+ const { genesisArchiveRoot, genesis, fundingNeeded } = await getGenesisValues(addressesToFund, opts.initialAccountFeeJuice, opts.genesisPublicData, genesisTimestamp);
271
210
  const wasAutomining = await ethCheatCodes.isAutoMining();
272
211
  const enableAutomine = opts.automineL1Setup && !wasAutomining && isAnvilTestChain(chain.id);
273
212
  if (enableAutomine) {
@@ -297,14 +236,19 @@ export const getPrivateKeyFromIndex = (index)=>{
297
236
  if (enableAutomine) {
298
237
  await ethCheatCodes.setAutomine(false);
299
238
  await ethCheatCodes.setIntervalMining(config.ethereumSlotDuration);
300
- dateProvider.setTime(await ethCheatCodes.timestamp() * 1000);
239
+ }
240
+ // In compose mode (no local anvil), sync dateProvider to L1 time since it may have drifted
241
+ // ahead of system time due to the local-network watcher warping time forward on each filled slot.
242
+ // When running with a local anvil, the dateProvider is kept in sync via the stdout listener.
243
+ if (!anvil) {
244
+ dateProvider.setTime(await ethCheatCodes.lastBlockTimestamp() * 1000);
301
245
  }
302
246
  if (opts.l2StartTime) {
303
247
  await ethCheatCodes.warp(opts.l2StartTime, {
304
248
  resetBlockInterval: true
305
249
  });
306
250
  }
307
- const watcher = new AnvilTestWatcher(new EthCheatCodesWithState(config.l1RpcUrls, dateProvider), deployL1ContractsValues.l1ContractAddresses.rollupAddress, deployL1ContractsValues.l1Client, dateProvider);
251
+ const watcher = new AnvilTestWatcher(new EthCheatCodesWithState(config.l1RpcUrls, dateProvider), deployL1ContractsValues.l1ContractAddresses.rollupAddress, deployL1ContractsValues.l1Client, dateProvider, opts.anvilTestWatcherOpts);
308
252
  if (!opts.disableAnvilTestWatcher) {
309
253
  await watcher.start();
310
254
  }
@@ -325,7 +269,7 @@ export const getPrivateKeyFromIndex = (index)=>{
325
269
  let mockGossipSubNetwork;
326
270
  let p2pClientDeps = undefined;
327
271
  if (opts.mockGossipSubNetwork) {
328
- mockGossipSubNetwork = new MockGossipSubNetwork();
272
+ mockGossipSubNetwork = new MockGossipSubNetwork(opts.mockGossipSubNetworkLatency);
329
273
  p2pClientDeps = {
330
274
  p2pServiceFactory: getMockPubSubP2PServiceFactory(mockGossipSubNetwork)
331
275
  };
@@ -352,32 +296,53 @@ export const getPrivateKeyFromIndex = (index)=>{
352
296
  ]);
353
297
  }
354
298
  }
355
- const aztecNodeService = await AztecNodeService.createAndSync(config, {
356
- dateProvider,
357
- telemetry: telemetryClient,
358
- p2pClientDeps,
359
- logger: createLogger('node:MAIN-aztec-node')
360
- }, {
361
- prefilledPublicData
362
- });
299
+ // When skipInitialSequencer is set, the initial node is a lightweight RPC-only node.
300
+ // We apply these overrides to a copy so they don't leak into the returned config.
301
+ // Keep P2P enabled if mockGossipSubNetwork is used (needed for tx propagation to validators).
302
+ const initialNodeConfig = opts.skipInitialSequencer ? {
303
+ ...config,
304
+ disableValidator: true,
305
+ ...opts.mockGossipSubNetwork ? {} : {
306
+ p2pEnabled: false,
307
+ bootstrapNodes: []
308
+ }
309
+ } : config;
310
+ const aztecNodeService = await withLoggerBindings({
311
+ actor: 'node-0'
312
+ }, ()=>AztecNodeService.createAndSync(initialNodeConfig, {
313
+ dateProvider,
314
+ telemetry: telemetryClient,
315
+ p2pClientDeps
316
+ }, {
317
+ genesis,
318
+ dontStartSequencer: opts.skipInitialSequencer
319
+ }));
363
320
  const sequencerClient = aztecNodeService.getSequencer();
364
- if (sequencerClient) {
365
- const publisher = sequencerClient.sequencer.publisher;
366
- publisher.l1TxUtils = DelayedTxUtils.fromL1TxUtils(publisher.l1TxUtils, config.ethereumSlotDuration, l1Client);
367
- }
368
321
  let proverNode = undefined;
369
322
  if (opts.startProverNode) {
370
323
  logger.verbose('Creating and syncing a simulated prover node...');
371
324
  const proverNodePrivateKey = getPrivateKeyFromIndex(2);
372
325
  const proverNodePrivateKeyHex = `0x${proverNodePrivateKey.toString('hex')}`;
373
326
  const proverNodeDataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
374
- const proverNodeConfig = {
375
- ...config.proverNodeConfig,
376
- dataDirectory: proverNodeDataDirectory,
377
- p2pEnabled: false
327
+ const p2pClientDeps = {
328
+ p2pServiceFactory: mockGossipSubNetwork && getMockPubSubP2PServiceFactory(mockGossipSubNetwork),
329
+ rpcTxProviders: [
330
+ aztecNodeService
331
+ ]
378
332
  };
379
- proverNode = await createAndSyncProverNode(proverNodePrivateKeyHex, config, proverNodeConfig, aztecNodeService, prefilledPublicData);
333
+ ({ proverNode } = await createAndSyncProverNode(proverNodePrivateKeyHex, config, {
334
+ ...config.proverNodeConfig,
335
+ dataDirectory: proverNodeDataDirectory
336
+ }, {
337
+ dateProvider,
338
+ p2pClientDeps,
339
+ telemetry: telemetryClient
340
+ }, {
341
+ genesis
342
+ }));
380
343
  }
344
+ const sequencerDelayer = sequencerClient?.getDelayer();
345
+ const proverDelayer = proverNode?.getProverNode()?.getDelayer();
381
346
  logger.verbose('Creating a pxe...');
382
347
  const pxeConfig = {
383
348
  ...getPXEConfig(),
@@ -386,7 +351,12 @@ export const getPrivateKeyFromIndex = (index)=>{
386
351
  pxeConfig.dataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
387
352
  // For tests we only want proving enabled if specifically requested
388
353
  pxeConfig.proverEnabled = !!pxeOpts.proverEnabled;
389
- const wallet = await TestWallet.create(aztecNodeService, pxeConfig);
354
+ const wallet = await TestWallet.create(aztecNodeService, pxeConfig, {
355
+ loggerActorLabel: 'pxe-0'
356
+ });
357
+ if (opts.walletMinFeePadding !== undefined) {
358
+ wallet.setMinFeePadding(opts.walletMinFeePadding);
359
+ }
390
360
  const cheatCodes = await CheatCodes.create(config.l1RpcUrls, aztecNodeService, dateProvider);
391
361
  if (opts.aztecTargetCommitteeSize && opts.aztecTargetCommitteeSize > 0 || opts.initialValidators && opts.initialValidators.length > 0) {
392
362
  // We need to advance such that the committee is set up.
@@ -395,7 +365,9 @@ export const getPrivateKeyFromIndex = (index)=>{
395
365
  await cheatCodes.rollup.debugRollup();
396
366
  }
397
367
  let accounts = [];
398
- if (shouldDeployAccounts) {
368
+ if (opts.skipInitialSequencer) {
369
+ logger.info('Sequencer not started on initial node, skipping block progression');
370
+ } else if (shouldDeployAccounts) {
399
371
  logger.info(`${numberOfAccounts} accounts are being deployed. Reliably progressing past genesis by setting minTxsPerBlock to 1 and waiting for the accounts to be deployed`);
400
372
  const accountsData = initialFundedAccounts.slice(0, numberOfAccounts);
401
373
  const accountManagers = await deployFundedSchnorrAccounts(wallet, accountsData);
@@ -434,7 +406,7 @@ export const getPrivateKeyFromIndex = (index)=>{
434
406
  logger.error(`Error during e2e test teardown`, err);
435
407
  } finally{
436
408
  try {
437
- await telemetryClient?.stop();
409
+ await telemetryClient.stop();
438
410
  } catch (err) {
439
411
  logger.error(`Error during telemetry client stop`, err);
440
412
  }
@@ -454,8 +426,10 @@ export const getPrivateKeyFromIndex = (index)=>{
454
426
  initialFundedAccounts,
455
427
  logger,
456
428
  mockGossipSubNetwork,
457
- prefilledPublicData,
429
+ genesis,
458
430
  proverNode,
431
+ sequencerDelayer,
432
+ proverDelayer,
459
433
  sequencer: sequencerClient,
460
434
  teardown,
461
435
  telemetryClient,
@@ -516,75 +490,41 @@ export async function waitForProvenChain(node, targetBlock, timeoutSec = 60, int
516
490
  targetBlock ??= await node.getBlockNumber();
517
491
  await retryUntil(async ()=>await node.getProvenBlockNumber() >= targetBlock, 'proven chain status', timeoutSec, intervalSec);
518
492
  }
519
- export function createAndSyncProverNode(proverNodePrivateKey, aztecNodeConfig, proverNodeConfig, aztecNode, prefilledPublicData = [], proverNodeDeps = {}) {
520
- return withLogNameSuffix('prover-node', async ()=>{
521
- const aztecNodeTxProvider = aztecNode && {
522
- getTxByHash: aztecNode.getTxByHash.bind(aztecNode),
523
- getTxsByHash: aztecNode.getTxsByHash.bind(aztecNode),
524
- stop: ()=>Promise.resolve()
525
- };
526
- const blobClient = await createBlobClientWithFileStores(aztecNodeConfig, createLogger('blob-client:prover-node'));
527
- const archiverConfig = {
528
- ...aztecNodeConfig,
529
- dataDirectory: proverNodeConfig.dataDirectory
530
- };
531
- const archiver = await createArchiver(archiverConfig, {
532
- blobClient,
533
- dateProvider: proverNodeDeps.dateProvider
534
- }, {
535
- blockUntilSync: true
536
- });
537
- const proverConfig = {
538
- ...aztecNodeConfig,
539
- txCollectionNodeRpcUrls: [],
540
- realProofs: false,
541
- proverAgentCount: 2,
542
- publisherPrivateKeys: [
493
+ /**
494
+ * Creates an AztecNodeService with the prover node enabled as a subsystem.
495
+ * Returns both the aztec node service (for lifecycle management) and the prover node (for test internals access).
496
+ */ export function createAndSyncProverNode(proverNodePrivateKey, baseConfig, configOverrides, deps, options) {
497
+ return withLoggerBindings({
498
+ actor: 'prover-0'
499
+ }, async ()=>{
500
+ const proverNode = await AztecNodeService.createAndSync({
501
+ ...baseConfig,
502
+ ...configOverrides,
503
+ p2pPort: 0,
504
+ enableProverNode: true,
505
+ disableValidator: true,
506
+ proverPublisherPrivateKeys: [
543
507
  new SecretValue(proverNodePrivateKey)
544
- ],
545
- proverNodeMaxPendingJobs: 10,
546
- proverNodeMaxParallelBlocksPerEpoch: 32,
547
- proverNodePollingIntervalMs: 200,
548
- txGatheringIntervalMs: 1000,
549
- txGatheringBatchSize: 10,
550
- txGatheringMaxParallelRequestsPerNode: 10,
551
- txGatheringTimeoutMs: 24_000,
552
- proverNodeFailedEpochStore: undefined,
553
- proverId: EthAddress.fromNumber(1),
554
- proverNodeEpochProvingDelayMs: undefined,
555
- ...proverNodeConfig
556
- };
557
- const l1TxUtils = createDelayedL1TxUtils(aztecNodeConfig, proverNodePrivateKey, 'prover-node', proverNodeDeps.dateProvider);
558
- const proverNode = await createProverNode(proverConfig, {
559
- ...proverNodeDeps,
560
- aztecNodeTxProvider,
561
- archiver: archiver,
562
- l1TxUtils
563
- }, {
564
- prefilledPublicData
508
+ ]
509
+ }, deps, {
510
+ genesis: options.genesis,
511
+ dontStartProverNode: options.dontStart
565
512
  });
566
- getLogger().info(`Created and synced prover node`, {
567
- publisherAddress: l1TxUtils.client.account.address
568
- });
569
- if (!proverNodeConfig.dontStart) {
570
- await proverNode.start();
513
+ if (!proverNode.getProverNode()) {
514
+ throw new Error('Prover node subsystem was not created despite enableProverNode being set');
571
515
  }
572
- return proverNode;
516
+ getLogger().info(`Created and synced prover node`);
517
+ return {
518
+ proverNode
519
+ };
573
520
  });
574
521
  }
575
- function createDelayedL1TxUtils(aztecNodeConfig, privateKey, logName, dateProvider) {
576
- const l1Client = createExtendedL1Client(aztecNodeConfig.l1RpcUrls, privateKey, foundry);
577
- const log = createLogger(logName);
578
- const l1TxUtils = createDelayedL1TxUtilsFromViemWallet(l1Client, log, dateProvider, aztecNodeConfig);
579
- l1TxUtils.enableDelayer(aztecNodeConfig.ethereumSlotDuration);
580
- return l1TxUtils;
581
- }
582
- export function getBalancesFn(symbol, method, from, logger) {
522
+ export function getBalancesFn(symbol, method, logger) {
583
523
  const balances = async (...addressLikes)=>{
584
524
  const addresses = addressLikes.map((addressLike)=>'address' in addressLike ? addressLike.address : addressLike);
585
- const b = await Promise.all(addresses.map((address)=>method(address).simulate({
586
- from
587
- })));
525
+ const b = await Promise.all(addresses.map(async (address)=>(await method(address).simulate({
526
+ from: address
527
+ })).result));
588
528
  const debugString = `${symbol} balances: ${addresses.map((address, i)=>`${address}: ${b[i]}`).join(', ')}`;
589
529
  logger.verbose(debugString);
590
530
  return b;
@@ -628,7 +568,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
628
568
  /**
629
569
  * Helper function to deploy accounts.
630
570
  * Returns deployed account data that can be used by tests.
631
- */ export const deployAccounts = (numberOfAccounts, logger)=>async ({ wallet, initialFundedAccounts })=>{
571
+ */ export const deployAccounts = (numberOfAccounts, logger, deployOptions)=>async ({ wallet, initialFundedAccounts })=>{
632
572
  if (initialFundedAccounts.length < numberOfAccounts) {
633
573
  throw new Error(`Cannot deploy more than ${initialFundedAccounts.length} initial accounts.`);
634
574
  }
@@ -639,8 +579,9 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
639
579
  const accountManager = await wallet.createSchnorrAccount(deployedAccounts[i].secret, deployedAccounts[i].salt, deployedAccounts[i].signingKey);
640
580
  const deployMethod = await accountManager.getDeployMethod();
641
581
  await deployMethod.send({
642
- from: AztecAddress.ZERO,
643
- skipClassPublication: i !== 0
582
+ from: NO_FROM,
583
+ skipClassPublication: i !== 0,
584
+ ...deployOptions
644
585
  });
645
586
  }
646
587
  return {
@@ -661,7 +602,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
661
602
  ...instances.map((instance)=>publishInstance(wallet, instance))
662
603
  ]);
663
604
  const batch = new BatchCall(wallet, calls);
664
- const txReceipt = await batch.send({
605
+ const { receipt: txReceipt } = await batch.send({
665
606
  from: accountsToDeploy[0]
666
607
  });
667
608
  if (waitUntilProven) {
@@ -3,21 +3,28 @@
3
3
  */
4
4
  import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
5
5
  import type { DateProvider } from '@aztec/foundation/timer';
6
- import type { ProverNodeDeps } from '@aztec/prover-node';
7
- import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
8
- import { AsyncLocalStorage } from 'node:async_hooks';
6
+ import type { GenesisData } from '@aztec/stdlib/world-state';
9
7
  export declare const ATTESTER_PRIVATE_KEYS_START_INDEX = 3;
10
8
  export declare function generatePrivateKeys(startIndex: number, numberOfKeys: number): `0x${string}`[];
11
9
  export declare function createNodes(config: AztecNodeConfig & {
12
10
  dontStartSequencer?: boolean;
13
- }, dateProvider: DateProvider, bootstrapNodeEnr: string, numNodes: number, bootNodePort: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, indexOffset?: number, validatorsPerNode?: number): Promise<AztecNodeService[]>;
14
- /** Creates a P2P enabled instance of Aztec Node Service with a validator */
15
- export declare function createNode(config: AztecNodeConfig & {
11
+ }, dateProvider: DateProvider, bootstrapNodeEnr: string, numNodes: number, bootNodePort: number, genesis?: GenesisData, dataDirectory?: string, metricsPort?: number, indexOffset?: number, validatorsPerNode?: number): Promise<AztecNodeService[]>;
12
+ /** Extended config type for createNode with test-specific overrides. */
13
+ export type CreateNodeConfig = AztecNodeConfig & {
14
+ /** Whether to skip starting the sequencer. */
16
15
  dontStartSequencer?: boolean;
17
- }, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number | number[], prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
16
+ /** Override the private key (instead of deriving from addressIndex). */
17
+ validatorPrivateKey?: `0x${string}`;
18
+ };
19
+ /** Creates a P2P enabled instance of Aztec Node Service with a validator. */
20
+ export declare function createNode(config: CreateNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number | number[], genesis?: GenesisData, dataDirectory?: string, metricsPort?: number): Promise<AztecNodeService>;
18
21
  /** Creates a P2P enabled instance of Aztec Node Service without a validator */
19
- export declare function createNonValidatorNode(baseConfig: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
20
- export declare function createProverNode(config: AztecNodeConfig, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, proverNodeDeps: ProverNodeDeps & Required<Pick<ProverNodeDeps, 'dateProvider'>>, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<import("@aztec/prover-node").ProverNode>;
22
+ export declare function createNonValidatorNode(baseConfig: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, genesis?: GenesisData, dataDirectory?: string, metricsPort?: number): Promise<AztecNodeService>;
23
+ export declare function createProverNode(config: AztecNodeConfig, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, deps: {
24
+ dateProvider: DateProvider;
25
+ }, genesis?: GenesisData, dataDirectory?: string, metricsPort?: number): Promise<{
26
+ proverNode: AztecNodeService;
27
+ }>;
21
28
  export declare function createP2PConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
22
- export declare function createValidatorConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number | number[], dataDirectory?: string): Promise<AztecNodeConfig>;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfcDJwX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cF9wMnBfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFvQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBU3JELGVBQU8sTUFBTSxpQ0FBaUMsSUFBSSxDQUFDO0FBRW5ELHdCQUFnQixtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsS0FBSyxNQUFNLEVBQUUsRUFBRSxDQU83RjtBQUVELHdCQUFzQixXQUFXLENBQy9CLE1BQU0sRUFBRSxlQUFlLEdBQUc7SUFBRSxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFFLEVBQzFELFlBQVksRUFBRSxZQUFZLEVBQzFCLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsWUFBWSxFQUFFLE1BQU0sRUFDcEIsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFDcEIsV0FBVyxTQUFJLEVBQ2YsaUJBQWlCLFNBQUksR0FDcEIsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0F5QzdCO0FBRUQsNEVBQTRFO0FBQzVFLHdCQUFzQixVQUFVLENBQzlCLE1BQU0sRUFBRSxlQUFlLEdBQUc7SUFBRSxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFFLEVBQzFELFlBQVksRUFBRSxZQUFZLEVBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2pDLFlBQVksRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLEVBQy9CLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFDMUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLEVBQ3BCLGVBQWUsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyw2QkFZNUM7QUFFRCwrRUFBK0U7QUFDL0Usd0JBQXNCLHNCQUFzQixDQUMxQyxVQUFVLEVBQUUsZUFBZSxFQUMzQixZQUFZLEVBQUUsWUFBWSxFQUMxQixPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUNqQyxtQkFBbUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLEVBQzFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFDdEIsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUNwQixlQUFlLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsNkJBYzVDO0FBRUQsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsZUFBZSxFQUN2QixPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUNqQyxZQUFZLEVBQUUsTUFBTSxFQUNwQixjQUFjLEVBQUUsY0FBYyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLEVBQy9FLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFDMUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLEVBQ3BCLGVBQWUsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxvREF3QjVDO0FBRUQsd0JBQXNCLGVBQWUsQ0FDbkMsTUFBTSxFQUFFLGVBQWUsRUFDdkIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQ3pCLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixhQUFhLENBQUMsRUFBRSxNQUFNLDRCQWdCdkI7QUFFRCx3QkFBc0IscUJBQXFCLENBQ3pDLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxFQUN6QixJQUFJLENBQUMsRUFBRSxNQUFNLEVBQ2IsWUFBWSxHQUFFLE1BQU0sR0FBRyxNQUFNLEVBQU0sRUFDbkMsYUFBYSxDQUFDLEVBQUUsTUFBTSw0QkFtQnZCIn0=
29
+ export declare function createValidatorConfig(config: CreateNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number | number[], dataDirectory?: string): Promise<AztecNodeConfig>;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfcDJwX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cF9wMnBfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBVzdELGVBQU8sTUFBTSxpQ0FBaUMsSUFBSSxDQUFDO0FBT25ELHdCQUFnQixtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsS0FBSyxNQUFNLEVBQUUsRUFBRSxDQU83RjtBQUVELHdCQUFzQixXQUFXLENBQy9CLE1BQU0sRUFBRSxlQUFlLEdBQUc7SUFBRSxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFFLEVBQzFELFlBQVksRUFBRSxZQUFZLEVBQzFCLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsWUFBWSxFQUFFLE1BQU0sRUFDcEIsT0FBTyxDQUFDLEVBQUUsV0FBVyxFQUNyQixhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFDcEIsV0FBVyxTQUFJLEVBQ2YsaUJBQWlCLFNBQUksR0FDcEIsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FtQzdCO0FBRUQsd0VBQXdFO0FBQ3hFLE1BQU0sTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLEdBQUc7SUFDL0MsOENBQThDO0lBQzlDLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzdCLHdFQUF3RTtJQUN4RSxtQkFBbUIsQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7Q0FDckMsQ0FBQztBQUVGLDZFQUE2RTtBQUM3RSx3QkFBc0IsVUFBVSxDQUM5QixNQUFNLEVBQUUsZ0JBQWdCLEVBQ3hCLFlBQVksRUFBRSxZQUFZLEVBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2pDLFlBQVksRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLEVBQy9CLE9BQU8sQ0FBQyxFQUFFLFdBQVcsRUFDckIsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLDZCQVlyQjtBQUVELCtFQUErRTtBQUMvRSx3QkFBc0Isc0JBQXNCLENBQzFDLFVBQVUsRUFBRSxlQUFlLEVBQzNCLFlBQVksRUFBRSxZQUFZLEVBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2pDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsRUFDckIsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLDZCQWNyQjtBQUVELHdCQUFzQixnQkFBZ0IsQ0FDcEMsTUFBTSxFQUFFLGVBQWUsRUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDakMsWUFBWSxFQUFFLE1BQU0sRUFDcEIsSUFBSSxFQUFFO0lBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQTtDQUFFLEVBQ3BDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsRUFDckIsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLEdBQ25CLE9BQU8sQ0FBQztJQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQTtDQUFFLENBQUMsQ0FnQjNDO0FBRUQsd0JBQXNCLGVBQWUsQ0FDbkMsTUFBTSxFQUFFLGVBQWUsRUFDdkIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQ3pCLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixhQUFhLENBQUMsRUFBRSxNQUFNLDRCQWdCdkI7QUFFRCx3QkFBc0IscUJBQXFCLENBQ3pDLE1BQU0sRUFBRSxnQkFBZ0IsRUFDeEIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQ3pCLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixZQUFZLEdBQUUsTUFBTSxHQUFHLE1BQU0sRUFBTSxFQUNuQyxhQUFhLENBQUMsRUFBRSxNQUFNLDRCQW9CdkIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"setup_p2p_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_p2p_test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,EAAE,CAO7F;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,eAAe,GAAG;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1D,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,SAAI,EACf,iBAAiB,SAAI,GACpB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyC7B;AAED,4EAA4E;AAC5E,wBAAsB,UAAU,CAC9B,MAAM,EAAE,eAAe,GAAG;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1D,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,6BAY5C;AAED,+EAA+E;AAC/E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,6BAc5C;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,EAC/E,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,oDAwB5C;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,4BAgBvB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,eAAe,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,GAAE,MAAM,GAAG,MAAM,EAAM,EACnC,aAAa,CAAC,EAAE,MAAM,4BAmBvB"}
1
+ {"version":3,"file":"setup_p2p_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_p2p_test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAW7D,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAOnD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,EAAE,CAO7F;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,eAAe,GAAG;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1D,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,WAAW,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,SAAI,EACf,iBAAiB,SAAI,GACpB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAmC7B;AAED,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,6EAA6E;AAC7E,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,OAAO,CAAC,EAAE,WAAW,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,6BAYrB;AAED,+EAA+E;AAC/E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,CAAC,EAAE,WAAW,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,6BAcrB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE;IAAE,YAAY,EAAE,YAAY,CAAA;CAAE,EACpC,OAAO,CAAC,EAAE,WAAW,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,UAAU,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAgB3C;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,4BAgBvB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,GAAE,MAAM,GAAG,MAAM,EAAM,EACnC,aAAa,CAAC,EAAE,MAAM,4BAoBvB"}