@aztec/end-to-end 0.0.1-commit.d431d1c → 0.0.1-commit.dbf9cec

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 (208) hide show
  1. package/dest/bench/client_flows/client_flows_benchmark.d.ts +2 -2
  2. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/client_flows_benchmark.js +31 -16
  4. package/dest/bench/client_flows/config.d.ts +2 -2
  5. package/dest/bench/client_flows/config.d.ts.map +1 -1
  6. package/dest/bench/client_flows/config.js +18 -0
  7. package/dest/bench/utils.d.ts +5 -4
  8. package/dest/bench/utils.d.ts.map +1 -1
  9. package/dest/bench/utils.js +9 -7
  10. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +4 -2
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  12. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +17 -8
  13. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +2 -2
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  15. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +3 -2
  16. package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
  17. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  18. package/dest/e2e_epochs/epochs_test.d.ts +15 -7
  19. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  20. package/dest/e2e_epochs/epochs_test.js +86 -39
  21. package/dest/e2e_fees/bridging_race.notest.js +1 -1
  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 +12 -12
  25. package/dest/e2e_l1_publisher/write_json.d.ts +4 -3
  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 +2 -2
  31. package/dest/e2e_p2p/p2p_network.d.ts +2 -2
  32. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  33. package/dest/e2e_p2p/p2p_network.js +22 -4
  34. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  35. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  36. package/dest/e2e_p2p/reqresp/utils.js +177 -0
  37. package/dest/e2e_p2p/shared.d.ts +6 -6
  38. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  39. package/dest/e2e_p2p/shared.js +14 -17
  40. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
  41. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  42. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
  43. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
  44. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
  45. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
  46. package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
  47. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  48. package/dest/e2e_token_contract/token_contract_test.js +13 -3
  49. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  50. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  51. package/dest/fixtures/authwit_proxy.js +30 -0
  52. package/dest/fixtures/e2e_prover_test.d.ts +4 -4
  53. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  54. package/dest/fixtures/e2e_prover_test.js +35 -39
  55. package/dest/fixtures/elu_monitor.d.ts +21 -0
  56. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  57. package/dest/fixtures/elu_monitor.js +102 -0
  58. package/dest/fixtures/fixtures.d.ts +5 -1
  59. package/dest/fixtures/fixtures.d.ts.map +1 -1
  60. package/dest/fixtures/fixtures.js +6 -0
  61. package/dest/fixtures/ha_setup.d.ts +71 -0
  62. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  63. package/dest/fixtures/ha_setup.js +116 -0
  64. package/dest/fixtures/index.d.ts +2 -1
  65. package/dest/fixtures/index.d.ts.map +1 -1
  66. package/dest/fixtures/index.js +1 -0
  67. package/dest/fixtures/setup.d.ts +42 -24
  68. package/dest/fixtures/setup.d.ts.map +1 -1
  69. package/dest/fixtures/setup.js +87 -166
  70. package/dest/fixtures/setup_p2p_test.d.ts +16 -9
  71. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  72. package/dest/fixtures/setup_p2p_test.js +40 -29
  73. package/dest/fixtures/token_utils.d.ts +2 -2
  74. package/dest/fixtures/token_utils.d.ts.map +1 -1
  75. package/dest/fixtures/token_utils.js +10 -6
  76. package/dest/shared/cross_chain_test_harness.d.ts +3 -4
  77. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  78. package/dest/shared/cross_chain_test_harness.js +11 -11
  79. package/dest/shared/gas_portal_test_harness.js +1 -1
  80. package/dest/shared/index.d.ts +2 -1
  81. package/dest/shared/index.d.ts.map +1 -1
  82. package/dest/shared/index.js +1 -0
  83. package/dest/shared/jest_setup.js +10 -1
  84. package/dest/shared/mock_state_view.d.ts +86 -0
  85. package/dest/shared/mock_state_view.d.ts.map +1 -0
  86. package/dest/shared/mock_state_view.js +186 -0
  87. package/dest/shared/submit-transactions.d.ts +4 -4
  88. package/dest/shared/submit-transactions.d.ts.map +1 -1
  89. package/dest/shared/submit-transactions.js +9 -11
  90. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  91. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  92. package/dest/shared/uniswap_l1_l2.js +20 -18
  93. package/dest/simulators/lending_simulator.js +2 -2
  94. package/dest/simulators/token_simulator.d.ts +1 -1
  95. package/dest/simulators/token_simulator.d.ts.map +1 -1
  96. package/dest/simulators/token_simulator.js +2 -23
  97. package/dest/spartan/setup_test_wallets.d.ts +9 -2
  98. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  99. package/dest/spartan/setup_test_wallets.js +92 -35
  100. package/dest/spartan/tx_metrics.d.ts +38 -2
  101. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  102. package/dest/spartan/tx_metrics.js +178 -4
  103. package/dest/spartan/utils/bot.d.ts +28 -0
  104. package/dest/spartan/utils/bot.d.ts.map +1 -0
  105. package/dest/spartan/utils/bot.js +142 -0
  106. package/dest/spartan/utils/chaos.d.ts +79 -0
  107. package/dest/spartan/utils/chaos.d.ts.map +1 -0
  108. package/dest/spartan/utils/chaos.js +142 -0
  109. package/dest/spartan/utils/clients.d.ts +39 -0
  110. package/dest/spartan/utils/clients.d.ts.map +1 -0
  111. package/dest/spartan/utils/clients.js +90 -0
  112. package/dest/spartan/utils/config.d.ts +42 -0
  113. package/dest/spartan/utils/config.d.ts.map +1 -0
  114. package/dest/spartan/utils/config.js +22 -0
  115. package/dest/spartan/utils/health.d.ts +63 -0
  116. package/dest/spartan/utils/health.d.ts.map +1 -0
  117. package/dest/spartan/utils/health.js +202 -0
  118. package/dest/spartan/utils/helm.d.ts +15 -0
  119. package/dest/spartan/utils/helm.d.ts.map +1 -0
  120. package/dest/spartan/utils/helm.js +47 -0
  121. package/dest/spartan/utils/index.d.ts +10 -0
  122. package/dest/spartan/utils/index.d.ts.map +1 -0
  123. package/dest/spartan/utils/index.js +20 -0
  124. package/dest/spartan/utils/k8s.d.ts +128 -0
  125. package/dest/spartan/utils/k8s.d.ts.map +1 -0
  126. package/dest/spartan/utils/k8s.js +381 -0
  127. package/dest/spartan/utils/nodes.d.ts +40 -0
  128. package/dest/spartan/utils/nodes.d.ts.map +1 -0
  129. package/dest/spartan/utils/nodes.js +461 -0
  130. package/dest/spartan/utils/scripts.d.ts +30 -0
  131. package/dest/spartan/utils/scripts.d.ts.map +1 -0
  132. package/dest/spartan/utils/scripts.js +81 -0
  133. package/dest/spartan/utils.d.ts +2 -260
  134. package/dest/spartan/utils.d.ts.map +1 -1
  135. package/dest/spartan/utils.js +1 -942
  136. package/dest/test-wallet/test_wallet.d.ts +83 -0
  137. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  138. package/dest/test-wallet/test_wallet.js +214 -0
  139. package/dest/test-wallet/utils.d.ts +41 -0
  140. package/dest/test-wallet/utils.d.ts.map +1 -0
  141. package/dest/test-wallet/utils.js +71 -0
  142. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  143. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  144. package/dest/test-wallet/wallet_worker_script.js +48 -0
  145. package/dest/test-wallet/worker_wallet.d.ts +52 -0
  146. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  147. package/dest/test-wallet/worker_wallet.js +151 -0
  148. package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
  149. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  150. package/dest/test-wallet/worker_wallet_schema.js +10 -0
  151. package/package.json +43 -39
  152. package/src/bench/client_flows/client_flows_benchmark.ts +19 -36
  153. package/src/bench/client_flows/config.ts +9 -1
  154. package/src/bench/utils.ts +10 -8
  155. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +20 -14
  156. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
  157. package/src/e2e_deploy_contract/deploy_test.ts +3 -3
  158. package/src/e2e_epochs/epochs_test.ts +129 -93
  159. package/src/e2e_fees/bridging_race.notest.ts +2 -5
  160. package/src/e2e_fees/fees_test.ts +22 -41
  161. package/src/e2e_l1_publisher/write_json.ts +3 -8
  162. package/src/e2e_nested_contract/nested_contract_test.ts +3 -5
  163. package/src/e2e_p2p/inactivity_slash_test.ts +4 -4
  164. package/src/e2e_p2p/p2p_network.ts +44 -16
  165. package/src/e2e_p2p/reqresp/utils.ts +235 -0
  166. package/src/e2e_p2p/shared.ts +22 -22
  167. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  168. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  169. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  170. package/src/e2e_token_contract/token_contract_test.ts +14 -7
  171. package/src/fixtures/authwit_proxy.ts +50 -0
  172. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  173. package/src/fixtures/e2e_prover_test.ts +32 -47
  174. package/src/fixtures/elu_monitor.ts +126 -0
  175. package/src/fixtures/fixtures.ts +10 -0
  176. package/src/fixtures/ha_setup.ts +186 -0
  177. package/src/fixtures/index.ts +1 -0
  178. package/src/fixtures/setup.ts +117 -232
  179. package/src/fixtures/setup_p2p_test.ts +40 -44
  180. package/src/fixtures/token_utils.ts +7 -5
  181. package/src/guides/up_quick_start.sh +3 -3
  182. package/src/shared/cross_chain_test_harness.ts +13 -27
  183. package/src/shared/gas_portal_test_harness.ts +1 -1
  184. package/src/shared/index.ts +1 -0
  185. package/src/shared/jest_setup.ts +16 -1
  186. package/src/shared/mock_state_view.ts +188 -0
  187. package/src/shared/submit-transactions.ts +14 -16
  188. package/src/shared/uniswap_l1_l2.ts +21 -30
  189. package/src/simulators/lending_simulator.ts +2 -2
  190. package/src/simulators/token_simulator.ts +1 -29
  191. package/src/spartan/setup_test_wallets.ts +127 -25
  192. package/src/spartan/tx_metrics.ts +152 -7
  193. package/src/spartan/utils/bot.ts +188 -0
  194. package/src/spartan/utils/chaos.ts +253 -0
  195. package/src/spartan/utils/clients.ts +100 -0
  196. package/src/spartan/utils/config.ts +28 -0
  197. package/src/spartan/utils/health.ts +255 -0
  198. package/src/spartan/utils/helm.ts +84 -0
  199. package/src/spartan/utils/index.ts +68 -0
  200. package/src/spartan/utils/k8s.ts +535 -0
  201. package/src/spartan/utils/nodes.ts +543 -0
  202. package/src/spartan/utils/scripts.ts +99 -0
  203. package/src/spartan/utils.ts +1 -1246
  204. package/src/test-wallet/test_wallet.ts +306 -0
  205. package/src/test-wallet/utils.ts +112 -0
  206. package/src/test-wallet/wallet_worker_script.ts +60 -0
  207. package/src/test-wallet/worker_wallet.ts +213 -0
  208. package/src/test-wallet/worker_wallet_schema.ts +13 -0
@@ -1,15 +1,12 @@
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
4
  import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
6
5
  import { BatchCall, getContractClassFromArtifact, waitForProven } from '@aztec/aztec.js/contracts';
7
6
  import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
8
7
  import { Fr } from '@aztec/aztec.js/fields';
9
8
  import { createLogger } from '@aztec/aztec.js/log';
10
- import { createAztecNodeClient, waitForNode } from '@aztec/aztec.js/node';
11
9
  import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
12
- import { createBlobClientWithFileStores } from '@aztec/blob-client/client';
13
10
  import { SPONSORED_FPC_SALT } from '@aztec/constants';
14
11
  import { isAnvilTestChain } from '@aztec/ethereum/chain';
15
12
  import { createExtendedL1Client } from '@aztec/ethereum/client';
@@ -17,40 +14,38 @@ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
17
14
  import { NULL_KEY } from '@aztec/ethereum/constants';
18
15
  import { deployMulticall3 } from '@aztec/ethereum/contracts';
19
16
  import { deployAztecL1Contracts } from '@aztec/ethereum/deploy-aztec-l1-contracts';
20
- import { DelayedTxUtils, EthCheatCodes, EthCheatCodesWithState, createDelayedL1TxUtilsFromViemWallet, startAnvil } from '@aztec/ethereum/test';
17
+ import { EthCheatCodesWithState, startAnvil } from '@aztec/ethereum/test';
21
18
  import { EpochNumber } from '@aztec/foundation/branded-types';
22
19
  import { SecretValue } from '@aztec/foundation/config';
23
20
  import { randomBytes } from '@aztec/foundation/crypto/random';
24
21
  import { tryRmDir } from '@aztec/foundation/fs';
25
- import { withLogNameSuffix } from '@aztec/foundation/log';
22
+ import { withLoggerBindings } from '@aztec/foundation/log/server';
26
23
  import { retryUntil } from '@aztec/foundation/retry';
27
24
  import { sleep } from '@aztec/foundation/sleep';
28
- import { DateProvider, TestDateProvider } from '@aztec/foundation/timer';
25
+ import { TestDateProvider } from '@aztec/foundation/timer';
29
26
  import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
30
27
  import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
31
28
  import { MockGossipSubNetwork, getMockPubSubP2PServiceFactory } from '@aztec/p2p/test-helpers';
32
29
  import { protocolContractsHash } from '@aztec/protocol-contracts';
33
- import { createProverNode } from '@aztec/prover-node';
34
30
  import { getPXEConfig } from '@aztec/pxe/server';
35
31
  import { getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
36
32
  import { tryStop } from '@aztec/stdlib/interfaces/server';
37
33
  import { getConfigEnvVars as getTelemetryConfig, initTelemetryClient } from '@aztec/telemetry-client';
38
34
  import { BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
39
- import { TestWallet, deployFundedSchnorrAccounts } from '@aztec/test-wallet/server';
35
+ import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
40
36
  import { getGenesisValues } from '@aztec/world-state/testing';
41
37
  import fs from 'fs/promises';
42
38
  import { tmpdir } from 'os';
43
39
  import path from 'path';
44
40
  import { generatePrivateKey, mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
45
41
  import { foundry } from 'viem/chains';
42
+ import { TestWallet } from '../test-wallet/test_wallet.js';
46
43
  import { MNEMONIC, TEST_MAX_PENDING_TX_POOL_COUNT, TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
47
44
  import { getACVMConfig } from './get_acvm_config.js';
48
45
  import { getBBConfig } from './get_bb_config.js';
49
46
  import { isMetricsLoggingRequested, setupMetricsLogger } from './logging.js';
50
47
  import { getEndToEndTestTelemetryClient } from './with_telemetry_utils.js';
51
48
  export { startAnvil };
52
- const { AZTEC_NODE_URL = '' } = process.env;
53
- const getAztecUrl = ()=>AZTEC_NODE_URL;
54
49
  let telemetry = undefined;
55
50
  async function getTelemetryClient(partialConfig = {}) {
56
51
  if (!telemetry) {
@@ -86,9 +81,9 @@ export const getPrivateKeyFromIndex = (index)=>{
86
81
  * @param aztecNode - An instance of Aztec Node.
87
82
  * @param opts - Partial configuration for the PXE.
88
83
  * @param logger - The logger to be used.
89
- * @param useLogSuffix - Whether to add a randomly generated suffix to the PXE debug logs.
84
+ * @param actor - Actor label to include in log output (e.g., 'pxe-test').
90
85
  * @returns A test wallet, logger and teardown function.
91
- */ export async function setupPXEAndGetWallet(aztecNode, opts = {}, logger = getLogger(), useLogSuffix = false) {
86
+ */ export async function setupPXEAndGetWallet(aztecNode, opts = {}, logger = getLogger(), actor) {
92
87
  const PXEConfig = {
93
88
  ...getPXEConfig(),
94
89
  ...opts
@@ -102,7 +97,7 @@ export const getPrivateKeyFromIndex = (index)=>{
102
97
  }
103
98
  const teardown = configuredDataDirectory ? ()=>Promise.resolve() : ()=>tryRmDir(PXEConfig.dataDirectory);
104
99
  const wallet = await TestWallet.create(aztecNode, PXEConfig, {
105
- useLogSuffix
100
+ loggerActorLabel: actor
106
101
  });
107
102
  return {
108
103
  wallet,
@@ -110,62 +105,6 @@ export const getPrivateKeyFromIndex = (index)=>{
110
105
  teardown
111
106
  };
112
107
  }
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
108
  /**
170
109
  * Sets up the environment for the end-to-end tests.
171
110
  * @param numberOfAccounts - The number of new accounts to be created once the PXE is initiated.
@@ -188,7 +127,10 @@ export const getPrivateKeyFromIndex = (index)=>{
188
127
  config.realProofs = !!opts.realProofs;
189
128
  // Only enforce the time table if requested
190
129
  config.enforceTimeTable = !!opts.enforceTimeTable;
130
+ // Enable the tx delayer for tests (default config has it disabled, so we force-enable it here)
131
+ config.enableDelayer = true;
191
132
  config.listenAddress = '127.0.0.1';
133
+ config.minTxPoolAgeMs = opts.minTxPoolAgeMs ?? 0;
192
134
  const logger = getLogger();
193
135
  // Create a temp directory for any services that need it and cleanup later
194
136
  const directoryToCleanup = path.join(tmpdir(), randomBytes(8).toString('hex'));
@@ -202,13 +144,10 @@ export const getPrivateKeyFromIndex = (index)=>{
202
144
  if (!isAnvilTestChain(chain.id)) {
203
145
  throw new Error(`No ETHEREUM_HOSTS set but non anvil chain requested`);
204
146
  }
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
147
  const res = await startAnvil({
209
148
  l1BlockTime: opts.ethereumSlotDuration,
210
149
  accounts: opts.anvilAccounts,
211
- port: opts.anvilPort
150
+ port: opts.anvilPort ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : undefined)
212
151
  });
213
152
  anvil = res.anvil;
214
153
  config.l1RpcUrls = [
@@ -236,8 +175,8 @@ export const getPrivateKeyFromIndex = (index)=>{
236
175
  if (opts.l1PublisherKey && opts.l1PublisherKey.getValue() && opts.l1PublisherKey.getValue() != NULL_KEY) {
237
176
  publisherPrivKeyHex = opts.l1PublisherKey.getValue();
238
177
  publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
239
- } else if (config.publisherPrivateKeys && config.publisherPrivateKeys.length > 0 && config.publisherPrivateKeys[0].getValue() != NULL_KEY) {
240
- publisherPrivKeyHex = config.publisherPrivateKeys[0].getValue();
178
+ } else if (config.sequencerPublisherPrivateKeys && config.sequencerPublisherPrivateKeys.length > 0 && config.sequencerPublisherPrivateKeys[0].getValue() != NULL_KEY) {
179
+ publisherPrivKeyHex = config.sequencerPublisherPrivateKeys[0].getValue();
241
180
  publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
242
181
  } else if (!MNEMONIC) {
243
182
  throw new Error(`Mnemonic not provided and no publisher private key`);
@@ -248,17 +187,13 @@ export const getPrivateKeyFromIndex = (index)=>{
248
187
  const publisherPrivKeyRaw = publisherHdAccount.getHdKey().privateKey;
249
188
  const publisherPrivKey = publisherPrivKeyRaw === null ? null : Buffer.from(publisherPrivKeyRaw);
250
189
  publisherPrivKeyHex = `0x${publisherPrivKey.toString('hex')}`;
251
- config.publisherPrivateKeys = [
190
+ config.sequencerPublisherPrivateKeys = [
252
191
  new SecretValue(publisherPrivKeyHex)
253
192
  ];
254
193
  }
255
194
  if (config.coinbase === undefined) {
256
195
  config.coinbase = EthAddress.fromString(publisherHdAccount.address);
257
196
  }
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
197
  // Determine which addresses to fund in genesis
263
198
  const initialFundedAccounts = opts.initialFundedAccounts ?? await generateSchnorrAccounts(opts.numberOfInitialFundedAccounts ?? Math.max(numberOfAccounts, 10));
264
199
  const addressesToFund = initialFundedAccounts.map((a)=>a.address);
@@ -297,8 +232,12 @@ export const getPrivateKeyFromIndex = (index)=>{
297
232
  if (enableAutomine) {
298
233
  await ethCheatCodes.setAutomine(false);
299
234
  await ethCheatCodes.setIntervalMining(config.ethereumSlotDuration);
300
- dateProvider.setTime(await ethCheatCodes.timestamp() * 1000);
301
235
  }
236
+ // Always sync dateProvider to L1 time after deploying L1 contracts, regardless of mining mode.
237
+ // In compose mode, L1 time may have drifted ahead of system time due to the local-network watcher
238
+ // warping time forward on each filled slot. Without this sync, the sequencer computes the wrong
239
+ // slot from its dateProvider and cannot propose blocks.
240
+ dateProvider.setTime(await ethCheatCodes.timestamp() * 1000);
302
241
  if (opts.l2StartTime) {
303
242
  await ethCheatCodes.warp(opts.l2StartTime, {
304
243
  resetBlockInterval: true
@@ -352,32 +291,41 @@ export const getPrivateKeyFromIndex = (index)=>{
352
291
  ]);
353
292
  }
354
293
  }
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
- });
294
+ const aztecNodeService = await withLoggerBindings({
295
+ actor: 'node-0'
296
+ }, ()=>AztecNodeService.createAndSync(config, {
297
+ dateProvider,
298
+ telemetry: telemetryClient,
299
+ p2pClientDeps
300
+ }, {
301
+ prefilledPublicData
302
+ }));
363
303
  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
304
  let proverNode = undefined;
369
305
  if (opts.startProverNode) {
370
306
  logger.verbose('Creating and syncing a simulated prover node...');
371
307
  const proverNodePrivateKey = getPrivateKeyFromIndex(2);
372
308
  const proverNodePrivateKeyHex = `0x${proverNodePrivateKey.toString('hex')}`;
373
309
  const proverNodeDataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
374
- const proverNodeConfig = {
375
- ...config.proverNodeConfig,
376
- dataDirectory: proverNodeDataDirectory,
377
- p2pEnabled: false
310
+ const p2pClientDeps = {
311
+ p2pServiceFactory: mockGossipSubNetwork && getMockPubSubP2PServiceFactory(mockGossipSubNetwork),
312
+ rpcTxProviders: [
313
+ aztecNodeService
314
+ ]
378
315
  };
379
- proverNode = await createAndSyncProverNode(proverNodePrivateKeyHex, config, proverNodeConfig, aztecNodeService, prefilledPublicData);
316
+ ({ proverNode } = await createAndSyncProverNode(proverNodePrivateKeyHex, config, {
317
+ ...config.proverNodeConfig,
318
+ dataDirectory: proverNodeDataDirectory
319
+ }, {
320
+ dateProvider,
321
+ p2pClientDeps,
322
+ telemetry: telemetryClient
323
+ }, {
324
+ prefilledPublicData
325
+ }));
380
326
  }
327
+ const sequencerDelayer = sequencerClient?.getDelayer();
328
+ const proverDelayer = proverNode?.getProverNode()?.getDelayer();
381
329
  logger.verbose('Creating a pxe...');
382
330
  const pxeConfig = {
383
331
  ...getPXEConfig(),
@@ -386,7 +334,12 @@ export const getPrivateKeyFromIndex = (index)=>{
386
334
  pxeConfig.dataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
387
335
  // For tests we only want proving enabled if specifically requested
388
336
  pxeConfig.proverEnabled = !!pxeOpts.proverEnabled;
389
- const wallet = await TestWallet.create(aztecNodeService, pxeConfig);
337
+ const wallet = await TestWallet.create(aztecNodeService, pxeConfig, {
338
+ loggerActorLabel: 'pxe-0'
339
+ });
340
+ if (opts.walletMinFeePadding !== undefined) {
341
+ wallet.setMinFeePadding(opts.walletMinFeePadding);
342
+ }
390
343
  const cheatCodes = await CheatCodes.create(config.l1RpcUrls, aztecNodeService, dateProvider);
391
344
  if (opts.aztecTargetCommitteeSize && opts.aztecTargetCommitteeSize > 0 || opts.initialValidators && opts.initialValidators.length > 0) {
392
345
  // We need to advance such that the committee is set up.
@@ -398,7 +351,7 @@ export const getPrivateKeyFromIndex = (index)=>{
398
351
  if (shouldDeployAccounts) {
399
352
  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
353
  const accountsData = initialFundedAccounts.slice(0, numberOfAccounts);
401
- const accountManagers = await deployFundedSchnorrAccounts(wallet, aztecNodeService, accountsData);
354
+ const accountManagers = await deployFundedSchnorrAccounts(wallet, accountsData);
402
355
  accounts = accountManagers.map((accountManager)=>accountManager.address);
403
356
  } else if (needsEmptyBlock) {
404
357
  logger.info('No accounts are being deployed, waiting for an empty block 1 to be mined');
@@ -434,7 +387,7 @@ export const getPrivateKeyFromIndex = (index)=>{
434
387
  logger.error(`Error during e2e test teardown`, err);
435
388
  } finally{
436
389
  try {
437
- await telemetryClient?.stop();
390
+ await telemetryClient.stop();
438
391
  } catch (err) {
439
392
  logger.error(`Error during telemetry client stop`, err);
440
393
  }
@@ -456,6 +409,8 @@ export const getPrivateKeyFromIndex = (index)=>{
456
409
  mockGossipSubNetwork,
457
410
  prefilledPublicData,
458
411
  proverNode,
412
+ sequencerDelayer,
413
+ proverDelayer,
459
414
  sequencer: sequencerClient,
460
415
  teardown,
461
416
  telemetryClient,
@@ -516,74 +471,40 @@ export async function waitForProvenChain(node, targetBlock, timeoutSec = 60, int
516
471
  targetBlock ??= await node.getBlockNumber();
517
472
  await retryUntil(async ()=>await node.getProvenBlockNumber() >= targetBlock, 'proven chain status', timeoutSec, intervalSec);
518
473
  }
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: [
474
+ /**
475
+ * Creates an AztecNodeService with the prover node enabled as a subsystem.
476
+ * Returns both the aztec node service (for lifecycle management) and the prover node (for test internals access).
477
+ */ export function createAndSyncProverNode(proverNodePrivateKey, baseConfig, configOverrides, deps, options) {
478
+ return withLoggerBindings({
479
+ actor: 'prover-0'
480
+ }, async ()=>{
481
+ const proverNode = await AztecNodeService.createAndSync({
482
+ ...baseConfig,
483
+ ...configOverrides,
484
+ p2pPort: 0,
485
+ enableProverNode: true,
486
+ disableValidator: true,
487
+ proverPublisherPrivateKeys: [
543
488
  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
489
+ ]
490
+ }, deps, {
491
+ ...options,
492
+ dontStartProverNode: options.dontStart
565
493
  });
566
- getLogger().info(`Created and synced prover node`, {
567
- publisherAddress: l1TxUtils.client.account.address
568
- });
569
- if (!proverNodeConfig.dontStart) {
570
- await proverNode.start();
494
+ if (!proverNode.getProverNode()) {
495
+ throw new Error('Prover node subsystem was not created despite enableProverNode being set');
571
496
  }
572
- return proverNode;
497
+ getLogger().info(`Created and synced prover node`);
498
+ return {
499
+ proverNode
500
+ };
573
501
  });
574
502
  }
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) {
503
+ export function getBalancesFn(symbol, method, logger) {
583
504
  const balances = async (...addressLikes)=>{
584
505
  const addresses = addressLikes.map((addressLike)=>'address' in addressLike ? addressLike.address : addressLike);
585
506
  const b = await Promise.all(addresses.map((address)=>method(address).simulate({
586
- from
507
+ from: address
587
508
  })));
588
509
  const debugString = `${symbol} balances: ${addresses.map((address, i)=>`${address}: ${b[i]}`).join(', ')}`;
589
510
  logger.verbose(debugString);
@@ -617,13 +538,13 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
617
538
  if (!(await wallet.getContractClassMetadata(contractClass.id)).isContractClassPubliclyRegistered) {
618
539
  await (await publishContractClass(wallet, SchnorrAccountContractArtifact)).send({
619
540
  from: accountsToDeploy[0]
620
- }).wait();
541
+ });
621
542
  }
622
543
  const requests = instances.map((instance)=>publishInstance(wallet, instance));
623
544
  const batch = new BatchCall(wallet, requests);
624
545
  await batch.send({
625
546
  from: accountsToDeploy[0]
626
- }).wait();
547
+ });
627
548
  }
628
549
  /**
629
550
  * Helper function to deploy accounts.
@@ -641,7 +562,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
641
562
  await deployMethod.send({
642
563
  from: AztecAddress.ZERO,
643
564
  skipClassPublication: i !== 0
644
- }).wait();
565
+ });
645
566
  }
646
567
  return {
647
568
  deployedAccounts
@@ -663,7 +584,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
663
584
  const batch = new BatchCall(wallet, calls);
664
585
  const txReceipt = await batch.send({
665
586
  from: accountsToDeploy[0]
666
- }).wait();
587
+ });
667
588
  if (waitUntilProven) {
668
589
  if (!node) {
669
590
  throw new Error('Need to provide an AztecNode to wait for proven.');
@@ -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
6
  import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
8
- import { AsyncLocalStorage } from 'node:async_hooks';
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
11
  }, 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 & {
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[], prefilledPublicData?: PublicDataTreeLeaf[], 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, prefilledPublicData?: PublicDataTreeLeaf[], 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
+ }, prefilledPublicData?: PublicDataTreeLeaf[], 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfcDJwX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cF9wMnBfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFXOUQsZUFBTyxNQUFNLGlDQUFpQyxJQUFJLENBQUM7QUFPbkQsd0JBQWdCLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sR0FBRyxLQUFLLE1BQU0sRUFBRSxFQUFFLENBTzdGO0FBRUQsd0JBQXNCLFdBQVcsQ0FDL0IsTUFBTSxFQUFFLGVBQWUsR0FBRztJQUFFLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQUUsRUFDMUQsWUFBWSxFQUFFLFlBQVksRUFDMUIsZ0JBQWdCLEVBQUUsTUFBTSxFQUN4QixRQUFRLEVBQUUsTUFBTSxFQUNoQixZQUFZLEVBQUUsTUFBTSxFQUNwQixtQkFBbUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLEVBQzFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFDdEIsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUNwQixXQUFXLFNBQUksRUFDZixpQkFBaUIsU0FBSSxHQUNwQixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQW1DN0I7QUFFRCx3RUFBd0U7QUFDeEUsTUFBTSxNQUFNLGdCQUFnQixHQUFHLGVBQWUsR0FBRztJQUMvQyw4Q0FBOEM7SUFDOUMsa0JBQWtCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0Isd0VBQXdFO0lBQ3hFLG1CQUFtQixDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztDQUNyQyxDQUFDO0FBRUYsNkVBQTZFO0FBQzdFLHdCQUFzQixVQUFVLENBQzlCLE1BQU0sRUFBRSxnQkFBZ0IsRUFDeEIsWUFBWSxFQUFFLFlBQVksRUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDakMsWUFBWSxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBQUUsRUFDL0IsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sNkJBWXJCO0FBRUQsK0VBQStFO0FBQy9FLHdCQUFzQixzQkFBc0IsQ0FDMUMsVUFBVSxFQUFFLGVBQWUsRUFDM0IsWUFBWSxFQUFFLFlBQVksRUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDakMsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sNkJBY3JCO0FBRUQsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsZUFBZSxFQUN2QixPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUNqQyxZQUFZLEVBQUUsTUFBTSxFQUNwQixJQUFJLEVBQUU7SUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFBO0NBQUUsRUFDcEMsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sR0FDbkIsT0FBTyxDQUFDO0lBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFBO0NBQUUsQ0FBQyxDQWdCM0M7QUFFRCx3QkFBc0IsZUFBZSxDQUNuQyxNQUFNLEVBQUUsZUFBZSxFQUN2QixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sRUFDekIsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUNiLGFBQWEsQ0FBQyxFQUFFLE1BQU0sNEJBZ0J2QjtBQUVELHdCQUFzQixxQkFBcUIsQ0FDekMsTUFBTSxFQUFFLGdCQUFnQixFQUN4QixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sRUFDekIsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUNiLFlBQVksR0FBRSxNQUFNLEdBQUcsTUFBTSxFQUFNLEVBQ25DLGFBQWEsQ0FBQyxFQUFFLE1BQU0sNEJBb0J2QiJ9
@@ -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,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAW9D,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,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,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,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,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,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,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,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,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"}