@aztec/end-to-end 0.0.1-commit.e3c1de76 → 0.0.1-commit.e588bc7e5

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 (192) 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 +21 -28
  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 +1 -1
  8. package/dest/bench/utils.d.ts.map +1 -1
  9. package/dest/bench/utils.js +6 -3
  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 +22 -12
  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 +11 -7
  19. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  20. package/dest/e2e_epochs/epochs_test.js +62 -34
  21. package/dest/e2e_fees/fees_test.d.ts +2 -2
  22. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  23. package/dest/e2e_fees/fees_test.js +18 -11
  24. package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
  25. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  26. package/dest/e2e_nested_contract/nested_contract_test.js +4 -6
  27. package/dest/e2e_p2p/inactivity_slash_test.js +1 -1
  28. package/dest/e2e_p2p/p2p_network.d.ts +5 -4
  29. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  30. package/dest/e2e_p2p/p2p_network.js +24 -7
  31. package/dest/e2e_p2p/reqresp/utils.d.ts +3 -3
  32. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -1
  33. package/dest/e2e_p2p/reqresp/utils.js +45 -8
  34. package/dest/e2e_p2p/shared.d.ts +22 -2
  35. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  36. package/dest/e2e_p2p/shared.js +38 -3
  37. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
  38. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  39. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
  40. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
  41. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
  42. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
  43. package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
  44. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  45. package/dest/e2e_token_contract/token_contract_test.js +19 -9
  46. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  47. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  48. package/dest/fixtures/authwit_proxy.js +30 -0
  49. package/dest/fixtures/e2e_prover_test.d.ts +7 -6
  50. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  51. package/dest/fixtures/e2e_prover_test.js +36 -48
  52. package/dest/fixtures/elu_monitor.d.ts +21 -0
  53. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  54. package/dest/fixtures/elu_monitor.js +102 -0
  55. package/dest/fixtures/fixtures.d.ts +5 -1
  56. package/dest/fixtures/fixtures.d.ts.map +1 -1
  57. package/dest/fixtures/fixtures.js +6 -0
  58. package/dest/fixtures/get_bb_config.d.ts +1 -1
  59. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  60. package/dest/fixtures/get_bb_config.js +5 -5
  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 +44 -23
  68. package/dest/fixtures/setup.d.ts.map +1 -1
  69. package/dest/fixtures/setup.js +70 -156
  70. package/dest/fixtures/setup_p2p_test.d.ts +15 -7
  71. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  72. package/dest/fixtures/setup_p2p_test.js +18 -12
  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 +5 -7
  76. package/dest/shared/cross_chain_test_harness.d.ts +1 -1
  77. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  78. package/dest/shared/cross_chain_test_harness.js +13 -13
  79. package/dest/shared/gas_portal_test_harness.js +2 -2
  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 +41 -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 +2 -2
  88. package/dest/shared/submit-transactions.d.ts.map +1 -1
  89. package/dest/shared/submit-transactions.js +1 -1
  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 +16 -17
  93. package/dest/simulators/lending_simulator.d.ts +1 -1
  94. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  95. package/dest/simulators/lending_simulator.js +4 -4
  96. package/dest/simulators/token_simulator.d.ts +1 -1
  97. package/dest/simulators/token_simulator.d.ts.map +1 -1
  98. package/dest/simulators/token_simulator.js +3 -24
  99. package/dest/spartan/setup_test_wallets.d.ts +12 -3
  100. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  101. package/dest/spartan/setup_test_wallets.js +110 -18
  102. package/dest/spartan/tx_metrics.js +1 -1
  103. package/dest/spartan/utils/bot.d.ts +3 -2
  104. package/dest/spartan/utils/bot.d.ts.map +1 -1
  105. package/dest/spartan/utils/bot.js +2 -1
  106. package/dest/spartan/utils/config.d.ts +10 -1
  107. package/dest/spartan/utils/config.d.ts.map +1 -1
  108. package/dest/spartan/utils/config.js +4 -1
  109. package/dest/spartan/utils/index.d.ts +5 -3
  110. package/dest/spartan/utils/index.d.ts.map +1 -1
  111. package/dest/spartan/utils/index.js +5 -1
  112. package/dest/spartan/utils/k8s.d.ts +3 -1
  113. package/dest/spartan/utils/k8s.d.ts.map +1 -1
  114. package/dest/spartan/utils/k8s.js +6 -0
  115. package/dest/spartan/utils/nodes.d.ts +4 -5
  116. package/dest/spartan/utils/nodes.d.ts.map +1 -1
  117. package/dest/spartan/utils/nodes.js +9 -9
  118. package/dest/spartan/utils/pod_logs.d.ts +25 -0
  119. package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
  120. package/dest/spartan/utils/pod_logs.js +74 -0
  121. package/dest/spartan/utils/scripts.d.ts +18 -4
  122. package/dest/spartan/utils/scripts.d.ts.map +1 -1
  123. package/dest/spartan/utils/scripts.js +19 -4
  124. package/dest/test-wallet/test_wallet.d.ts +76 -0
  125. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  126. package/dest/test-wallet/test_wallet.js +213 -0
  127. package/dest/test-wallet/utils.d.ts +41 -0
  128. package/dest/test-wallet/utils.d.ts.map +1 -0
  129. package/dest/test-wallet/utils.js +71 -0
  130. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  131. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  132. package/dest/test-wallet/wallet_worker_script.js +48 -0
  133. package/dest/test-wallet/worker_wallet.d.ts +52 -0
  134. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  135. package/dest/test-wallet/worker_wallet.js +151 -0
  136. package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
  137. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  138. package/dest/test-wallet/worker_wallet_schema.js +10 -0
  139. package/package.json +45 -43
  140. package/src/bench/client_flows/client_flows_benchmark.ts +30 -17
  141. package/src/bench/client_flows/config.ts +9 -1
  142. package/src/bench/utils.ts +8 -3
  143. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +28 -15
  144. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
  145. package/src/e2e_deploy_contract/deploy_test.ts +3 -3
  146. package/src/e2e_epochs/epochs_test.ts +83 -61
  147. package/src/e2e_fees/bridging_race.notest.ts +1 -1
  148. package/src/e2e_fees/fees_test.ts +20 -28
  149. package/src/e2e_nested_contract/nested_contract_test.ts +7 -5
  150. package/src/e2e_p2p/inactivity_slash_test.ts +5 -5
  151. package/src/e2e_p2p/p2p_network.ts +36 -10
  152. package/src/e2e_p2p/reqresp/utils.ts +61 -12
  153. package/src/e2e_p2p/shared.ts +58 -3
  154. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  155. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  156. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  157. package/src/e2e_token_contract/token_contract_test.ts +26 -9
  158. package/src/fixtures/authwit_proxy.ts +50 -0
  159. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  160. package/src/fixtures/e2e_prover_test.ts +42 -54
  161. package/src/fixtures/elu_monitor.ts +126 -0
  162. package/src/fixtures/fixtures.ts +10 -0
  163. package/src/fixtures/get_bb_config.ts +7 -6
  164. package/src/fixtures/ha_setup.ts +186 -0
  165. package/src/fixtures/index.ts +1 -0
  166. package/src/fixtures/setup.ts +106 -217
  167. package/src/fixtures/setup_p2p_test.ts +25 -24
  168. package/src/fixtures/token_utils.ts +3 -3
  169. package/src/guides/up_quick_start.sh +3 -3
  170. package/src/shared/cross_chain_test_harness.ts +13 -9
  171. package/src/shared/gas_portal_test_harness.ts +1 -1
  172. package/src/shared/index.ts +1 -0
  173. package/src/shared/jest_setup.ts +51 -1
  174. package/src/shared/mock_state_view.ts +188 -0
  175. package/src/shared/submit-transactions.ts +3 -2
  176. package/src/shared/uniswap_l1_l2.ts +38 -33
  177. package/src/simulators/lending_simulator.ts +8 -4
  178. package/src/simulators/token_simulator.ts +6 -30
  179. package/src/spartan/setup_test_wallets.ts +148 -13
  180. package/src/spartan/tx_metrics.ts +1 -1
  181. package/src/spartan/utils/bot.ts +4 -1
  182. package/src/spartan/utils/config.ts +3 -0
  183. package/src/spartan/utils/index.ts +8 -1
  184. package/src/spartan/utils/k8s.ts +8 -0
  185. package/src/spartan/utils/nodes.ts +15 -10
  186. package/src/spartan/utils/pod_logs.ts +99 -0
  187. package/src/spartan/utils/scripts.ts +43 -7
  188. package/src/test-wallet/test_wallet.ts +301 -0
  189. package/src/test-wallet/utils.ts +112 -0
  190. package/src/test-wallet/wallet_worker_script.ts +60 -0
  191. package/src/test-wallet/worker_wallet.ts +213 -0
  192. package/src/test-wallet/worker_wallet_schema.ts +13 -0
@@ -1,15 +1,13 @@
1
1
  import { SchnorrAccountContractArtifact } from '@aztec/accounts/schnorr';
2
- import { generateSchnorrAccounts, getInitialTestAccountsData } from '@aztec/accounts/testing';
3
- import { createArchiver } from '@aztec/archiver';
2
+ import { generateSchnorrAccounts } from '@aztec/accounts/testing';
4
3
  import { AztecNodeService, getConfigEnvVars } from '@aztec/aztec-node';
5
- import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
4
+ import { NO_FROM } from '@aztec/aztec.js/account';
5
+ import { EthAddress } from '@aztec/aztec.js/addresses';
6
6
  import { BatchCall, getContractClassFromArtifact, waitForProven } from '@aztec/aztec.js/contracts';
7
7
  import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
8
8
  import { Fr } from '@aztec/aztec.js/fields';
9
9
  import { createLogger } from '@aztec/aztec.js/log';
10
- import { createAztecNodeClient, waitForNode } from '@aztec/aztec.js/node';
11
10
  import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
12
- import { createBlobClientWithFileStores } from '@aztec/blob-client/client';
13
11
  import { SPONSORED_FPC_SALT } from '@aztec/constants';
14
12
  import { isAnvilTestChain } from '@aztec/ethereum/chain';
15
13
  import { createExtendedL1Client } from '@aztec/ethereum/client';
@@ -17,7 +15,7 @@ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
17
15
  import { NULL_KEY } from '@aztec/ethereum/constants';
18
16
  import { deployMulticall3 } from '@aztec/ethereum/contracts';
19
17
  import { deployAztecL1Contracts } from '@aztec/ethereum/deploy-aztec-l1-contracts';
20
- import { DelayedTxUtils, EthCheatCodes, EthCheatCodesWithState, createDelayedL1TxUtilsFromViemWallet, startAnvil } from '@aztec/ethereum/test';
18
+ import { EthCheatCodesWithState, startAnvil } from '@aztec/ethereum/test';
21
19
  import { EpochNumber } from '@aztec/foundation/branded-types';
22
20
  import { SecretValue } from '@aztec/foundation/config';
23
21
  import { randomBytes } from '@aztec/foundation/crypto/random';
@@ -25,32 +23,30 @@ import { tryRmDir } from '@aztec/foundation/fs';
25
23
  import { withLoggerBindings } from '@aztec/foundation/log/server';
26
24
  import { retryUntil } from '@aztec/foundation/retry';
27
25
  import { sleep } from '@aztec/foundation/sleep';
28
- import { DateProvider, TestDateProvider } from '@aztec/foundation/timer';
26
+ import { TestDateProvider } from '@aztec/foundation/timer';
29
27
  import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
30
28
  import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
31
29
  import { MockGossipSubNetwork, getMockPubSubP2PServiceFactory } from '@aztec/p2p/test-helpers';
32
30
  import { protocolContractsHash } from '@aztec/protocol-contracts';
33
- import { createProverNode } from '@aztec/prover-node';
34
31
  import { getPXEConfig } from '@aztec/pxe/server';
35
32
  import { getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
36
33
  import { tryStop } from '@aztec/stdlib/interfaces/server';
37
34
  import { getConfigEnvVars as getTelemetryConfig, initTelemetryClient } from '@aztec/telemetry-client';
38
35
  import { BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
39
- import { TestWallet, deployFundedSchnorrAccounts } from '@aztec/test-wallet/server';
36
+ import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
40
37
  import { getGenesisValues } from '@aztec/world-state/testing';
41
38
  import fs from 'fs/promises';
42
39
  import { tmpdir } from 'os';
43
40
  import path from 'path';
44
41
  import { generatePrivateKey, mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
45
42
  import { foundry } from 'viem/chains';
43
+ import { TestWallet } from '../test-wallet/test_wallet.js';
46
44
  import { MNEMONIC, TEST_MAX_PENDING_TX_POOL_COUNT, TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
47
45
  import { getACVMConfig } from './get_acvm_config.js';
48
46
  import { getBBConfig } from './get_bb_config.js';
49
47
  import { isMetricsLoggingRequested, setupMetricsLogger } from './logging.js';
50
48
  import { getEndToEndTestTelemetryClient } from './with_telemetry_utils.js';
51
49
  export { startAnvil };
52
- const { AZTEC_NODE_URL = '' } = process.env;
53
- const getAztecUrl = ()=>AZTEC_NODE_URL;
54
50
  let telemetry = undefined;
55
51
  async function getTelemetryClient(partialConfig = {}) {
56
52
  if (!telemetry) {
@@ -110,65 +106,6 @@ export const getPrivateKeyFromIndex = (index)=>{
110
106
  teardown
111
107
  };
112
108
  }
113
- /**
114
- * Function to setup the test against a remote deployment. It is assumed that L1 contract are already deployed
115
- */ async function setupWithRemoteEnvironment(account, config, logger, numberOfAccounts) {
116
- const aztecNodeUrl = getAztecUrl();
117
- logger.verbose(`Creating Aztec Node client to remote host ${aztecNodeUrl}`);
118
- const aztecNode = createAztecNodeClient(aztecNodeUrl);
119
- await waitForNode(aztecNode, logger);
120
- logger.verbose('JSON RPC client connected to Aztec Node');
121
- logger.verbose(`Retrieving contract addresses from ${aztecNodeUrl}`);
122
- const { l1ContractAddresses, rollupVersion } = await aztecNode.getNodeInfo();
123
- const l1Client = createExtendedL1Client(config.l1RpcUrls, account, foundry);
124
- const deployL1ContractsValues = {
125
- l1ContractAddresses,
126
- l1Client,
127
- rollupVersion
128
- };
129
- const ethCheatCodes = new EthCheatCodes(config.l1RpcUrls, new DateProvider());
130
- const wallet = await TestWallet.create(aztecNode);
131
- if (config.walletMinFeePadding !== undefined) {
132
- wallet.setMinFeePadding(config.walletMinFeePadding);
133
- }
134
- const cheatCodes = await CheatCodes.create(config.l1RpcUrls, aztecNode, new DateProvider());
135
- const teardown = ()=>Promise.resolve();
136
- logger.verbose('Populating wallet from already registered accounts...');
137
- const initialFundedAccounts = await getInitialTestAccountsData();
138
- if (initialFundedAccounts.length < numberOfAccounts) {
139
- throw new Error(`Required ${numberOfAccounts} accounts. Found ${initialFundedAccounts.length}.`);
140
- }
141
- const testAccounts = await Promise.all(initialFundedAccounts.slice(0, numberOfAccounts).map(async (account)=>{
142
- const accountManager = await wallet.createSchnorrAccount(account.secret, account.salt, account.signingKey);
143
- return accountManager.address;
144
- }));
145
- return {
146
- anvil: undefined,
147
- aztecNode,
148
- aztecNodeService: undefined,
149
- aztecNodeAdmin: undefined,
150
- sequencer: undefined,
151
- proverNode: undefined,
152
- deployL1ContractsValues,
153
- config,
154
- aztecNodeConfig: config,
155
- initialFundedAccounts,
156
- wallet,
157
- accounts: testAccounts,
158
- logger,
159
- cheatCodes,
160
- ethCheatCodes,
161
- prefilledPublicData: undefined,
162
- mockGossipSubNetwork: undefined,
163
- watcher: undefined,
164
- dateProvider: undefined,
165
- telemetryClient: undefined,
166
- acvmConfig: undefined,
167
- bbConfig: undefined,
168
- directoryToCleanup: undefined,
169
- teardown
170
- };
171
- }
172
109
  /**
173
110
  * Sets up the environment for the end-to-end tests.
174
111
  * @param numberOfAccounts - The number of new accounts to be created once the PXE is initiated.
@@ -191,7 +128,10 @@ export const getPrivateKeyFromIndex = (index)=>{
191
128
  config.realProofs = !!opts.realProofs;
192
129
  // Only enforce the time table if requested
193
130
  config.enforceTimeTable = !!opts.enforceTimeTable;
131
+ // Enable the tx delayer for tests (default config has it disabled, so we force-enable it here)
132
+ config.enableDelayer = true;
194
133
  config.listenAddress = '127.0.0.1';
134
+ config.minTxPoolAgeMs = opts.minTxPoolAgeMs ?? 0;
195
135
  const logger = getLogger();
196
136
  // Create a temp directory for any services that need it and cleanup later
197
137
  const directoryToCleanup = path.join(tmpdir(), randomBytes(8).toString('hex'));
@@ -201,17 +141,17 @@ export const getPrivateKeyFromIndex = (index)=>{
201
141
  if (!config.dataDirectory) {
202
142
  config.dataDirectory = directoryToCleanup;
203
143
  }
144
+ const dateProvider = new TestDateProvider();
204
145
  if (!config.l1RpcUrls?.length) {
205
146
  if (!isAnvilTestChain(chain.id)) {
206
147
  throw new Error(`No ETHEREUM_HOSTS set but non anvil chain requested`);
207
148
  }
208
- if (AZTEC_NODE_URL) {
209
- 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`);
210
- }
211
149
  const res = await startAnvil({
212
150
  l1BlockTime: opts.ethereumSlotDuration,
213
151
  accounts: opts.anvilAccounts,
214
- port: opts.anvilPort ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : undefined)
152
+ port: opts.anvilPort ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : undefined),
153
+ slotsInAnEpoch: opts.anvilSlotsInAnEpoch,
154
+ dateProvider
215
155
  });
216
156
  anvil = res.anvil;
217
157
  config.l1RpcUrls = [
@@ -224,7 +164,6 @@ export const getPrivateKeyFromIndex = (index)=>{
224
164
  logger.info(`Logging metrics to ${filename}`);
225
165
  setupMetricsLogger(filename);
226
166
  }
227
- const dateProvider = new TestDateProvider();
228
167
  const ethCheatCodes = new EthCheatCodesWithState(config.l1RpcUrls, dateProvider);
229
168
  if (opts.stateLoad) {
230
169
  await ethCheatCodes.loadChainState(opts.stateLoad);
@@ -239,8 +178,8 @@ export const getPrivateKeyFromIndex = (index)=>{
239
178
  if (opts.l1PublisherKey && opts.l1PublisherKey.getValue() && opts.l1PublisherKey.getValue() != NULL_KEY) {
240
179
  publisherPrivKeyHex = opts.l1PublisherKey.getValue();
241
180
  publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
242
- } else if (config.publisherPrivateKeys && config.publisherPrivateKeys.length > 0 && config.publisherPrivateKeys[0].getValue() != NULL_KEY) {
243
- publisherPrivKeyHex = config.publisherPrivateKeys[0].getValue();
181
+ } else if (config.sequencerPublisherPrivateKeys && config.sequencerPublisherPrivateKeys.length > 0 && config.sequencerPublisherPrivateKeys[0].getValue() != NULL_KEY) {
182
+ publisherPrivKeyHex = config.sequencerPublisherPrivateKeys[0].getValue();
244
183
  publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
245
184
  } else if (!MNEMONIC) {
246
185
  throw new Error(`Mnemonic not provided and no publisher private key`);
@@ -251,17 +190,13 @@ export const getPrivateKeyFromIndex = (index)=>{
251
190
  const publisherPrivKeyRaw = publisherHdAccount.getHdKey().privateKey;
252
191
  const publisherPrivKey = publisherPrivKeyRaw === null ? null : Buffer.from(publisherPrivKeyRaw);
253
192
  publisherPrivKeyHex = `0x${publisherPrivKey.toString('hex')}`;
254
- config.publisherPrivateKeys = [
193
+ config.sequencerPublisherPrivateKeys = [
255
194
  new SecretValue(publisherPrivKeyHex)
256
195
  ];
257
196
  }
258
197
  if (config.coinbase === undefined) {
259
198
  config.coinbase = EthAddress.fromString(publisherHdAccount.address);
260
199
  }
261
- if (AZTEC_NODE_URL) {
262
- // we are setting up against a remote environment, l1 contracts are assumed to already be deployed
263
- return await setupWithRemoteEnvironment(publisherHdAccount, config, logger, numberOfAccounts);
264
- }
265
200
  // Determine which addresses to fund in genesis
266
201
  const initialFundedAccounts = opts.initialFundedAccounts ?? await generateSchnorrAccounts(opts.numberOfInitialFundedAccounts ?? Math.max(numberOfAccounts, 10));
267
202
  const addressesToFund = initialFundedAccounts.map((a)=>a.address);
@@ -300,7 +235,12 @@ export const getPrivateKeyFromIndex = (index)=>{
300
235
  if (enableAutomine) {
301
236
  await ethCheatCodes.setAutomine(false);
302
237
  await ethCheatCodes.setIntervalMining(config.ethereumSlotDuration);
303
- dateProvider.setTime(await ethCheatCodes.timestamp() * 1000);
238
+ }
239
+ // In compose mode (no local anvil), sync dateProvider to L1 time since it may have drifted
240
+ // ahead of system time due to the local-network watcher warping time forward on each filled slot.
241
+ // When running with a local anvil, the dateProvider is kept in sync via the stdout listener.
242
+ if (!anvil) {
243
+ dateProvider.setTime(await ethCheatCodes.lastBlockTimestamp() * 1000);
304
244
  }
305
245
  if (opts.l2StartTime) {
306
246
  await ethCheatCodes.warp(opts.l2StartTime, {
@@ -365,23 +305,31 @@ export const getPrivateKeyFromIndex = (index)=>{
365
305
  prefilledPublicData
366
306
  }));
367
307
  const sequencerClient = aztecNodeService.getSequencer();
368
- if (sequencerClient) {
369
- const publisher = sequencerClient.sequencer.publisher;
370
- publisher.l1TxUtils = DelayedTxUtils.fromL1TxUtils(publisher.l1TxUtils, config.ethereumSlotDuration, l1Client);
371
- }
372
308
  let proverNode = undefined;
373
309
  if (opts.startProverNode) {
374
310
  logger.verbose('Creating and syncing a simulated prover node...');
375
311
  const proverNodePrivateKey = getPrivateKeyFromIndex(2);
376
312
  const proverNodePrivateKeyHex = `0x${proverNodePrivateKey.toString('hex')}`;
377
313
  const proverNodeDataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
378
- const proverNodeConfig = {
379
- ...config.proverNodeConfig,
380
- dataDirectory: proverNodeDataDirectory,
381
- p2pEnabled: false
314
+ const p2pClientDeps = {
315
+ p2pServiceFactory: mockGossipSubNetwork && getMockPubSubP2PServiceFactory(mockGossipSubNetwork),
316
+ rpcTxProviders: [
317
+ aztecNodeService
318
+ ]
382
319
  };
383
- proverNode = await createAndSyncProverNode(proverNodePrivateKeyHex, config, proverNodeConfig, aztecNodeService, prefilledPublicData);
320
+ ({ proverNode } = await createAndSyncProverNode(proverNodePrivateKeyHex, config, {
321
+ ...config.proverNodeConfig,
322
+ dataDirectory: proverNodeDataDirectory
323
+ }, {
324
+ dateProvider,
325
+ p2pClientDeps,
326
+ telemetry: telemetryClient
327
+ }, {
328
+ prefilledPublicData
329
+ }));
384
330
  }
331
+ const sequencerDelayer = sequencerClient?.getDelayer();
332
+ const proverDelayer = proverNode?.getProverNode()?.getDelayer();
385
333
  logger.verbose('Creating a pxe...');
386
334
  const pxeConfig = {
387
335
  ...getPXEConfig(),
@@ -443,7 +391,7 @@ export const getPrivateKeyFromIndex = (index)=>{
443
391
  logger.error(`Error during e2e test teardown`, err);
444
392
  } finally{
445
393
  try {
446
- await telemetryClient?.stop();
394
+ await telemetryClient.stop();
447
395
  } catch (err) {
448
396
  logger.error(`Error during telemetry client stop`, err);
449
397
  }
@@ -465,6 +413,8 @@ export const getPrivateKeyFromIndex = (index)=>{
465
413
  mockGossipSubNetwork,
466
414
  prefilledPublicData,
467
415
  proverNode,
416
+ sequencerDelayer,
417
+ proverDelayer,
468
418
  sequencer: sequencerClient,
469
419
  teardown,
470
420
  telemetryClient,
@@ -525,77 +475,41 @@ export async function waitForProvenChain(node, targetBlock, timeoutSec = 60, int
525
475
  targetBlock ??= await node.getBlockNumber();
526
476
  await retryUntil(async ()=>await node.getProvenBlockNumber() >= targetBlock, 'proven chain status', timeoutSec, intervalSec);
527
477
  }
528
- export function createAndSyncProverNode(proverNodePrivateKey, aztecNodeConfig, proverNodeConfig, aztecNode, prefilledPublicData = [], proverNodeDeps = {}) {
478
+ /**
479
+ * Creates an AztecNodeService with the prover node enabled as a subsystem.
480
+ * Returns both the aztec node service (for lifecycle management) and the prover node (for test internals access).
481
+ */ export function createAndSyncProverNode(proverNodePrivateKey, baseConfig, configOverrides, deps, options) {
529
482
  return withLoggerBindings({
530
483
  actor: 'prover-0'
531
484
  }, async ()=>{
532
- const aztecNodeTxProvider = aztecNode && {
533
- getTxByHash: aztecNode.getTxByHash.bind(aztecNode),
534
- getTxsByHash: aztecNode.getTxsByHash.bind(aztecNode),
535
- stop: ()=>Promise.resolve()
536
- };
537
- const blobClient = await createBlobClientWithFileStores(aztecNodeConfig, createLogger('blob-client:prover-node'));
538
- const archiverConfig = {
539
- ...aztecNodeConfig,
540
- dataDirectory: proverNodeConfig.dataDirectory
541
- };
542
- const archiver = await createArchiver(archiverConfig, {
543
- blobClient,
544
- dateProvider: proverNodeDeps.dateProvider
545
- }, {
546
- blockUntilSync: true
547
- });
548
- const proverConfig = {
549
- ...aztecNodeConfig,
550
- txCollectionNodeRpcUrls: [],
551
- realProofs: false,
552
- proverAgentCount: 2,
553
- publisherPrivateKeys: [
485
+ const proverNode = await AztecNodeService.createAndSync({
486
+ ...baseConfig,
487
+ ...configOverrides,
488
+ p2pPort: 0,
489
+ enableProverNode: true,
490
+ disableValidator: true,
491
+ proverPublisherPrivateKeys: [
554
492
  new SecretValue(proverNodePrivateKey)
555
- ],
556
- proverNodeMaxPendingJobs: 10,
557
- proverNodeMaxParallelBlocksPerEpoch: 32,
558
- proverNodePollingIntervalMs: 200,
559
- txGatheringIntervalMs: 1000,
560
- txGatheringBatchSize: 10,
561
- txGatheringMaxParallelRequestsPerNode: 10,
562
- txGatheringTimeoutMs: 24_000,
563
- proverNodeFailedEpochStore: undefined,
564
- proverId: EthAddress.fromNumber(1),
565
- proverNodeEpochProvingDelayMs: undefined,
566
- ...proverNodeConfig
567
- };
568
- const l1TxUtils = createDelayedL1TxUtils(aztecNodeConfig, proverNodePrivateKey, 'prover-node', proverNodeDeps.dateProvider);
569
- const proverNode = await createProverNode(proverConfig, {
570
- ...proverNodeDeps,
571
- aztecNodeTxProvider,
572
- archiver: archiver,
573
- l1TxUtils
574
- }, {
575
- prefilledPublicData
493
+ ]
494
+ }, deps, {
495
+ ...options,
496
+ dontStartProverNode: options.dontStart
576
497
  });
577
- getLogger().info(`Created and synced prover node`, {
578
- publisherAddress: l1TxUtils.client.account.address
579
- });
580
- if (!proverNodeConfig.dontStart) {
581
- await proverNode.start();
498
+ if (!proverNode.getProverNode()) {
499
+ throw new Error('Prover node subsystem was not created despite enableProverNode being set');
582
500
  }
583
- return proverNode;
501
+ getLogger().info(`Created and synced prover node`);
502
+ return {
503
+ proverNode
504
+ };
584
505
  });
585
506
  }
586
- function createDelayedL1TxUtils(aztecNodeConfig, privateKey, logName, dateProvider) {
587
- const l1Client = createExtendedL1Client(aztecNodeConfig.l1RpcUrls, privateKey, foundry);
588
- const log = createLogger(logName);
589
- const l1TxUtils = createDelayedL1TxUtilsFromViemWallet(l1Client, log, dateProvider, aztecNodeConfig);
590
- l1TxUtils.enableDelayer(aztecNodeConfig.ethereumSlotDuration);
591
- return l1TxUtils;
592
- }
593
- export function getBalancesFn(symbol, method, from, logger) {
507
+ export function getBalancesFn(symbol, method, logger) {
594
508
  const balances = async (...addressLikes)=>{
595
509
  const addresses = addressLikes.map((addressLike)=>'address' in addressLike ? addressLike.address : addressLike);
596
- const b = await Promise.all(addresses.map((address)=>method(address).simulate({
597
- from
598
- })));
510
+ const b = await Promise.all(addresses.map(async (address)=>(await method(address).simulate({
511
+ from: address
512
+ })).result));
599
513
  const debugString = `${symbol} balances: ${addresses.map((address, i)=>`${address}: ${b[i]}`).join(', ')}`;
600
514
  logger.verbose(debugString);
601
515
  return b;
@@ -650,7 +564,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
650
564
  const accountManager = await wallet.createSchnorrAccount(deployedAccounts[i].secret, deployedAccounts[i].salt, deployedAccounts[i].signingKey);
651
565
  const deployMethod = await accountManager.getDeployMethod();
652
566
  await deployMethod.send({
653
- from: AztecAddress.ZERO,
567
+ from: NO_FROM,
654
568
  skipClassPublication: i !== 0
655
569
  });
656
570
  }
@@ -672,7 +586,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
672
586
  ...instances.map((instance)=>publishInstance(wallet, instance))
673
587
  ]);
674
588
  const batch = new BatchCall(wallet, calls);
675
- const txReceipt = await batch.send({
589
+ const { receipt: txReceipt } = await batch.send({
676
590
  from: accountsToDeploy[0]
677
591
  });
678
592
  if (waitUntilProven) {
@@ -3,20 +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
7
  export declare const ATTESTER_PRIVATE_KEYS_START_INDEX = 3;
9
8
  export declare function generatePrivateKeys(startIndex: number, numberOfKeys: number): `0x${string}`[];
10
9
  export declare function createNodes(config: AztecNodeConfig & {
11
10
  dontStartSequencer?: boolean;
12
11
  }, dateProvider: DateProvider, bootstrapNodeEnr: string, numNodes: number, bootNodePort: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, indexOffset?: number, validatorsPerNode?: number): Promise<AztecNodeService[]>;
13
- /** Creates a P2P enabled instance of Aztec Node Service with a validator */
14
- 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. */
15
15
  dontStartSequencer?: boolean;
16
- }, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number | number[], prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): 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>;
17
21
  /** Creates a P2P enabled instance of Aztec Node Service without a validator */
18
22
  export declare function createNonValidatorNode(baseConfig: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): Promise<AztecNodeService>;
19
- 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): Promise<import("@aztec/prover-node").ProverNode>;
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
+ }>;
20
28
  export declare function createP2PConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
21
- export declare function createValidatorConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number | number[], dataDirectory?: string): Promise<AztecNodeConfig>;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfcDJwX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cF9wMnBfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFvQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBVzlELGVBQU8sTUFBTSxpQ0FBaUMsSUFBSSxDQUFDO0FBT25ELHdCQUFnQixtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsS0FBSyxNQUFNLEVBQUUsRUFBRSxDQU83RjtBQUVELHdCQUFzQixXQUFXLENBQy9CLE1BQU0sRUFBRSxlQUFlLEdBQUc7SUFBRSxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFFLEVBQzFELFlBQVksRUFBRSxZQUFZLEVBQzFCLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsWUFBWSxFQUFFLE1BQU0sRUFDcEIsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFDcEIsV0FBVyxTQUFJLEVBQ2YsaUJBQWlCLFNBQUksR0FDcEIsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FtQzdCO0FBRUQsNEVBQTRFO0FBQzVFLHdCQUFzQixVQUFVLENBQzlCLE1BQU0sRUFBRSxlQUFlLEdBQUc7SUFBRSxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFFLEVBQzFELFlBQVksRUFBRSxZQUFZLEVBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2pDLFlBQVksRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLEVBQy9CLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFDMUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLDZCQVlyQjtBQUVELCtFQUErRTtBQUMvRSx3QkFBc0Isc0JBQXNCLENBQzFDLFVBQVUsRUFBRSxlQUFlLEVBQzNCLFlBQVksRUFBRSxZQUFZLEVBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2pDLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFDMUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLDZCQWNyQjtBQUVELHdCQUFzQixnQkFBZ0IsQ0FDcEMsTUFBTSxFQUFFLGVBQWUsRUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDakMsWUFBWSxFQUFFLE1BQU0sRUFDcEIsY0FBYyxFQUFFLGNBQWMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyxFQUMvRSxtQkFBbUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLEVBQzFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFDdEIsV0FBVyxDQUFDLEVBQUUsTUFBTSxvREF3QnJCO0FBRUQsd0JBQXNCLGVBQWUsQ0FDbkMsTUFBTSxFQUFFLGVBQWUsRUFDdkIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQ3pCLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixhQUFhLENBQUMsRUFBRSxNQUFNLDRCQWdCdkI7QUFFRCx3QkFBc0IscUJBQXFCLENBQ3pDLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxFQUN6QixJQUFJLENBQUMsRUFBRSxNQUFNLEVBQ2IsWUFBWSxHQUFFLE1BQU0sR0FBRyxNQUFNLEVBQU0sRUFDbkMsYUFBYSxDQUFDLEVBQUUsTUFBTSw0QkFtQnZCIn0=
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;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,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,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,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,oDAwBrB;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"}
@@ -46,7 +46,7 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
46
46
  }
47
47
  return nodes;
48
48
  }
49
- /** Creates a P2P enabled instance of Aztec Node Service with a validator */ export async function createNode(config, dateProvider, tcpPort, bootstrapNode, addressIndex, prefilledPublicData, dataDirectory, metricsPort) {
49
+ /** Creates a P2P enabled instance of Aztec Node Service with a validator. */ export async function createNode(config, dateProvider, tcpPort, bootstrapNode, addressIndex, prefilledPublicData, dataDirectory, metricsPort) {
50
50
  const actorIndex = validatorCounter++;
51
51
  return await withLoggerBindings({
52
52
  actor: `validator-${actorIndex}`
@@ -72,7 +72,7 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
72
72
  ...p2pConfig,
73
73
  disableValidator: true,
74
74
  validatorPrivateKeys: undefined,
75
- publisherPrivateKeys: []
75
+ sequencerPublisherPrivateKeys: []
76
76
  };
77
77
  const telemetry = await getEndToEndTestTelemetryClient(metricsPort);
78
78
  return await AztecNodeService.createAndSync(config, {
@@ -83,21 +83,24 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
83
83
  });
84
84
  });
85
85
  }
86
- export async function createProverNode(config, tcpPort, bootstrapNode, addressIndex, proverNodeDeps, prefilledPublicData, dataDirectory, metricsPort) {
86
+ export async function createProverNode(config, tcpPort, bootstrapNode, addressIndex, deps, prefilledPublicData, dataDirectory, metricsPort) {
87
87
  const actorIndex = proverCounter++;
88
88
  return await withLoggerBindings({
89
89
  actor: `prover-${actorIndex}`
90
90
  }, async ()=>{
91
91
  const proverNodePrivateKey = getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + addressIndex);
92
92
  const telemetry = await getEndToEndTestTelemetryClient(metricsPort);
93
- const proverConfig = await createP2PConfig(config, bootstrapNode, tcpPort, dataDirectory);
94
- const aztecNodeRpcTxProvider = undefined;
95
- return await createAndSyncProverNode(bufferToHex(proverNodePrivateKey), config, {
96
- ...proverConfig,
93
+ const p2pConfig = await createP2PConfig(config, bootstrapNode, tcpPort, dataDirectory);
94
+ return await createAndSyncProverNode(bufferToHex(proverNodePrivateKey), {
95
+ ...config,
96
+ ...p2pConfig
97
+ }, {
97
98
  dataDirectory
98
- }, aztecNodeRpcTxProvider, prefilledPublicData, {
99
- ...proverNodeDeps,
99
+ }, {
100
+ ...deps,
100
101
  telemetry
102
+ }, {
103
+ prefilledPublicData: prefilledPublicData ?? []
101
104
  });
102
105
  });
103
106
  }
@@ -121,16 +124,19 @@ export async function createValidatorConfig(config, bootstrapNodeEnr, port, addr
121
124
  const addressIndices = Array.isArray(addressIndex) ? addressIndex : [
122
125
  addressIndex
123
126
  ];
124
- if (addressIndices.length === 0) {
127
+ if (addressIndices.length === 0 && !config.validatorPrivateKey) {
125
128
  throw new Error('At least one address index must be provided to create a validator config');
126
129
  }
127
- const attesterPrivateKeys = addressIndices.map((index)=>bufferToHex(getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + index)));
130
+ // Use override private key if provided, otherwise derive from address indices
131
+ const attesterPrivateKeys = config.validatorPrivateKey ? [
132
+ config.validatorPrivateKey
133
+ ] : addressIndices.map((index)=>bufferToHex(getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + index)));
128
134
  const p2pConfig = await createP2PConfig(config, bootstrapNodeEnr, port, dataDirectory);
129
135
  const nodeConfig = {
130
136
  ...config,
131
137
  ...p2pConfig,
132
138
  validatorPrivateKeys: new SecretValue(attesterPrivateKeys),
133
- publisherPrivateKeys: [
139
+ sequencerPublisherPrivateKeys: [
134
140
  new SecretValue(attesterPrivateKeys[0])
135
141
  ]
136
142
  };
@@ -6,7 +6,7 @@ export declare function deployToken(wallet: Wallet, admin: AztecAddress, initial
6
6
  contract: TokenContract;
7
7
  instance: import("@aztec/aztec.js/contracts").ContractInstanceWithAddress;
8
8
  }>;
9
- export declare function mintTokensToPrivate(token: TokenContract, minter: AztecAddress, recipient: AztecAddress, amount: bigint): Promise<void>;
9
+ export declare function mintTokensToPrivate(token: TokenContract, minter: AztecAddress, recipient: AztecAddress, amount: bigint, additionalScopes?: AztecAddress[]): Promise<void>;
10
10
  export declare function expectTokenBalance(wallet: Wallet, token: TokenContract, owner: AztecAddress, expectedBalance: bigint, logger: Logger): Promise<void>;
11
11
  export declare function mintNotes(wallet: Wallet, minter: AztecAddress, recipient: AztecAddress, asset: TokenContract, noteAmounts: bigint[]): Promise<bigint>;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy90b2tlbl91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFL0Qsd0JBQXNCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNOzs7R0Fjakg7QUFFRCx3QkFBc0IsbUJBQW1CLENBQ3ZDLEtBQUssRUFBRSxhQUFhLEVBQ3BCLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLE1BQU0sRUFBRSxNQUFNLGlCQUdmO0FBRUQsd0JBQXNCLGtCQUFrQixDQUN0QyxNQUFNLEVBQUUsTUFBTSxFQUNkLEtBQUssRUFBRSxhQUFhLEVBQ3BCLEtBQUssRUFBRSxZQUFZLEVBQ25CLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLE1BQU0sRUFBRSxNQUFNLGlCQU9mO0FBRUQsd0JBQXNCLFNBQVMsQ0FDN0IsTUFBTSxFQUFFLE1BQU0sRUFDZCxNQUFNLEVBQUUsWUFBWSxFQUNwQixTQUFTLEVBQUUsWUFBWSxFQUN2QixLQUFLLEVBQUUsYUFBYSxFQUNwQixXQUFXLEVBQUUsTUFBTSxFQUFFLEdBQ3BCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FXakIifQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy90b2tlbl91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFL0Qsd0JBQXNCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNOzs7R0Fhakg7QUFFRCx3QkFBc0IsbUJBQW1CLENBQ3ZDLEtBQUssRUFBRSxhQUFhLEVBQ3BCLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsZ0JBQWdCLENBQUMsRUFBRSxZQUFZLEVBQUUsaUJBR2xDO0FBRUQsd0JBQXNCLGtCQUFrQixDQUN0QyxNQUFNLEVBQUUsTUFBTSxFQUNkLEtBQUssRUFBRSxhQUFhLEVBQ3BCLEtBQUssRUFBRSxZQUFZLEVBQ25CLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLE1BQU0sRUFBRSxNQUFNLGlCQU9mO0FBRUQsd0JBQXNCLFNBQVMsQ0FDN0IsTUFBTSxFQUFFLE1BQU0sRUFDZCxNQUFNLEVBQUUsWUFBWSxFQUNwQixTQUFTLEVBQUUsWUFBWSxFQUN2QixLQUFLLEVBQUUsYUFBYSxFQUNwQixXQUFXLEVBQUUsTUFBTSxFQUFFLEdBQ3BCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FXakIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"token_utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/token_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;GAcjH;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,iBAGf;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,iBAOf;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,CAWjB"}
1
+ {"version":3,"file":"token_utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/token_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;GAajH;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,YAAY,EAAE,iBAGlC;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,iBAOf;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,CAWjB"}
@@ -3,10 +3,7 @@ import { TokenContract } from '@aztec/noir-contracts.js/Token';
3
3
  export async function deployToken(wallet, admin, initialAdminBalance, logger) {
4
4
  logger.info(`Deploying Token contract...`);
5
5
  const { contract, instance } = await TokenContract.deploy(wallet, admin, 'TokenName', 'TokenSymbol', 18).send({
6
- from: admin,
7
- wait: {
8
- returnReceipt: true
9
- }
6
+ from: admin
10
7
  });
11
8
  if (initialAdminBalance > 0n) {
12
9
  await mintTokensToPrivate(contract, admin, admin, initialAdminBalance);
@@ -17,15 +14,16 @@ export async function deployToken(wallet, admin, initialAdminBalance, logger) {
17
14
  instance
18
15
  };
19
16
  }
20
- export async function mintTokensToPrivate(token, minter, recipient, amount) {
17
+ export async function mintTokensToPrivate(token, minter, recipient, amount, additionalScopes) {
21
18
  await token.methods.mint_to_private(recipient, amount).send({
22
- from: minter
19
+ from: minter,
20
+ additionalScopes
23
21
  });
24
22
  }
25
23
  export async function expectTokenBalance(wallet, token, owner, expectedBalance, logger) {
26
24
  // Then check the balance
27
25
  const contractWithWallet = TokenContract.at(token.address, wallet);
28
- const balance = await contractWithWallet.methods.balance_of_private(owner).simulate({
26
+ const { result: balance } = await contractWithWallet.methods.balance_of_private(owner).simulate({
29
27
  from: owner
30
28
  });
31
29
  logger.info(`Account ${owner} balance: ${balance}`);
@@ -138,4 +138,4 @@ export declare class CrossChainTestHarness {
138
138
  makeMessageConsumable(msgHash: Fr | Hex): Promise<void>;
139
139
  toCrossChainContext(): CrossChainContext;
140
140
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NfY2hhaW5fdGVzdF9oYXJuZXNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhcmVkL2Nyb3NzX2NoYWluX3Rlc3RfaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sRUFHTCxLQUFLLGFBQWEsRUFDbEIsS0FBSywwQkFBMEIsRUFDaEMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFM0UsT0FBTyxFQUFFLEtBQUssR0FBRyxFQUFlLE1BQU0s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
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NfY2hhaW5fdGVzdF9oYXJuZXNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhcmVkL2Nyb3NzX2NoYWluX3Rlc3RfaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sRUFHTCxLQUFLLGFBQWEsRUFDbEIsS0FBSywwQkFBMEIsRUFDaEMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFM0UsT0FBTyxFQUFFLEtBQUssR0FBRyxFQUFlLE1BQU0s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
@@ -1 +1 @@
1
- {"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"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"}