@aztec/end-to-end 0.0.1-commit.3469e52 → 0.0.1-commit.381b1a9

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 (202) 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 +46 -24
  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 +13 -8
  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 +27 -18
  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 +87 -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 +24 -17
  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.js +4 -6
  29. package/dest/e2e_p2p/p2p_network.d.ts +2 -2
  30. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  31. package/dest/e2e_p2p/p2p_network.js +23 -6
  32. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  33. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  34. package/dest/e2e_p2p/reqresp/utils.js +177 -0
  35. package/dest/e2e_p2p/shared.d.ts +6 -6
  36. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  37. package/dest/e2e_p2p/shared.js +14 -17
  38. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
  39. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  40. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
  41. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
  42. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
  43. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
  44. package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
  45. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  46. package/dest/e2e_token_contract/token_contract_test.js +20 -10
  47. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  48. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  49. package/dest/fixtures/authwit_proxy.js +30 -0
  50. package/dest/fixtures/e2e_prover_test.d.ts +4 -4
  51. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  52. package/dest/fixtures/e2e_prover_test.js +41 -45
  53. package/dest/fixtures/fixtures.d.ts +5 -1
  54. package/dest/fixtures/fixtures.d.ts.map +1 -1
  55. package/dest/fixtures/fixtures.js +6 -0
  56. package/dest/fixtures/ha_setup.d.ts +71 -0
  57. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  58. package/dest/fixtures/ha_setup.js +116 -0
  59. package/dest/fixtures/index.d.ts +2 -1
  60. package/dest/fixtures/index.d.ts.map +1 -1
  61. package/dest/fixtures/index.js +1 -0
  62. package/dest/fixtures/setup.d.ts +48 -26
  63. package/dest/fixtures/setup.d.ts.map +1 -1
  64. package/dest/fixtures/setup.js +91 -169
  65. package/dest/fixtures/setup_p2p_test.d.ts +16 -9
  66. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  67. package/dest/fixtures/setup_p2p_test.js +40 -29
  68. package/dest/fixtures/token_utils.d.ts +1 -1
  69. package/dest/fixtures/token_utils.d.ts.map +1 -1
  70. package/dest/fixtures/token_utils.js +9 -6
  71. package/dest/shared/cross_chain_test_harness.d.ts +3 -4
  72. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  73. package/dest/shared/cross_chain_test_harness.js +24 -24
  74. package/dest/shared/gas_portal_test_harness.js +3 -3
  75. package/dest/shared/index.d.ts +2 -1
  76. package/dest/shared/index.d.ts.map +1 -1
  77. package/dest/shared/index.js +1 -0
  78. package/dest/shared/mock_state_view.d.ts +86 -0
  79. package/dest/shared/mock_state_view.d.ts.map +1 -0
  80. package/dest/shared/mock_state_view.js +186 -0
  81. package/dest/shared/submit-transactions.d.ts +4 -4
  82. package/dest/shared/submit-transactions.d.ts.map +1 -1
  83. package/dest/shared/submit-transactions.js +9 -11
  84. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  85. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  86. package/dest/shared/uniswap_l1_l2.js +27 -28
  87. package/dest/simulators/lending_simulator.d.ts +1 -1
  88. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  89. package/dest/simulators/lending_simulator.js +4 -4
  90. package/dest/simulators/token_simulator.d.ts +1 -1
  91. package/dest/simulators/token_simulator.d.ts.map +1 -1
  92. package/dest/simulators/token_simulator.js +3 -24
  93. package/dest/spartan/setup_test_wallets.d.ts +12 -3
  94. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  95. package/dest/spartan/setup_test_wallets.js +107 -37
  96. package/dest/spartan/tx_metrics.d.ts +38 -2
  97. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  98. package/dest/spartan/tx_metrics.js +178 -4
  99. package/dest/spartan/utils/bot.d.ts +28 -0
  100. package/dest/spartan/utils/bot.d.ts.map +1 -0
  101. package/dest/spartan/utils/bot.js +142 -0
  102. package/dest/spartan/utils/chaos.d.ts +79 -0
  103. package/dest/spartan/utils/chaos.d.ts.map +1 -0
  104. package/dest/spartan/utils/chaos.js +142 -0
  105. package/dest/spartan/utils/clients.d.ts +39 -0
  106. package/dest/spartan/utils/clients.d.ts.map +1 -0
  107. package/dest/spartan/utils/clients.js +90 -0
  108. package/dest/spartan/utils/config.d.ts +39 -0
  109. package/dest/spartan/utils/config.d.ts.map +1 -0
  110. package/dest/spartan/utils/config.js +21 -0
  111. package/dest/spartan/utils/health.d.ts +63 -0
  112. package/dest/spartan/utils/health.d.ts.map +1 -0
  113. package/dest/spartan/utils/health.js +202 -0
  114. package/dest/spartan/utils/helm.d.ts +15 -0
  115. package/dest/spartan/utils/helm.d.ts.map +1 -0
  116. package/dest/spartan/utils/helm.js +47 -0
  117. package/dest/spartan/utils/index.d.ts +10 -0
  118. package/dest/spartan/utils/index.d.ts.map +1 -0
  119. package/dest/spartan/utils/index.js +20 -0
  120. package/dest/spartan/utils/k8s.d.ts +128 -0
  121. package/dest/spartan/utils/k8s.d.ts.map +1 -0
  122. package/dest/spartan/utils/k8s.js +381 -0
  123. package/dest/spartan/utils/nodes.d.ts +41 -0
  124. package/dest/spartan/utils/nodes.d.ts.map +1 -0
  125. package/dest/spartan/utils/nodes.js +461 -0
  126. package/dest/spartan/utils/scripts.d.ts +30 -0
  127. package/dest/spartan/utils/scripts.d.ts.map +1 -0
  128. package/dest/spartan/utils/scripts.js +81 -0
  129. package/dest/spartan/utils.d.ts +2 -260
  130. package/dest/spartan/utils.d.ts.map +1 -1
  131. package/dest/spartan/utils.js +1 -942
  132. package/dest/test-wallet/test_wallet.d.ts +83 -0
  133. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  134. package/dest/test-wallet/test_wallet.js +214 -0
  135. package/dest/test-wallet/utils.d.ts +41 -0
  136. package/dest/test-wallet/utils.d.ts.map +1 -0
  137. package/dest/test-wallet/utils.js +71 -0
  138. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  139. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  140. package/dest/test-wallet/wallet_worker_script.js +48 -0
  141. package/dest/test-wallet/worker_wallet.d.ts +52 -0
  142. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  143. package/dest/test-wallet/worker_wallet.js +151 -0
  144. package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
  145. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  146. package/dest/test-wallet/worker_wallet_schema.js +10 -0
  147. package/package.json +43 -39
  148. package/src/bench/client_flows/client_flows_benchmark.ts +48 -58
  149. package/src/bench/client_flows/config.ts +9 -1
  150. package/src/bench/utils.ts +15 -8
  151. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +33 -23
  152. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
  153. package/src/e2e_deploy_contract/deploy_test.ts +3 -3
  154. package/src/e2e_epochs/epochs_test.ts +130 -93
  155. package/src/e2e_fees/bridging_race.notest.ts +2 -5
  156. package/src/e2e_fees/fees_test.ts +28 -40
  157. package/src/e2e_l1_publisher/write_json.ts +3 -8
  158. package/src/e2e_nested_contract/nested_contract_test.ts +7 -7
  159. package/src/e2e_p2p/inactivity_slash_test.ts +4 -4
  160. package/src/e2e_p2p/p2p_network.ts +46 -17
  161. package/src/e2e_p2p/reqresp/utils.ts +235 -0
  162. package/src/e2e_p2p/shared.ts +22 -22
  163. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  164. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  165. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  166. package/src/e2e_token_contract/token_contract_test.ts +27 -12
  167. package/src/fixtures/authwit_proxy.ts +50 -0
  168. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  169. package/src/fixtures/e2e_prover_test.ts +43 -52
  170. package/src/fixtures/fixtures.ts +10 -0
  171. package/src/fixtures/ha_setup.ts +186 -0
  172. package/src/fixtures/index.ts +1 -0
  173. package/src/fixtures/setup.ts +125 -233
  174. package/src/fixtures/setup_p2p_test.ts +40 -44
  175. package/src/fixtures/token_utils.ts +9 -6
  176. package/src/guides/up_quick_start.sh +3 -3
  177. package/src/shared/cross_chain_test_harness.ts +24 -34
  178. package/src/shared/gas_portal_test_harness.ts +2 -2
  179. package/src/shared/index.ts +1 -0
  180. package/src/shared/mock_state_view.ts +188 -0
  181. package/src/shared/submit-transactions.ts +11 -16
  182. package/src/shared/uniswap_l1_l2.ts +49 -51
  183. package/src/simulators/lending_simulator.ts +6 -4
  184. package/src/simulators/token_simulator.ts +6 -30
  185. package/src/spartan/setup_test_wallets.ts +150 -25
  186. package/src/spartan/tx_metrics.ts +152 -7
  187. package/src/spartan/utils/bot.ts +188 -0
  188. package/src/spartan/utils/chaos.ts +253 -0
  189. package/src/spartan/utils/clients.ts +100 -0
  190. package/src/spartan/utils/config.ts +27 -0
  191. package/src/spartan/utils/health.ts +255 -0
  192. package/src/spartan/utils/helm.ts +84 -0
  193. package/src/spartan/utils/index.ts +68 -0
  194. package/src/spartan/utils/k8s.ts +535 -0
  195. package/src/spartan/utils/nodes.ts +538 -0
  196. package/src/spartan/utils/scripts.ts +99 -0
  197. package/src/spartan/utils.ts +1 -1246
  198. package/src/test-wallet/test_wallet.ts +306 -0
  199. package/src/test-wallet/utils.ts +112 -0
  200. package/src/test-wallet/wallet_worker_script.ts +60 -0
  201. package/src/test-wallet/worker_wallet.ts +213 -0
  202. 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,11 @@ 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),
151
+ slotsInAnEpoch: opts.anvilSlotsInAnEpoch
212
152
  });
213
153
  anvil = res.anvil;
214
154
  config.l1RpcUrls = [
@@ -236,8 +176,8 @@ export const getPrivateKeyFromIndex = (index)=>{
236
176
  if (opts.l1PublisherKey && opts.l1PublisherKey.getValue() && opts.l1PublisherKey.getValue() != NULL_KEY) {
237
177
  publisherPrivKeyHex = opts.l1PublisherKey.getValue();
238
178
  publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
239
- } else if (config.publisherPrivateKeys && config.publisherPrivateKeys.length > 0 && config.publisherPrivateKeys[0].getValue() != NULL_KEY) {
240
- publisherPrivKeyHex = config.publisherPrivateKeys[0].getValue();
179
+ } else if (config.sequencerPublisherPrivateKeys && config.sequencerPublisherPrivateKeys.length > 0 && config.sequencerPublisherPrivateKeys[0].getValue() != NULL_KEY) {
180
+ publisherPrivKeyHex = config.sequencerPublisherPrivateKeys[0].getValue();
241
181
  publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
242
182
  } else if (!MNEMONIC) {
243
183
  throw new Error(`Mnemonic not provided and no publisher private key`);
@@ -248,17 +188,13 @@ export const getPrivateKeyFromIndex = (index)=>{
248
188
  const publisherPrivKeyRaw = publisherHdAccount.getHdKey().privateKey;
249
189
  const publisherPrivKey = publisherPrivKeyRaw === null ? null : Buffer.from(publisherPrivKeyRaw);
250
190
  publisherPrivKeyHex = `0x${publisherPrivKey.toString('hex')}`;
251
- config.publisherPrivateKeys = [
191
+ config.sequencerPublisherPrivateKeys = [
252
192
  new SecretValue(publisherPrivKeyHex)
253
193
  ];
254
194
  }
255
195
  if (config.coinbase === undefined) {
256
196
  config.coinbase = EthAddress.fromString(publisherHdAccount.address);
257
197
  }
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
198
  // Determine which addresses to fund in genesis
263
199
  const initialFundedAccounts = opts.initialFundedAccounts ?? await generateSchnorrAccounts(opts.numberOfInitialFundedAccounts ?? Math.max(numberOfAccounts, 10));
264
200
  const addressesToFund = initialFundedAccounts.map((a)=>a.address);
@@ -297,8 +233,12 @@ export const getPrivateKeyFromIndex = (index)=>{
297
233
  if (enableAutomine) {
298
234
  await ethCheatCodes.setAutomine(false);
299
235
  await ethCheatCodes.setIntervalMining(config.ethereumSlotDuration);
300
- dateProvider.setTime(await ethCheatCodes.timestamp() * 1000);
301
236
  }
237
+ // Always sync dateProvider to L1 time after deploying L1 contracts, regardless of mining mode.
238
+ // In compose mode, L1 time may have drifted ahead of system time due to the local-network watcher
239
+ // warping time forward on each filled slot. Without this sync, the sequencer computes the wrong
240
+ // slot from its dateProvider and cannot propose blocks.
241
+ dateProvider.setTime(await ethCheatCodes.timestamp() * 1000);
302
242
  if (opts.l2StartTime) {
303
243
  await ethCheatCodes.warp(opts.l2StartTime, {
304
244
  resetBlockInterval: true
@@ -352,32 +292,41 @@ export const getPrivateKeyFromIndex = (index)=>{
352
292
  ]);
353
293
  }
354
294
  }
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
- });
295
+ const aztecNodeService = await withLoggerBindings({
296
+ actor: 'node-0'
297
+ }, ()=>AztecNodeService.createAndSync(config, {
298
+ dateProvider,
299
+ telemetry: telemetryClient,
300
+ p2pClientDeps
301
+ }, {
302
+ prefilledPublicData
303
+ }));
363
304
  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
305
  let proverNode = undefined;
369
306
  if (opts.startProverNode) {
370
307
  logger.verbose('Creating and syncing a simulated prover node...');
371
308
  const proverNodePrivateKey = getPrivateKeyFromIndex(2);
372
309
  const proverNodePrivateKeyHex = `0x${proverNodePrivateKey.toString('hex')}`;
373
310
  const proverNodeDataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
374
- const proverNodeConfig = {
375
- ...config.proverNodeConfig,
376
- dataDirectory: proverNodeDataDirectory,
377
- p2pEnabled: false
311
+ const p2pClientDeps = {
312
+ p2pServiceFactory: mockGossipSubNetwork && getMockPubSubP2PServiceFactory(mockGossipSubNetwork),
313
+ rpcTxProviders: [
314
+ aztecNodeService
315
+ ]
378
316
  };
379
- proverNode = await createAndSyncProverNode(proverNodePrivateKeyHex, config, proverNodeConfig, aztecNodeService, prefilledPublicData);
317
+ ({ proverNode } = await createAndSyncProverNode(proverNodePrivateKeyHex, config, {
318
+ ...config.proverNodeConfig,
319
+ dataDirectory: proverNodeDataDirectory
320
+ }, {
321
+ dateProvider,
322
+ p2pClientDeps,
323
+ telemetry: telemetryClient
324
+ }, {
325
+ prefilledPublicData
326
+ }));
380
327
  }
328
+ const sequencerDelayer = sequencerClient?.getDelayer();
329
+ const proverDelayer = proverNode?.getProverNode()?.getDelayer();
381
330
  logger.verbose('Creating a pxe...');
382
331
  const pxeConfig = {
383
332
  ...getPXEConfig(),
@@ -386,7 +335,12 @@ export const getPrivateKeyFromIndex = (index)=>{
386
335
  pxeConfig.dataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
387
336
  // For tests we only want proving enabled if specifically requested
388
337
  pxeConfig.proverEnabled = !!pxeOpts.proverEnabled;
389
- const wallet = await TestWallet.create(aztecNodeService, pxeConfig);
338
+ const wallet = await TestWallet.create(aztecNodeService, pxeConfig, {
339
+ loggerActorLabel: 'pxe-0'
340
+ });
341
+ if (opts.walletMinFeePadding !== undefined) {
342
+ wallet.setMinFeePadding(opts.walletMinFeePadding);
343
+ }
390
344
  const cheatCodes = await CheatCodes.create(config.l1RpcUrls, aztecNodeService, dateProvider);
391
345
  if (opts.aztecTargetCommitteeSize && opts.aztecTargetCommitteeSize > 0 || opts.initialValidators && opts.initialValidators.length > 0) {
392
346
  // We need to advance such that the committee is set up.
@@ -398,7 +352,7 @@ export const getPrivateKeyFromIndex = (index)=>{
398
352
  if (shouldDeployAccounts) {
399
353
  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
354
  const accountsData = initialFundedAccounts.slice(0, numberOfAccounts);
401
- const accountManagers = await deployFundedSchnorrAccounts(wallet, aztecNodeService, accountsData);
355
+ const accountManagers = await deployFundedSchnorrAccounts(wallet, accountsData);
402
356
  accounts = accountManagers.map((accountManager)=>accountManager.address);
403
357
  } else if (needsEmptyBlock) {
404
358
  logger.info('No accounts are being deployed, waiting for an empty block 1 to be mined');
@@ -434,7 +388,7 @@ export const getPrivateKeyFromIndex = (index)=>{
434
388
  logger.error(`Error during e2e test teardown`, err);
435
389
  } finally{
436
390
  try {
437
- await telemetryClient?.stop();
391
+ await telemetryClient.stop();
438
392
  } catch (err) {
439
393
  logger.error(`Error during telemetry client stop`, err);
440
394
  }
@@ -456,6 +410,8 @@ export const getPrivateKeyFromIndex = (index)=>{
456
410
  mockGossipSubNetwork,
457
411
  prefilledPublicData,
458
412
  proverNode,
413
+ sequencerDelayer,
414
+ proverDelayer,
459
415
  sequencer: sequencerClient,
460
416
  teardown,
461
417
  telemetryClient,
@@ -516,75 +472,41 @@ export async function waitForProvenChain(node, targetBlock, timeoutSec = 60, int
516
472
  targetBlock ??= await node.getBlockNumber();
517
473
  await retryUntil(async ()=>await node.getProvenBlockNumber() >= targetBlock, 'proven chain status', timeoutSec, intervalSec);
518
474
  }
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: [
475
+ /**
476
+ * Creates an AztecNodeService with the prover node enabled as a subsystem.
477
+ * Returns both the aztec node service (for lifecycle management) and the prover node (for test internals access).
478
+ */ export function createAndSyncProverNode(proverNodePrivateKey, baseConfig, configOverrides, deps, options) {
479
+ return withLoggerBindings({
480
+ actor: 'prover-0'
481
+ }, async ()=>{
482
+ const proverNode = await AztecNodeService.createAndSync({
483
+ ...baseConfig,
484
+ ...configOverrides,
485
+ p2pPort: 0,
486
+ enableProverNode: true,
487
+ disableValidator: true,
488
+ proverPublisherPrivateKeys: [
543
489
  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
490
+ ]
491
+ }, deps, {
492
+ ...options,
493
+ dontStartProverNode: options.dontStart
565
494
  });
566
- getLogger().info(`Created and synced prover node`, {
567
- publisherAddress: l1TxUtils.client.account.address
568
- });
569
- if (!proverNodeConfig.dontStart) {
570
- await proverNode.start();
495
+ if (!proverNode.getProverNode()) {
496
+ throw new Error('Prover node subsystem was not created despite enableProverNode being set');
571
497
  }
572
- return proverNode;
498
+ getLogger().info(`Created and synced prover node`);
499
+ return {
500
+ proverNode
501
+ };
573
502
  });
574
503
  }
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) {
504
+ export function getBalancesFn(symbol, method, logger) {
583
505
  const balances = async (...addressLikes)=>{
584
506
  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
- })));
507
+ const b = await Promise.all(addresses.map(async (address)=>(await method(address).simulate({
508
+ from: address
509
+ })).result));
588
510
  const debugString = `${symbol} balances: ${addresses.map((address, i)=>`${address}: ${b[i]}`).join(', ')}`;
589
511
  logger.verbose(debugString);
590
512
  return b;
@@ -617,13 +539,13 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
617
539
  if (!(await wallet.getContractClassMetadata(contractClass.id)).isContractClassPubliclyRegistered) {
618
540
  await (await publishContractClass(wallet, SchnorrAccountContractArtifact)).send({
619
541
  from: accountsToDeploy[0]
620
- }).wait();
542
+ });
621
543
  }
622
544
  const requests = instances.map((instance)=>publishInstance(wallet, instance));
623
545
  const batch = new BatchCall(wallet, requests);
624
546
  await batch.send({
625
547
  from: accountsToDeploy[0]
626
- }).wait();
548
+ });
627
549
  }
628
550
  /**
629
551
  * Helper function to deploy accounts.
@@ -641,7 +563,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
641
563
  await deployMethod.send({
642
564
  from: AztecAddress.ZERO,
643
565
  skipClassPublication: i !== 0
644
- }).wait();
566
+ });
645
567
  }
646
568
  return {
647
569
  deployedAccounts
@@ -661,9 +583,9 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
661
583
  ...instances.map((instance)=>publishInstance(wallet, instance))
662
584
  ]);
663
585
  const batch = new BatchCall(wallet, calls);
664
- const txReceipt = await batch.send({
586
+ const { receipt: txReceipt } = await batch.send({
665
587
  from: accountsToDeploy[0]
666
- }).wait();
588
+ });
667
589
  if (waitUntilProven) {
668
590
  if (!node) {
669
591
  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"}