@aztec/end-to-end 3.0.0-canary.a9708bd → 3.0.0-devnet.20251212

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +4 -3
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/benchmark.js +2 -2
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts +25 -14
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  6. package/dest/bench/client_flows/client_flows_benchmark.js +111 -90
  7. package/dest/bench/client_flows/config.d.ts +1 -1
  8. package/dest/bench/client_flows/data_extractor.d.ts +1 -1
  9. package/dest/bench/client_flows/data_extractor.js +8 -30
  10. package/dest/bench/utils.d.ts +4 -13
  11. package/dest/bench/utils.d.ts.map +1 -1
  12. package/dest/bench/utils.js +10 -34
  13. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +8 -8
  14. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  15. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +42 -42
  16. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +12 -9
  17. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  18. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +35 -35
  19. package/dest/e2e_deploy_contract/deploy_test.d.ts +12 -6
  20. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  21. package/dest/e2e_deploy_contract/deploy_test.js +9 -18
  22. package/dest/e2e_epochs/epochs_test.d.ts +19 -12
  23. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  24. package/dest/e2e_epochs/epochs_test.js +30 -22
  25. package/dest/e2e_fees/bridging_race.notest.d.ts +1 -1
  26. package/dest/e2e_fees/bridging_race.notest.js +14 -11
  27. package/dest/e2e_fees/fees_test.d.ts +10 -8
  28. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  29. package/dest/e2e_fees/fees_test.js +35 -38
  30. package/dest/e2e_l1_publisher/write_json.d.ts +4 -2
  31. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  32. package/dest/e2e_l1_publisher/write_json.js +9 -8
  33. package/dest/e2e_multi_validator/utils.d.ts +2 -2
  34. package/dest/e2e_multi_validator/utils.d.ts.map +1 -1
  35. package/dest/e2e_multi_validator/utils.js +4 -10
  36. package/dest/e2e_nested_contract/nested_contract_test.d.ts +7 -4
  37. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  38. package/dest/e2e_nested_contract/nested_contract_test.js +11 -12
  39. package/dest/e2e_p2p/inactivity_slash_test.d.ts +31 -0
  40. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -0
  41. package/dest/e2e_p2p/inactivity_slash_test.js +139 -0
  42. package/dest/e2e_p2p/p2p_network.d.ts +238 -17
  43. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  44. package/dest/e2e_p2p/p2p_network.js +46 -19
  45. package/dest/e2e_p2p/shared.d.ts +16 -17
  46. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  47. package/dest/e2e_p2p/shared.js +56 -55
  48. package/dest/e2e_token_contract/token_contract_test.d.ts +6 -5
  49. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  50. package/dest/e2e_token_contract/token_contract_test.js +14 -17
  51. package/dest/fixtures/e2e_prover_test.d.ts +12 -8
  52. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  53. package/dest/fixtures/e2e_prover_test.js +53 -58
  54. package/dest/fixtures/fixtures.d.ts +1 -1
  55. package/dest/fixtures/fixtures.d.ts.map +1 -1
  56. package/dest/fixtures/fixtures.js +1 -1
  57. package/dest/fixtures/get_acvm_config.d.ts +2 -2
  58. package/dest/fixtures/get_acvm_config.d.ts.map +1 -1
  59. package/dest/fixtures/get_acvm_config.js +1 -1
  60. package/dest/fixtures/get_bb_config.d.ts +2 -2
  61. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  62. package/dest/fixtures/get_bb_config.js +2 -2
  63. package/dest/fixtures/index.d.ts +1 -1
  64. package/dest/fixtures/l1_to_l2_messaging.d.ts +4 -3
  65. package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
  66. package/dest/fixtures/l1_to_l2_messaging.js +2 -2
  67. package/dest/fixtures/logging.d.ts +1 -1
  68. package/dest/fixtures/setup_l1_contracts.d.ts +476 -5
  69. package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
  70. package/dest/fixtures/setup_l1_contracts.js +3 -3
  71. package/dest/fixtures/setup_p2p_test.d.ts +12 -11
  72. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  73. package/dest/fixtures/setup_p2p_test.js +50 -24
  74. package/dest/fixtures/snapshot_manager.d.ts +13 -10
  75. package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
  76. package/dest/fixtures/snapshot_manager.js +66 -51
  77. package/dest/fixtures/token_utils.d.ts +10 -5
  78. package/dest/fixtures/token_utils.d.ts.map +1 -1
  79. package/dest/fixtures/token_utils.js +17 -18
  80. package/dest/fixtures/utils.d.ts +479 -35
  81. package/dest/fixtures/utils.d.ts.map +1 -1
  82. package/dest/fixtures/utils.js +106 -125
  83. package/dest/fixtures/web3signer.d.ts +5 -0
  84. package/dest/fixtures/web3signer.d.ts.map +1 -0
  85. package/dest/fixtures/web3signer.js +53 -0
  86. package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
  87. package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
  88. package/dest/fixtures/with_telemetry_utils.js +2 -2
  89. package/dest/index.d.ts +1 -1
  90. package/dest/quality_of_service/alert_checker.d.ts +2 -2
  91. package/dest/quality_of_service/alert_checker.d.ts.map +1 -1
  92. package/dest/shared/cross_chain_test_harness.d.ts +20 -23
  93. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  94. package/dest/shared/cross_chain_test_harness.js +14 -16
  95. package/dest/shared/gas_portal_test_harness.d.ts +10 -17
  96. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  97. package/dest/shared/gas_portal_test_harness.js +11 -8
  98. package/dest/shared/index.d.ts +1 -1
  99. package/dest/shared/jest_setup.d.ts +1 -1
  100. package/dest/shared/jest_setup.js +1 -1
  101. package/dest/shared/submit-transactions.d.ts +6 -4
  102. package/dest/shared/submit-transactions.d.ts.map +1 -1
  103. package/dest/shared/submit-transactions.js +8 -7
  104. package/dest/shared/uniswap_l1_l2.d.ts +12 -8
  105. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  106. package/dest/shared/uniswap_l1_l2.js +44 -58
  107. package/dest/simulators/index.d.ts +1 -1
  108. package/dest/simulators/lending_simulator.d.ts +4 -7
  109. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  110. package/dest/simulators/lending_simulator.js +8 -5
  111. package/dest/simulators/token_simulator.d.ts +4 -2
  112. package/dest/simulators/token_simulator.d.ts.map +1 -1
  113. package/dest/simulators/token_simulator.js +2 -2
  114. package/dest/spartan/setup_test_wallets.d.ts +22 -14
  115. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  116. package/dest/spartan/setup_test_wallets.js +144 -86
  117. package/dest/spartan/tx_metrics.d.ts +39 -0
  118. package/dest/spartan/tx_metrics.d.ts.map +1 -0
  119. package/dest/spartan/tx_metrics.js +95 -0
  120. package/dest/spartan/utils.d.ts +92 -17
  121. package/dest/spartan/utils.d.ts.map +1 -1
  122. package/dest/spartan/utils.js +386 -63
  123. package/package.json +43 -40
  124. package/src/bench/client_flows/benchmark.ts +8 -8
  125. package/src/bench/client_flows/client_flows_benchmark.ts +141 -114
  126. package/src/bench/client_flows/data_extractor.ts +9 -31
  127. package/src/bench/utils.ts +9 -37
  128. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +46 -63
  129. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +38 -51
  130. package/src/e2e_deploy_contract/deploy_test.ts +18 -36
  131. package/src/e2e_epochs/epochs_test.ts +41 -35
  132. package/src/e2e_fees/bridging_race.notest.ts +16 -11
  133. package/src/e2e_fees/fees_test.ts +42 -47
  134. package/src/e2e_l1_publisher/write_json.ts +12 -9
  135. package/src/e2e_multi_validator/utils.ts +5 -11
  136. package/src/e2e_nested_contract/nested_contract_test.ts +15 -13
  137. package/src/e2e_p2p/inactivity_slash_test.ts +184 -0
  138. package/src/e2e_p2p/p2p_network.ts +124 -82
  139. package/src/e2e_p2p/shared.ts +66 -58
  140. package/src/e2e_token_contract/token_contract_test.ts +17 -17
  141. package/src/fixtures/e2e_prover_test.ts +60 -97
  142. package/src/fixtures/fixtures.ts +1 -2
  143. package/src/fixtures/get_acvm_config.ts +2 -2
  144. package/src/fixtures/get_bb_config.ts +3 -2
  145. package/src/fixtures/l1_to_l2_messaging.ts +4 -2
  146. package/src/fixtures/setup_l1_contracts.ts +5 -4
  147. package/src/fixtures/setup_p2p_test.ts +79 -32
  148. package/src/fixtures/snapshot_manager.ts +87 -82
  149. package/src/fixtures/token_utils.ts +16 -24
  150. package/src/fixtures/utils.ts +142 -172
  151. package/src/fixtures/web3signer.ts +63 -0
  152. package/src/fixtures/with_telemetry_utils.ts +2 -2
  153. package/src/guides/up_quick_start.sh +3 -11
  154. package/src/quality_of_service/alert_checker.ts +1 -1
  155. package/src/shared/cross_chain_test_harness.ts +23 -31
  156. package/src/shared/gas_portal_test_harness.ts +14 -21
  157. package/src/shared/jest_setup.ts +1 -1
  158. package/src/shared/submit-transactions.ts +12 -8
  159. package/src/shared/uniswap_l1_l2.ts +77 -86
  160. package/src/simulators/lending_simulator.ts +9 -6
  161. package/src/simulators/token_simulator.ts +5 -2
  162. package/src/spartan/DEVELOP.md +15 -3
  163. package/src/spartan/setup_test_wallets.ts +171 -127
  164. package/src/spartan/tx_metrics.ts +130 -0
  165. package/src/spartan/utils.ts +463 -64
@@ -1,9 +1,14 @@
1
- import { getSchnorrAccount } from '@aztec/accounts/schnorr';
2
- import { Fr, TxStatus, getContractInstanceFromInstantiationParams, retryUntil } from '@aztec/aztec.js';
1
+ import { getContractInstanceFromInstantiationParams } from '@aztec/aztec.js/contracts';
2
+ import { Fr } from '@aztec/aztec.js/fields';
3
+ import { TxStatus } from '@aztec/aztec.js/tx';
4
+ import { EpochNumber } from '@aztec/foundation/branded-types';
3
5
  import { timesAsync, unique } from '@aztec/foundation/collection';
6
+ import { retryUntil } from '@aztec/foundation/retry';
7
+ import { pluralize } from '@aztec/foundation/string';
4
8
  import { TestContract, TestContractArtifact } from '@aztec/noir-test-contracts.js/Test';
5
- import { createPXEService, getPXEServiceConfig as getRpcConfig } from '@aztec/pxe/server';
9
+ import { getPXEConfig, getPXEConfig as getRpcConfig } from '@aztec/pxe/server';
6
10
  import { getRoundForOffense } from '@aztec/slasher';
11
+ import { TestWallet, proveInteraction } from '@aztec/test-wallet/server';
7
12
  import { submitTxsTo } from '../shared/submit-transactions.js';
8
13
  // submits a set of transactions to the provided Private eXecution Environment (PXE)
9
14
  export const submitComplexTxsTo = async (logger, from, spamContract, numTxs, opts = {})=>{
@@ -26,51 +31,42 @@ export const submitComplexTxsTo = async (logger, from, spamContract, numTxs, opt
26
31
  }
27
32
  return txs;
28
33
  };
29
- // creates an instance of the PXE and submit a given number of transactions to it.
30
- export const createPXEServiceAndSubmitTransactions = async (logger, node, numTxs, fundedAccount)=>{
34
+ // creates a wallet and submit a given number of transactions through it.
35
+ export const submitTransactions = async (logger, node, numTxs, fundedAccount)=>{
31
36
  const rpcConfig = getRpcConfig();
32
37
  rpcConfig.proverEnabled = false;
33
- const pxeService = await createPXEService(node, rpcConfig, {
38
+ const wallet = await TestWallet.create(node, {
39
+ ...getPXEConfig(),
40
+ proverEnabled: false
41
+ }, {
34
42
  useLogSuffix: true
35
43
  });
36
- const account = await getSchnorrAccount(pxeService, fundedAccount.secret, fundedAccount.signingKey, fundedAccount.salt);
37
- await account.register();
38
- const wallet = await account.getWallet();
39
- const txs = await submitTxsTo(pxeService, numTxs, wallet, logger);
40
- return {
41
- txs,
42
- pxeService,
43
- node
44
- };
44
+ const fundedAccountManager = await wallet.createSchnorrAccount(fundedAccount.secret, fundedAccount.salt);
45
+ return submitTxsTo(wallet, fundedAccountManager.address, numTxs, logger);
45
46
  };
46
- export async function createPXEServiceAndPrepareTransactions(logger, node, numTxs, fundedAccount) {
47
+ export async function prepareTransactions(logger, node, numTxs, fundedAccount) {
47
48
  const rpcConfig = getRpcConfig();
48
49
  rpcConfig.proverEnabled = false;
49
- const pxe = await createPXEService(node, rpcConfig, {
50
+ const wallet = await TestWallet.create(node, {
51
+ ...getPXEConfig(),
52
+ proverEnabled: false
53
+ }, {
50
54
  useLogSuffix: true
51
55
  });
52
- const account = await getSchnorrAccount(pxe, fundedAccount.secret, fundedAccount.signingKey, fundedAccount.salt);
53
- await account.register();
54
- const wallet = await account.getWallet();
55
- const testContractInstance = await getContractInstanceFromInstantiationParams(TestContractArtifact, {});
56
- await wallet.registerContract({
57
- instance: testContractInstance,
58
- artifact: TestContractArtifact
56
+ const fundedAccountManager = await wallet.createSchnorrAccount(fundedAccount.secret, fundedAccount.salt);
57
+ const testContractInstance = await getContractInstanceFromInstantiationParams(TestContractArtifact, {
58
+ salt: Fr.random()
59
59
  });
60
- const contract = await TestContract.at(testContractInstance.address, wallet);
61
- const txs = await timesAsync(numTxs, async ()=>{
62
- const tx = await contract.methods.emit_nullifier(Fr.random()).prove({
63
- from: account.getAddress()
60
+ await wallet.registerContract(testContractInstance, TestContractArtifact);
61
+ const contract = TestContract.at(testContractInstance.address, wallet);
62
+ return timesAsync(numTxs, async ()=>{
63
+ const tx = await proveInteraction(wallet, contract.methods.emit_nullifier(Fr.random()), {
64
+ from: fundedAccountManager.address
64
65
  });
65
66
  const txHash = tx.getTxHash();
66
67
  logger.info(`Tx prepared with hash ${txHash}`);
67
68
  return tx;
68
69
  });
69
- return {
70
- txs,
71
- pxeService: pxe,
72
- node
73
- };
74
70
  }
75
71
  export function awaitProposalExecution(slashingProposer, timeoutSeconds, logger) {
76
72
  return new Promise((resolve, reject)=>{
@@ -107,37 +103,36 @@ export async function awaitCommitteeExists({ rollup, logger }) {
107
103
  }, 'non-empty committee', 60);
108
104
  return committee;
109
105
  }
110
- export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSize, epochDuration }) {
111
- logger.info(`Waiting for an offense to be detected`);
106
+ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSize, epochDuration, waitUntilOffenseCount, timeoutSeconds = 120 }) {
107
+ const targetOffenseCount = waitUntilOffenseCount ?? 1;
108
+ logger.warn(`Waiting for ${pluralize('offense', targetOffenseCount)} to be detected`);
112
109
  const offenses = await retryUntil(async ()=>{
113
110
  const offenses = await nodeAdmin.getSlashOffenses('all');
114
- if (offenses.length > 0) {
111
+ if (offenses.length >= targetOffenseCount) {
115
112
  return offenses;
116
113
  }
117
- }, 'non-empty offenses', 60);
114
+ }, 'non-empty offenses', timeoutSeconds);
118
115
  logger.info(`Hit ${offenses.length} offenses on rounds ${unique(offenses.map((o)=>getRoundForOffense(o, {
119
116
  slashingRoundSize,
120
117
  epochDuration
121
- })))}`, offenses);
118
+ })))}`, {
119
+ offenses
120
+ });
122
121
  return offenses;
123
122
  }
124
123
  /**
125
124
  * Await the committee to be slashed out of the validator set.
126
125
  * Currently assumes that the committee is the same size as the validator set.
127
- */ export async function awaitCommitteeKicked({ rollup, cheatCodes, committee, slashFactory, slashingProposer, slashingRoundSize, aztecSlotDuration, logger, dateProvider }) {
126
+ */ export async function awaitCommitteeKicked({ rollup, cheatCodes, committee, slashFactory, slashingProposer, slashingRoundSize, aztecSlotDuration, aztecEpochDuration, logger, offenseEpoch }) {
128
127
  if (!slashingProposer) {
129
128
  throw new Error('No slashing proposer configured. Cannot test slashing.');
130
129
  }
131
- logger.info(`Advancing epochs so we start slashing`);
132
130
  await cheatCodes.debugRollup();
133
- await cheatCodes.advanceToNextEpoch({
134
- updateDateProvider: dateProvider
135
- });
136
- await cheatCodes.advanceToNextEpoch({
137
- updateDateProvider: dateProvider
138
- });
139
- // Await for the slash payload to be created if empire (no payload is created on tally until execution time)
140
131
  if (slashingProposer.type === 'empire') {
132
+ // Await for the slash payload to be created if empire (no payload is created on tally until execution time)
133
+ const targetEpoch = BigInt(await cheatCodes.getEpoch()) + await rollup.getLagInEpochsForValidatorSet() + 1n;
134
+ logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
135
+ await cheatCodes.advanceToEpoch(EpochNumber.fromBigInt(targetEpoch));
141
136
  const slashPayloadEvents = await retryUntil(async ()=>{
142
137
  const events = await slashFactory.getSlashPayloadCreatedEvents();
143
138
  return events.length > 0 ? events : undefined;
@@ -145,6 +140,17 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
145
140
  expect(slashPayloadEvents.length).toBe(1);
146
141
  // The uniqueness check is needed since a validator may be slashed more than once on the same round (eg because they let two epochs be pruned)
147
142
  expect(unique(slashPayloadEvents[0].slashes.map((slash)=>slash.validator.toString()))).toHaveLength(committee.length);
143
+ } else {
144
+ // Use the slash offset to ensure we are in the right epoch for tally
145
+ const slashOffsetInRounds = await slashingProposer.getSlashOffsetInRounds();
146
+ const slashingRoundSizeInEpochs = slashingRoundSize / aztecEpochDuration;
147
+ const slashingOffsetInEpochs = Number(slashOffsetInRounds) * slashingRoundSizeInEpochs;
148
+ const firstEpochInOffenseRound = offenseEpoch - offenseEpoch % slashingRoundSizeInEpochs;
149
+ const targetEpoch = firstEpochInOffenseRound + slashingOffsetInEpochs;
150
+ logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
151
+ await cheatCodes.advanceToEpoch(EpochNumber(targetEpoch), {
152
+ offset: -aztecSlotDuration / 2
153
+ });
148
154
  }
149
155
  const attestersPre = await rollup.getAttesters();
150
156
  expect(attestersPre.length).toBe(committee.length);
@@ -152,7 +158,7 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
152
158
  const attesterInfo = await rollup.getAttesterView(attester);
153
159
  expect(attesterInfo.status).toEqual(1); // Validating
154
160
  }
155
- const timeout = slashingRoundSize * 2 * aztecSlotDuration;
161
+ const timeout = slashingRoundSize * 2 * aztecSlotDuration + 30;
156
162
  logger.info(`Waiting for slash to be executed (timeout ${timeout}s)`);
157
163
  await awaitProposalExecution(slashingProposer, timeout, logger);
158
164
  // The attesters should still form the committee but they should be reduced to the "living" status
@@ -165,14 +171,9 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
165
171
  const attesterInfo = await rollup.getAttesterView(attester);
166
172
  expect(attesterInfo.status).toEqual(2); // Living
167
173
  }
168
- logger.info(`Advancing two epochs to check current committee`);
174
+ logger.info(`Advancing to check current committee`);
169
175
  await cheatCodes.debugRollup();
170
- await cheatCodes.advanceToNextEpoch({
171
- updateDateProvider: dateProvider
172
- });
173
- await cheatCodes.advanceToNextEpoch({
174
- updateDateProvider: dateProvider
175
- });
176
+ await cheatCodes.advanceToEpoch(EpochNumber.fromBigInt(BigInt(await cheatCodes.getEpoch()) + await rollup.getLagInEpochsForValidatorSet() + 1n));
176
177
  await cheatCodes.debugRollup();
177
178
  const committeeNextEpoch = await rollup.getCurrentEpochCommittee();
178
179
  // The committee should be undefined, since the validator set is empty
@@ -1,6 +1,9 @@
1
- import { type AccountWallet, AztecAddress, type AztecNode, type Logger } from '@aztec/aztec.js';
1
+ import { AztecAddress } from '@aztec/aztec.js/addresses';
2
+ import { type Logger } from '@aztec/aztec.js/log';
3
+ import type { AztecNode } from '@aztec/aztec.js/node';
2
4
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
3
5
  import { InvalidAccountContract } from '@aztec/noir-test-contracts.js/InvalidAccount';
6
+ import type { TestWallet } from '@aztec/test-wallet/server';
4
7
  import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
5
8
  import { TokenSimulator } from '../simulators/token_simulator.js';
6
9
  export declare class TokenContractTest {
@@ -13,11 +16,9 @@ export declare class TokenContractTest {
13
16
  tokenSim: TokenSimulator;
14
17
  node: AztecNode;
15
18
  badAccount: InvalidAccountContract;
16
- admin: AccountWallet;
19
+ wallet: TestWallet;
17
20
  adminAddress: AztecAddress;
18
- account1: AccountWallet;
19
21
  account1Address: AztecAddress;
20
- account2: AccountWallet;
21
22
  account2Address: AztecAddress;
22
23
  constructor(testName: string);
23
24
  /**
@@ -31,4 +32,4 @@ export declare class TokenContractTest {
31
32
  teardown(): Promise<void>;
32
33
  applyMintSnapshot(): Promise<void>;
33
34
  }
34
- //# sourceMappingURL=token_contract_test.d.ts.map
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fY29udHJhY3RfdGVzdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2UyZV90b2tlbl9jb250cmFjdC90b2tlbl9jb250cmFjdF90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTVELE9BQU8sRUFFTCxLQUFLLGlCQUFpQixFQUl2QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUlsRSxxQkFBYSxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLFVBQVUsU0FBVTtJQUMzQixNQUFNLENBQUMsWUFBWSxTQUFTO0lBQzVCLE1BQU0sQ0FBQyxjQUFjLFNBQU87SUFDNUIsT0FBTyxDQUFDLGVBQWUsQ0FBbUI7SUFDMUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLEtBQUssRUFBRyxhQUFhLENBQUM7SUFDdEIsUUFBUSxFQUFHLGNBQWMsQ0FBQztJQUMxQixJQUFJLEVBQUcsU0FBUyxDQUFDO0lBRWpCLFVBQVUsRUFBRyxzQkFBc0IsQ0FBQztJQUNwQyxNQUFNLEVBQUcsVUFBVSxDQUFDO0lBQ3BCLFlBQVksRUFBRyxZQUFZLENBQUM7SUFDNUIsZUFBZSxFQUFHLFlBQVksQ0FBQztJQUMvQixlQUFlLEVBQUcsWUFBWSxDQUFDO0lBRS9CLFlBQVksUUFBUSxFQUFFLE1BQU0sRUFLM0I7SUFFRDs7OztPQUlHO0lBQ0csa0JBQWtCLGtCQWdFdkI7SUFFSyxLQUFLLGtCQUVWO0lBRUQsUUFBUSxHQUFJLENBQUMsOEpBSTJEO0lBRWxFLFFBQVEsa0JBRWI7SUFFSyxpQkFBaUIsa0JBb0N0QjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_token_contract/token_contract_test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAItF,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIlE,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAG,aAAa,CAAC;IACtB,QAAQ,EAAG,cAAc,CAAC;IAC1B,IAAI,EAAG,SAAS,CAAC;IAEjB,UAAU,EAAG,sBAAsB,CAAC;IACpC,KAAK,EAAG,aAAa,CAAC;IACtB,YAAY,EAAG,YAAY,CAAC;IAC5B,QAAQ,EAAG,aAAa,CAAC;IACzB,eAAe,EAAG,YAAY,CAAC;IAC/B,QAAQ,EAAG,aAAa,CAAC;IACzB,eAAe,EAAG,YAAY,CAAC;gBAEnB,QAAQ,EAAE,MAAM;IAO5B;;;;OAIG;IACG,kBAAkB;IAkElB,KAAK;IAIX,QAAQ,GAAI,CAAC,EACX,MAAM,MAAM,EACZ,OAAO,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,UAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAA2B,KAChG,OAAO,CAAC,IAAI,CAAC,CAAwD;IAElE,QAAQ;IAIR,iBAAiB;CAqCxB"}
1
+ {"version":3,"file":"token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_token_contract/token_contract_test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIlE,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAG,aAAa,CAAC;IACtB,QAAQ,EAAG,cAAc,CAAC;IAC1B,IAAI,EAAG,SAAS,CAAC;IAEjB,UAAU,EAAG,sBAAsB,CAAC;IACpC,MAAM,EAAG,UAAU,CAAC;IACpB,YAAY,EAAG,YAAY,CAAC;IAC5B,eAAe,EAAG,YAAY,CAAC;IAC/B,eAAe,EAAG,YAAY,CAAC;IAE/B,YAAY,QAAQ,EAAE,MAAM,EAK3B;IAED;;;;OAIG;IACG,kBAAkB,kBAgEvB;IAEK,KAAK,kBAEV;IAED,QAAQ,GAAI,CAAC,8JAI2D;IAElE,QAAQ,kBAEb;IAEK,iBAAiB,kBAoCtB;CACF"}
@@ -1,5 +1,4 @@
1
- import { getSchnorrWallet } from '@aztec/accounts/schnorr';
2
- import { createLogger } from '@aztec/aztec.js';
1
+ import { createLogger } from '@aztec/aztec.js/log';
3
2
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
4
3
  import { InvalidAccountContract } from '@aztec/noir-test-contracts.js/InvalidAccount';
5
4
  import { jest } from '@jest/globals';
@@ -17,11 +16,9 @@ export class TokenContractTest {
17
16
  tokenSim;
18
17
  node;
19
18
  badAccount;
20
- admin;
19
+ wallet;
21
20
  adminAddress;
22
- account1;
23
21
  account1Address;
24
- account2;
25
22
  account2Address;
26
23
  constructor(testName){
27
24
  this.logger = createLogger(`e2e:e2e_token_contract:${testName}`);
@@ -36,27 +33,27 @@ export class TokenContractTest {
36
33
  */ async applyBaseSnapshots() {
37
34
  // Adding a timeout of 2 minutes in here such that it is propagated to the underlying tests
38
35
  jest.setTimeout(120_000);
39
- await this.snapshotManager.snapshot('3_accounts', deployAccounts(3, this.logger), async ({ deployedAccounts }, { pxe, aztecNode })=>{
36
+ await this.snapshotManager.snapshot('3_accounts', deployAccounts(3, this.logger), ({ deployedAccounts }, { wallet, aztecNode })=>{
40
37
  this.node = aztecNode;
41
- const wallets = await Promise.all(deployedAccounts.map((a)=>getSchnorrWallet(pxe, a.address, a.signingKey)));
42
- [this.admin, this.account1, this.account2] = wallets;
43
- [this.adminAddress, this.account1Address, this.account2Address] = wallets.map((w)=>w.getAddress());
38
+ this.wallet = wallet;
39
+ [this.adminAddress, this.account1Address, this.account2Address] = deployedAccounts.map((acc)=>acc.address);
40
+ return Promise.resolve();
44
41
  });
45
42
  await this.snapshotManager.snapshot('e2e_token_contract', async ()=>{
46
43
  // Create the token contract state.
47
44
  // Move this account thing to addAccounts above?
48
45
  this.logger.verbose(`Public deploy accounts...`);
49
- await publicDeployAccounts(this.admin, [
46
+ await publicDeployAccounts(this.wallet, [
50
47
  this.adminAddress,
51
48
  this.account1Address
52
49
  ]);
53
50
  this.logger.verbose(`Deploying TokenContract...`);
54
- const asset = await TokenContract.deploy(this.admin, this.adminAddress, TokenContractTest.TOKEN_NAME, TokenContractTest.TOKEN_SYMBOL, TokenContractTest.TOKEN_DECIMALS).send({
51
+ const asset = await TokenContract.deploy(this.wallet, this.adminAddress, TokenContractTest.TOKEN_NAME, TokenContractTest.TOKEN_SYMBOL, TokenContractTest.TOKEN_DECIMALS).send({
55
52
  from: this.adminAddress
56
53
  }).deployed();
57
54
  this.logger.verbose(`Token deployed to ${asset.address}`);
58
55
  this.logger.verbose(`Deploying bad account...`);
59
- this.badAccount = await InvalidAccountContract.deploy(this.admin).send({
56
+ this.badAccount = await InvalidAccountContract.deploy(this.wallet).send({
60
57
  from: this.adminAddress
61
58
  }).deployed();
62
59
  this.logger.verbose(`Deployed to ${this.badAccount.address}.`);
@@ -66,13 +63,13 @@ export class TokenContractTest {
66
63
  };
67
64
  }, async ({ tokenContractAddress, badAccountAddress })=>{
68
65
  // Restore the token contract state.
69
- this.asset = await TokenContract.at(tokenContractAddress, this.admin);
66
+ this.asset = TokenContract.at(tokenContractAddress, this.wallet);
70
67
  this.logger.verbose(`Token contract address: ${this.asset.address}`);
71
- this.tokenSim = new TokenSimulator(this.asset, this.admin, this.adminAddress, this.logger, [
68
+ this.tokenSim = new TokenSimulator(this.asset, this.wallet, this.adminAddress, this.logger, [
72
69
  this.adminAddress,
73
70
  this.account1Address
74
71
  ]);
75
- this.badAccount = await InvalidAccountContract.at(badAccountAddress, this.admin);
72
+ this.badAccount = InvalidAccountContract.at(badAccountAddress, this.wallet);
76
73
  this.logger.verbose(`Bad account address: ${this.badAccount.address}`);
77
74
  expect(await this.asset.methods.get_admin().simulate({
78
75
  from: this.adminAddress
@@ -92,14 +89,14 @@ export class TokenContractTest {
92
89
  }
93
90
  async applyMintSnapshot() {
94
91
  await this.snapshotManager.snapshot('mint', async ()=>{
95
- const { asset, admin, adminAddress } = this;
92
+ const { asset, adminAddress } = this;
96
93
  const amount = 10000n;
97
94
  this.logger.verbose(`Minting ${amount} publicly...`);
98
95
  await asset.methods.mint_to_public(adminAddress, amount).send({
99
96
  from: adminAddress
100
97
  }).wait();
101
98
  this.logger.verbose(`Minting ${amount} privately...`);
102
- await mintTokensToPrivate(asset, adminAddress, admin, adminAddress, amount);
99
+ await mintTokensToPrivate(asset, adminAddress, adminAddress, amount);
103
100
  this.logger.verbose(`Minting complete.`);
104
101
  return {
105
102
  amount
@@ -1,12 +1,15 @@
1
1
  import type { InitialAccountData } from '@aztec/accounts/testing';
2
- import { type AccountWalletWithSecretKey, type AztecNode, type CompleteAddress, EthAddress, type Logger } from '@aztec/aztec.js';
2
+ import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
3
+ import { type Logger } from '@aztec/aztec.js/log';
4
+ import type { AztecNode } from '@aztec/aztec.js/node';
3
5
  import { CheatCodes } from '@aztec/aztec/testing';
4
6
  import { type ClientProtocolCircuitVerifier } from '@aztec/bb-prover';
5
7
  import type { BlobSinkServer } from '@aztec/blob-sink/server';
6
- import type { DeployL1ContractsReturnType } from '@aztec/ethereum';
8
+ import type { DeployL1ContractsReturnType } from '@aztec/ethereum/deploy-l1-contracts';
7
9
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
8
- import type { PXEService } from '@aztec/pxe/server';
10
+ import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
9
11
  import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
12
+ import { TestWallet } from '@aztec/test-wallet/server';
10
13
  import { TokenSimulator } from '../simulators/token_simulator.js';
11
14
  import { type SubsystemsContext } from './snapshot_manager.js';
12
15
  /**
@@ -23,21 +26,22 @@ export declare class FullProverTest {
23
26
  static TOKEN_DECIMALS: bigint;
24
27
  private snapshotManager;
25
28
  logger: Logger;
29
+ wallet: TestWallet;
30
+ provenWallet: TestWallet;
31
+ accounts: AztecAddress[];
26
32
  deployedAccounts: InitialAccountData[];
27
- wallets: AccountWalletWithSecretKey[];
28
- accounts: CompleteAddress[];
29
33
  fakeProofsAsset: TokenContract;
34
+ fakeProofsAssetInstance: ContractInstanceWithAddress;
30
35
  tokenSim: TokenSimulator;
31
36
  aztecNode: AztecNode;
32
37
  aztecNodeAdmin: AztecNodeAdmin;
33
- pxe: PXEService;
34
38
  cheatCodes: CheatCodes;
35
39
  blobSink: BlobSinkServer;
36
40
  private provenComponents;
37
41
  private bbConfigCleanup?;
38
42
  private acvmConfigCleanup?;
39
43
  circuitProofVerifier?: ClientProtocolCircuitVerifier;
40
- provenAssets: TokenContract[];
44
+ provenAsset: TokenContract;
41
45
  private context;
42
46
  private proverNode;
43
47
  private simulatedProverNode;
@@ -56,4 +60,4 @@ export declare class FullProverTest {
56
60
  teardown(): Promise<void>;
57
61
  applyMintSnapshot(): Promise<void>;
58
62
  }
59
- //# sourceMappingURL=e2e_prover_test.d.ts.map
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZTJlX3Byb3Zlcl90ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZml4dHVyZXMvZTJlX3Byb3Zlcl90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFFTCxLQUFLLDZCQUE2QixFQUduQyxNQUFNLGtCQUFrQixDQUFDO0FBRzFCLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFJdkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRS9ELE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBTXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdsRSxPQUFPLEVBRUwsS0FBSyxpQkFBaUIsRUFJdkIsTUFBTSx1QkFBdUIsQ0FBQztBQVUvQjs7Ozs7R0FLRztBQUVILHFCQUFhLGNBQWM7SUE4QnZCLE9BQU8sQ0FBQyxzQkFBc0I7SUFFOUIsT0FBTyxDQUFDLFVBQVU7SUEvQnBCLE1BQU0sQ0FBQyxVQUFVLFNBQVU7SUFDM0IsTUFBTSxDQUFDLFlBQVksU0FBUztJQUM1QixNQUFNLENBQUMsY0FBYyxTQUFPO0lBQzVCLE9BQU8sQ0FBQyxlQUFlLENBQW1CO0lBQzFDLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixNQUFNLEVBQUcsVUFBVSxDQUFDO0lBQ3BCLFlBQVksRUFBRyxVQUFVLENBQUM7SUFDMUIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFNO0lBQzlCLGdCQUFnQixFQUFHLGtCQUFrQixFQUFFLENBQUM7SUFDeEMsZUFBZSxFQUFHLGFBQWEsQ0FBQztJQUNoQyx1QkFBdUIsRUFBRywyQkFBMkIsQ0FBQztJQUN0RCxRQUFRLEVBQUcsY0FBYyxDQUFDO0lBQzFCLFNBQVMsRUFBRyxTQUFTLENBQUM7SUFDdEIsY0FBYyxFQUFHLGNBQWMsQ0FBQztJQUNoQyxVQUFVLEVBQUcsVUFBVSxDQUFDO0lBQ3hCLFFBQVEsRUFBRyxjQUFjLENBQUM7SUFDMUIsT0FBTyxDQUFDLGdCQUFnQixDQUFxQjtJQUM3QyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQXNCO0lBQzlDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFzQjtJQUNoRCxvQkFBb0IsQ0FBQyxFQUFFLDZCQUE2QixDQUFDO0lBQ3JELFdBQVcsRUFBRyxhQUFhLENBQUM7SUFDNUIsT0FBTyxDQUFDLE9BQU8sQ0FBcUI7SUFDcEMsT0FBTyxDQUFDLFVBQVUsQ0FBYztJQUNoQyxPQUFPLENBQUMsbUJBQW1CLENBQWM7SUFDbEMsV0FBVyxFQUFHLDJCQUEyQixDQUFDO0lBQzFDLGFBQWEsRUFBRyxVQUFVLENBQUM7SUFFbEMsWUFDRSxRQUFRLEVBQUUsTUFBTSxFQUNSLHNCQUFzQixFQUFFLE1BQU0sRUFDdEMsUUFBUSxFQUFFLFVBQVUsRUFDWixVQUFVLFVBQU8sRUFXMUI7SUFFRDs7OztPQUlHO0lBQ0csa0JBQWtCLGtCQXFEdkI7SUFFSyxLQUFLLGtCQXFJVjtZQUVhLFlBQVk7SUFTMUIsUUFBUSxHQUFJLENBQUMsOEpBSTJEO0lBRWxFLFFBQVEsa0JBY2I7SUFFSyxpQkFBaUIsa0JBNkN0QjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/e2e_prover_test.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,UAAU,EACV,KAAK,MAAM,EAGZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAEL,KAAK,6BAA6B,EAGnC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAInE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,uBAAuB,CAAC;AAU/B;;;;;GAKG;AAEH,qBAAa,cAAc;IA6BvB,OAAO,CAAC,sBAAsB;IAE9B,OAAO,CAAC,UAAU;IA9BpB,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAC5C,OAAO,EAAE,0BAA0B,EAAE,CAAM;IAC3C,QAAQ,EAAE,eAAe,EAAE,CAAM;IACjC,eAAe,EAAG,aAAa,CAAC;IAChC,QAAQ,EAAG,cAAc,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAChC,GAAG,EAAG,UAAU,CAAC;IACjB,UAAU,EAAG,UAAU,CAAC;IACxB,QAAQ,EAAG,cAAc,CAAC;IAC1B,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAChD,oBAAoB,CAAC,EAAE,6BAA6B,CAAC;IACrD,YAAY,EAAE,aAAa,EAAE,CAAM;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,mBAAmB,CAAc;IAClC,WAAW,EAAG,2BAA2B,CAAC;IAC1C,aAAa,EAAG,UAAU,CAAC;gBAGhC,QAAQ,EAAE,MAAM,EACR,sBAAsB,EAAE,MAAM,EACtC,QAAQ,EAAE,UAAU,EACZ,UAAU,UAAO;IAa3B;;;;OAIG;IACG,kBAAkB;IAwDlB,KAAK;YAiKG,YAAY;IAS1B,QAAQ,GAAI,CAAC,EACX,MAAM,MAAM,EACZ,OAAO,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,UAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAA2B,KAChG,OAAO,CAAC,IAAI,CAAC,CAAwD;IAElE,QAAQ;IAeR,iBAAiB;CAiDxB"}
1
+ {"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/e2e_prover_test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAEL,KAAK,6BAA6B,EAGnC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAIvF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMvD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,uBAAuB,CAAC;AAU/B;;;;;GAKG;AAEH,qBAAa,cAAc;IA8BvB,OAAO,CAAC,sBAAsB;IAE9B,OAAO,CAAC,UAAU;IA/BpB,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,UAAU,CAAC;IACpB,YAAY,EAAG,UAAU,CAAC;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAM;IAC9B,gBAAgB,EAAG,kBAAkB,EAAE,CAAC;IACxC,eAAe,EAAG,aAAa,CAAC;IAChC,uBAAuB,EAAG,2BAA2B,CAAC;IACtD,QAAQ,EAAG,cAAc,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAChC,UAAU,EAAG,UAAU,CAAC;IACxB,QAAQ,EAAG,cAAc,CAAC;IAC1B,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAChD,oBAAoB,CAAC,EAAE,6BAA6B,CAAC;IACrD,WAAW,EAAG,aAAa,CAAC;IAC5B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,mBAAmB,CAAc;IAClC,WAAW,EAAG,2BAA2B,CAAC;IAC1C,aAAa,EAAG,UAAU,CAAC;IAElC,YACE,QAAQ,EAAE,MAAM,EACR,sBAAsB,EAAE,MAAM,EACtC,QAAQ,EAAE,UAAU,EACZ,UAAU,UAAO,EAW1B;IAED;;;;OAIG;IACG,kBAAkB,kBAqDvB;IAEK,KAAK,kBAqIV;YAEa,YAAY;IAS1B,QAAQ,GAAI,CAAC,8JAI2D;IAElE,QAAQ,kBAcb;IAEK,iBAAiB,kBA6CtB;CACF"}
@@ -1,7 +1,8 @@
1
- import { SchnorrAccountContractArtifact, getSchnorrAccount, getSchnorrWalletWithSecretKey } from '@aztec/accounts/schnorr';
2
1
  import { createArchiver } from '@aztec/archiver';
3
- import { EthAddress, createLogger } from '@aztec/aztec.js';
2
+ import { EthAddress } from '@aztec/aztec.js/addresses';
3
+ import { createLogger } from '@aztec/aztec.js/log';
4
4
  import { BBCircuitVerifier, QueuedIVCVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
5
+ import { BackendType, Barretenberg } from '@aztec/bb.js';
5
6
  import { createBlobSinkClient } from '@aztec/blob-sink/client';
6
7
  import { Buffer32 } from '@aztec/foundation/buffer';
7
8
  import { SecretValue } from '@aztec/foundation/config';
@@ -15,7 +16,7 @@ import { TokenSimulator } from '../simulators/token_simulator.js';
15
16
  import { getACVMConfig } from './get_acvm_config.js';
16
17
  import { getBBConfig } from './get_bb_config.js';
17
18
  import { createSnapshotManager, deployAccounts, publicDeployAccounts } from './snapshot_manager.js';
18
- import { getPrivateKeyFromIndex, getSponsoredFPCAddress, setupPXEService } from './utils.js';
19
+ import { getPrivateKeyFromIndex, getSponsoredFPCAddress, setupPXEAndGetWallet } from './utils.js';
19
20
  const { E2E_DATA_PATH: dataPath } = process.env;
20
21
  /**
21
22
  * Largely taken from the e2e_token_contract test file. We deploy 2 accounts and a token contract.
@@ -30,21 +31,22 @@ const { E2E_DATA_PATH: dataPath } = process.env;
30
31
  static TOKEN_DECIMALS = 18n;
31
32
  snapshotManager;
32
33
  logger;
33
- deployedAccounts;
34
- wallets;
34
+ wallet;
35
+ provenWallet;
35
36
  accounts;
37
+ deployedAccounts;
36
38
  fakeProofsAsset;
39
+ fakeProofsAssetInstance;
37
40
  tokenSim;
38
41
  aztecNode;
39
42
  aztecNodeAdmin;
40
- pxe;
41
43
  cheatCodes;
42
44
  blobSink;
43
45
  provenComponents;
44
46
  bbConfigCleanup;
45
47
  acvmConfigCleanup;
46
48
  circuitProofVerifier;
47
- provenAssets;
49
+ provenAsset;
48
50
  context;
49
51
  proverNode;
50
52
  simulatedProverNode;
@@ -53,11 +55,8 @@ const { E2E_DATA_PATH: dataPath } = process.env;
53
55
  constructor(testName, minNumberOfTxsPerBlock, coinbase, realProofs = true){
54
56
  this.minNumberOfTxsPerBlock = minNumberOfTxsPerBlock;
55
57
  this.realProofs = realProofs;
56
- this.deployedAccounts = [];
57
- this.wallets = [];
58
58
  this.accounts = [];
59
59
  this.provenComponents = [];
60
- this.provenAssets = [];
61
60
  this.snapshot = (name, apply, restore = ()=>Promise.resolve())=>this.snapshotManager.snapshot(name, apply, restore);
62
61
  this.logger = createLogger(`e2e:full_prover_test:${testName}`);
63
62
  this.snapshotManager = createSnapshotManager(`full_prover_integration/${testName}`, dataPath, {
@@ -73,33 +72,35 @@ const { E2E_DATA_PATH: dataPath } = process.env;
73
72
  * 1. Add 2 accounts.
74
73
  * 2. Publicly deploy accounts, deploy token contract
75
74
  */ async applyBaseSnapshots() {
76
- await this.snapshotManager.snapshot('2_accounts', deployAccounts(2, this.logger), async ({ deployedAccounts }, { pxe })=>{
75
+ await this.snapshotManager.snapshot('2_accounts', deployAccounts(2, this.logger), ({ deployedAccounts }, { wallet })=>{
77
76
  this.deployedAccounts = deployedAccounts;
78
- this.wallets = await Promise.all(deployedAccounts.map((a)=>getSchnorrWalletWithSecretKey(pxe, a.secret, a.signingKey, a.salt)));
79
- this.accounts = this.wallets.map((w)=>w.getCompleteAddress());
80
- this.wallets.forEach((w, i)=>this.logger.verbose(`Wallet ${i} address: ${w.getAddress()}`));
77
+ this.accounts = deployedAccounts.map((a)=>a.address);
78
+ this.wallet = wallet;
79
+ return Promise.resolve();
81
80
  });
82
81
  await this.snapshotManager.snapshot('client_prover_integration', async ()=>{
83
82
  // Create the token contract state.
84
83
  // Move this account thing to addAccounts above?
85
84
  this.logger.verbose(`Public deploy accounts...`);
86
- await publicDeployAccounts(this.wallets[0], this.accounts.slice(0, 2));
85
+ await publicDeployAccounts(this.wallet, this.accounts.slice(0, 2));
87
86
  this.logger.verbose(`Deploying TokenContract...`);
88
- const asset = await TokenContract.deploy(this.wallets[0], this.accounts[0], FullProverTest.TOKEN_NAME, FullProverTest.TOKEN_SYMBOL, FullProverTest.TOKEN_DECIMALS).send({
89
- from: this.wallets[0].getAddress()
90
- }).deployed();
87
+ const { contract: asset, instance } = await TokenContract.deploy(this.wallet, this.accounts[0], FullProverTest.TOKEN_NAME, FullProverTest.TOKEN_SYMBOL, FullProverTest.TOKEN_DECIMALS).send({
88
+ from: this.accounts[0]
89
+ }).wait();
91
90
  this.logger.verbose(`Token deployed to ${asset.address}`);
92
91
  return {
93
- tokenContractAddress: asset.address
92
+ tokenContractAddress: asset.address,
93
+ tokenContractInstance: instance
94
94
  };
95
- }, async ({ tokenContractAddress })=>{
95
+ }, async ({ tokenContractAddress, tokenContractInstance })=>{
96
96
  // Restore the token contract state.
97
- this.fakeProofsAsset = await TokenContract.at(tokenContractAddress, this.wallets[0]);
97
+ this.fakeProofsAsset = TokenContract.at(tokenContractAddress, this.wallet);
98
+ this.fakeProofsAssetInstance = tokenContractInstance;
98
99
  this.logger.verbose(`Token contract address: ${this.fakeProofsAsset.address}`);
99
- this.tokenSim = new TokenSimulator(this.fakeProofsAsset, this.wallets[0], this.wallets[0].getAddress(), this.logger, this.accounts.map((a)=>a.address));
100
+ this.tokenSim = new TokenSimulator(this.fakeProofsAsset, this.wallet, this.accounts[0], this.logger, this.accounts);
100
101
  expect(await this.fakeProofsAsset.methods.get_admin().simulate({
101
- from: this.accounts[0].address
102
- })).toBe(this.accounts[0].address.toBigInt());
102
+ from: this.accounts[0]
103
+ })).toBe(this.accounts[0].toBigInt());
103
104
  });
104
105
  }
105
106
  async setup() {
@@ -107,7 +108,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
107
108
  // We don't wish to mark as proven automatically, so we set the flag to false
108
109
  this.context.watcher.setIsMarkingAsProven(false);
109
110
  this.simulatedProverNode = this.context.proverNode;
110
- ({ pxe: this.pxe, aztecNode: this.aztecNode, deployL1ContractsValues: this.l1Contracts, cheatCodes: this.cheatCodes, blobSink: this.blobSink } = this.context);
111
+ ({ aztecNode: this.aztecNode, deployL1ContractsValues: this.l1Contracts, cheatCodes: this.cheatCodes, blobSink: this.blobSink } = this.context);
111
112
  this.aztecNodeAdmin = this.context.aztecNode;
112
113
  const blobSinkClient = createBlobSinkClient({
113
114
  blobSinkUrl: `http://localhost:${this.blobSink.port}`
@@ -125,9 +126,9 @@ const { E2E_DATA_PATH: dataPath } = process.env;
125
126
  }
126
127
  this.acvmConfigCleanup = acvmConfig.cleanup;
127
128
  this.bbConfigCleanup = bbConfig.cleanup;
128
- if (!bbConfig?.bbWorkingDirectory || !bbConfig?.bbBinaryPath) {
129
- throw new Error(`Test must be run with BB native configuration`);
130
- }
129
+ await Barretenberg.initSingleton({
130
+ backend: BackendType.NativeUnixSocket
131
+ });
131
132
  const verifier = await BBCircuitVerifier.new(bbConfig);
132
133
  this.circuitProofVerifier = new QueuedIVCVerifier(bbConfig, verifier);
133
134
  this.logger.debug(`Configuring the node for real proofs...`);
@@ -147,31 +148,22 @@ const { E2E_DATA_PATH: dataPath } = process.env;
147
148
  this.logger.verbose(`Marking current block as proven`);
148
149
  await this.context.cheatCodes.rollup.markAsProven();
149
150
  this.logger.verbose(`Main setup completed, initializing full prover PXE, Node, and Prover Node`);
151
+ const { wallet: provenWallet, teardown: provenTeardown } = await setupPXEAndGetWallet(this.aztecNode, {
152
+ proverEnabled: this.realProofs
153
+ }, undefined, true);
154
+ this.logger.debug(`Contract address ${this.fakeProofsAsset.address}`);
155
+ await provenWallet.registerContract(this.fakeProofsAssetInstance, TokenContract.artifact);
150
156
  for(let i = 0; i < 2; i++){
151
- const result = await setupPXEService(this.aztecNode, {
152
- proverEnabled: this.realProofs,
153
- bbBinaryPath: bbConfig?.bbBinaryPath,
154
- bbWorkingDirectory: bbConfig?.bbWorkingDirectory
155
- }, undefined, true);
156
- this.logger.debug(`Contract address ${this.fakeProofsAsset.address}`);
157
- await result.pxe.registerContract(this.fakeProofsAsset);
158
- for(let i = 0; i < 2; i++){
159
- await result.pxe.registerAccount(this.deployedAccounts[i].secret, this.wallets[i].getCompleteAddress().partialAddress);
160
- await this.pxe.registerAccount(this.deployedAccounts[i].secret, this.wallets[i].getCompleteAddress().partialAddress);
161
- }
162
- const account = await getSchnorrAccount(result.pxe, this.deployedAccounts[0].secret, this.deployedAccounts[0].signingKey, this.deployedAccounts[0].salt);
163
- await result.pxe.registerContract({
164
- instance: account.getInstance(),
165
- artifact: SchnorrAccountContractArtifact
166
- });
167
- const provenWallet = await account.getWallet();
168
- const asset = await TokenContract.at(this.fakeProofsAsset.address, provenWallet);
169
- this.provenComponents.push({
170
- pxe: result.pxe,
171
- teardown: result.teardown
172
- });
173
- this.provenAssets.push(asset);
157
+ await provenWallet.createSchnorrAccount(this.deployedAccounts[i].secret, this.deployedAccounts[i].salt);
158
+ await this.wallet.createSchnorrAccount(this.deployedAccounts[i].secret, this.deployedAccounts[i].salt);
174
159
  }
160
+ const asset = TokenContract.at(this.fakeProofsAsset.address, provenWallet);
161
+ this.provenComponents.push({
162
+ wallet: provenWallet,
163
+ teardown: provenTeardown
164
+ });
165
+ this.provenAsset = asset;
166
+ this.provenWallet = provenWallet;
175
167
  this.logger.info(`Full prover PXE started`);
176
168
  // Shutdown the current, simulated prover node
177
169
  this.logger.verbose('Shutting down simulated prover node');
@@ -182,7 +174,8 @@ const { E2E_DATA_PATH: dataPath } = process.env;
182
174
  ...this.context.aztecNodeConfig,
183
175
  dataDirectory: undefined
184
176
  }, {
185
- blobSinkClient
177
+ blobSinkClient,
178
+ dateProvider: this.context.dateProvider
186
179
  }, {
187
180
  blockUntilSync: true
188
181
  });
@@ -210,7 +203,8 @@ const { E2E_DATA_PATH: dataPath } = process.env;
210
203
  txGatheringBatchSize: 10,
211
204
  txGatheringMaxParallelRequestsPerNode: 100,
212
205
  txGatheringTimeoutMs: 24_000,
213
- proverNodeFailedEpochStore: undefined
206
+ proverNodeFailedEpochStore: undefined,
207
+ proverNodeEpochProvingDelayMs: undefined
214
208
  };
215
209
  const sponsoredFPCAddress = await getSponsoredFPCAddress();
216
210
  const { prefilledPublicData } = await getGenesisValues(this.context.initialFundedAccounts.map((a)=>a.address).concat(sponsoredFPCAddress));
@@ -250,6 +244,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
250
244
  }
251
245
  // clean up the full prover node
252
246
  await this.proverNode.stop();
247
+ await Barretenberg.destroySingleton();
253
248
  await this.bbConfigCleanup?.();
254
249
  await this.acvmConfigCleanup?.();
255
250
  }
@@ -259,19 +254,19 @@ const { E2E_DATA_PATH: dataPath } = process.env;
259
254
  const privateAmount = 10000n;
260
255
  const publicAmount = 10000n;
261
256
  this.logger.verbose(`Minting ${privateAmount + publicAmount} publicly...`);
262
- await asset.methods.mint_to_public(accounts[0].address, privateAmount + publicAmount).send({
263
- from: accounts[0].address
257
+ await asset.methods.mint_to_public(accounts[0], privateAmount + publicAmount).send({
258
+ from: accounts[0]
264
259
  }).wait();
265
260
  this.logger.verbose(`Transferring ${privateAmount} to private...`);
266
- await asset.methods.transfer_to_private(accounts[0].address, privateAmount).send({
267
- from: accounts[0].address
261
+ await asset.methods.transfer_to_private(accounts[0], privateAmount).send({
262
+ from: accounts[0]
268
263
  }).wait();
269
264
  this.logger.verbose(`Minting complete.`);
270
265
  return {
271
266
  amount: publicAmount
272
267
  };
273
268
  }, async ({ amount })=>{
274
- const { fakeProofsAsset: asset, accounts: [{ address }], tokenSim } = this;
269
+ const { fakeProofsAsset: asset, accounts: [address], tokenSim } = this;
275
270
  tokenSim.mintPublic(address, amount);
276
271
  const publicBalance = await asset.methods.balance_of_public(address).simulate({
277
272
  from: address
@@ -13,4 +13,4 @@ export declare const NO_L1_TO_L2_MSG_ERROR: RegExp;
13
13
  export declare const STATIC_CALL_STATE_MODIFICATION_ERROR: RegExp;
14
14
  export declare const STATIC_CONTEXT_ASSERTION_ERROR: RegExp;
15
15
  export declare const DEFAULT_BLOB_SINK_PORT = "5052";
16
- //# sourceMappingURL=fixtures.d.ts.map
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFPLE1BQU0sWUFBWSxPQUFPLENBQUM7QUFFakMsZUFBTyxNQUFNLG9CQUFvQix3QkFLaEMsQ0FBQztBQUVGLGVBQU8sTUFBTSwyQkFBMkIsT0FBTyxDQUFDO0FBQ2hELGVBQU8sTUFBTSxxQkFBcUIsUUFBeUIsQ0FBQztBQUU1RCxlQUFPLE1BQU0sUUFBUSxnRUFBZ0UsQ0FBQztBQUN0RixlQUFPLE1BQU0sVUFBVSxxQkFBeUYsQ0FBQztBQUNqSCxlQUFPLE1BQU0sV0FBVyxxQkFBeUYsQ0FBQztBQUdsSCxlQUFPLE1BQU0sb0JBQW9CLHdEQUF3RCxDQUFDO0FBQzFGLGVBQU8sTUFBTSxtQkFBbUIsbURBQW1ELENBQUM7QUFDcEYsZUFBTyxNQUFNLHFCQUFxQiwrRUFBK0UsQ0FBQztBQUVsSCxlQUFPLE1BQU0seUJBQXlCLFFBQWdDLENBQUM7QUFDdkUsZUFBTyxNQUFNLHFCQUFxQixRQUN3RSxDQUFDO0FBQzNHLGVBQU8sTUFBTSxvQ0FBb0MsUUFBMEMsQ0FBQztBQUM1RixlQUFPLE1BQU0sOEJBQThCLFFBQWtFLENBQUM7QUFFOUcsZUFBTyxNQUFNLHNCQUFzQixTQUFTLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/fixtures/fixtures.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,eAAO,MAAM,oBAAoB,wBAKhC,CAAC;AAEF,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAChD,eAAO,MAAM,qBAAqB,QAAyB,CAAC;AAE5D,eAAO,MAAM,QAAQ,gEAAgE,CAAC;AACtF,eAAO,MAAM,UAAU,qBAAyF,CAAC;AACjH,eAAO,MAAM,WAAW,qBAAyF,CAAC;AAGlH,eAAO,MAAM,oBAAoB,wDAAwD,CAAC;AAC1F,eAAO,MAAM,mBAAmB,mDAAmD,CAAC;AACpF,eAAO,MAAM,qBAAqB,+EAA+E,CAAC;AAElH,eAAO,MAAM,yBAAyB,QAAgC,CAAC;AACvE,eAAO,MAAM,qBAAqB,QACwE,CAAC;AAC3G,eAAO,MAAM,oCAAoC,QAC+B,CAAC;AACjF,eAAO,MAAM,8BAA8B,QAAkE,CAAC;AAE9G,eAAO,MAAM,sBAAsB,SAAS,CAAC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/fixtures/fixtures.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,eAAO,MAAM,oBAAoB,wBAKhC,CAAC;AAEF,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAChD,eAAO,MAAM,qBAAqB,QAAyB,CAAC;AAE5D,eAAO,MAAM,QAAQ,gEAAgE,CAAC;AACtF,eAAO,MAAM,UAAU,qBAAyF,CAAC;AACjH,eAAO,MAAM,WAAW,qBAAyF,CAAC;AAGlH,eAAO,MAAM,oBAAoB,wDAAwD,CAAC;AAC1F,eAAO,MAAM,mBAAmB,mDAAmD,CAAC;AACpF,eAAO,MAAM,qBAAqB,+EAA+E,CAAC;AAElH,eAAO,MAAM,yBAAyB,QAAgC,CAAC;AACvE,eAAO,MAAM,qBAAqB,QACwE,CAAC;AAC3G,eAAO,MAAM,oCAAoC,QAA0C,CAAC;AAC5F,eAAO,MAAM,8BAA8B,QAAkE,CAAC;AAE9G,eAAO,MAAM,sBAAsB,SAAS,CAAC"}
@@ -17,6 +17,6 @@ export const BITSIZE_TOO_BIG_ERROR = "Assertion failed: call to assert_max_bit_s
17
17
  // TODO(https://github.com/AztecProtocol/aztec-packages/issues/5818): Make these a fixed error after transition.
18
18
  export const DUPLICATE_NULLIFIER_ERROR = /dropped|nullifier|reverted/i;
19
19
  export const NO_L1_TO_L2_MSG_ERROR = /No non-nullified L1 to L2 message found for message hash|Tried to consume nonexistent L1-to-L2 message/;
20
- export const STATIC_CALL_STATE_MODIFICATION_ERROR = /Static call cannot update the state, emit L2->L1 messages or generate logs.*/;
20
+ export const STATIC_CALL_STATE_MODIFICATION_ERROR = /Static call cannot update the state.*/;
21
21
  export const STATIC_CONTEXT_ASSERTION_ERROR = /Assertion failed: Function .* can only be called statically.*/;
22
22
  export const DEFAULT_BLOB_SINK_PORT = '5052';