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

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 (209) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +3 -2
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/benchmark.js +21 -1
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts +21 -15
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  6. package/dest/bench/client_flows/client_flows_benchmark.js +129 -119
  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 +7 -27
  10. package/dest/bench/utils.d.ts +8 -7
  11. package/dest/bench/utils.d.ts.map +1 -1
  12. package/dest/bench/utils.js +27 -18
  13. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +6 -7
  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 +96 -112
  16. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +19 -13
  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 +91 -70
  19. package/dest/e2e_deploy_contract/deploy_test.d.ts +5 -4
  20. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  21. package/dest/e2e_deploy_contract/deploy_test.js +18 -13
  22. package/dest/e2e_epochs/epochs_test.d.ts +11 -9
  23. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  24. package/dest/e2e_epochs/epochs_test.js +22 -16
  25. package/dest/e2e_fees/bridging_race.notest.d.ts +1 -1
  26. package/dest/e2e_fees/bridging_race.notest.js +5 -7
  27. package/dest/e2e_fees/fees_test.d.ts +20 -16
  28. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  29. package/dest/e2e_fees/fees_test.js +127 -139
  30. package/dest/e2e_l1_publisher/write_json.d.ts +2 -2
  31. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  32. package/dest/e2e_l1_publisher/write_json.js +23 -18
  33. package/dest/e2e_multi_validator/utils.d.ts +1 -1
  34. package/dest/e2e_multi_validator/utils.js +1 -1
  35. package/dest/e2e_nested_contract/nested_contract_test.d.ts +6 -9
  36. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  37. package/dest/e2e_nested_contract/nested_contract_test.js +31 -38
  38. package/dest/e2e_p2p/inactivity_slash_test.d.ts +3 -3
  39. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
  40. package/dest/e2e_p2p/inactivity_slash_test.js +7 -6
  41. package/dest/e2e_p2p/p2p_network.d.ts +225 -18
  42. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  43. package/dest/e2e_p2p/p2p_network.js +119 -109
  44. package/dest/e2e_p2p/shared.d.ts +11 -11
  45. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  46. package/dest/e2e_p2p/shared.js +13 -19
  47. package/dest/e2e_token_contract/token_contract_test.d.ts +16 -9
  48. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  49. package/dest/e2e_token_contract/token_contract_test.js +89 -91
  50. package/dest/fixtures/e2e_prover_test.d.ts +12 -18
  51. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  52. package/dest/fixtures/e2e_prover_test.js +100 -108
  53. package/dest/fixtures/fixtures.d.ts +2 -3
  54. package/dest/fixtures/fixtures.d.ts.map +1 -1
  55. package/dest/fixtures/fixtures.js +2 -3
  56. package/dest/fixtures/get_acvm_config.d.ts +1 -1
  57. package/dest/fixtures/get_acvm_config.js +1 -1
  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/index.d.ts +1 -1
  61. package/dest/fixtures/l1_to_l2_messaging.d.ts +4 -3
  62. package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
  63. package/dest/fixtures/l1_to_l2_messaging.js +2 -2
  64. package/dest/fixtures/logging.d.ts +1 -1
  65. package/dest/fixtures/setup.d.ts +216 -0
  66. package/dest/fixtures/setup.d.ts.map +1 -0
  67. package/dest/fixtures/setup.js +684 -0
  68. package/dest/fixtures/setup_p2p_test.d.ts +4 -4
  69. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  70. package/dest/fixtures/setup_p2p_test.js +18 -10
  71. package/dest/fixtures/token_utils.d.ts +5 -2
  72. package/dest/fixtures/token_utils.d.ts.map +1 -1
  73. package/dest/fixtures/token_utils.js +13 -7
  74. package/dest/fixtures/utils.d.ts +5 -192
  75. package/dest/fixtures/utils.d.ts.map +1 -1
  76. package/dest/fixtures/utils.js +4 -648
  77. package/dest/fixtures/web3signer.d.ts +1 -1
  78. package/dest/fixtures/web3signer.js +1 -1
  79. package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
  80. package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
  81. package/dest/fixtures/with_telemetry_utils.js +2 -2
  82. package/dest/index.d.ts +1 -1
  83. package/dest/quality_of_service/grafana_client.d.ts +41 -0
  84. package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
  85. package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
  86. package/dest/quality_of_service/prometheus_client.d.ts +38 -0
  87. package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
  88. package/dest/quality_of_service/prometheus_client.js +67 -0
  89. package/dest/shared/cross_chain_test_harness.d.ts +7 -6
  90. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  91. package/dest/shared/cross_chain_test_harness.js +14 -14
  92. package/dest/shared/gas_portal_test_harness.d.ts +2 -2
  93. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  94. package/dest/shared/gas_portal_test_harness.js +2 -2
  95. package/dest/shared/index.d.ts +2 -2
  96. package/dest/shared/index.d.ts.map +1 -1
  97. package/dest/shared/jest_setup.d.ts +1 -1
  98. package/dest/shared/submit-transactions.d.ts +3 -3
  99. package/dest/shared/submit-transactions.d.ts.map +1 -1
  100. package/dest/shared/submit-transactions.js +9 -11
  101. package/dest/shared/uniswap_l1_l2.d.ts +3 -27
  102. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  103. package/dest/shared/uniswap_l1_l2.js +55 -35
  104. package/dest/simulators/index.d.ts +1 -1
  105. package/dest/simulators/lending_simulator.d.ts +2 -2
  106. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  107. package/dest/simulators/lending_simulator.js +6 -4
  108. package/dest/simulators/token_simulator.d.ts +1 -1
  109. package/dest/simulators/token_simulator.d.ts.map +1 -1
  110. package/dest/spartan/setup_test_wallets.d.ts +8 -5
  111. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  112. package/dest/spartan/setup_test_wallets.js +85 -23
  113. package/dest/spartan/tx_metrics.d.ts +54 -0
  114. package/dest/spartan/tx_metrics.d.ts.map +1 -0
  115. package/dest/spartan/tx_metrics.js +272 -0
  116. package/dest/spartan/utils/bot.d.ts +27 -0
  117. package/dest/spartan/utils/bot.d.ts.map +1 -0
  118. package/dest/spartan/utils/bot.js +141 -0
  119. package/dest/spartan/utils/chaos.d.ts +79 -0
  120. package/dest/spartan/utils/chaos.d.ts.map +1 -0
  121. package/dest/spartan/utils/chaos.js +142 -0
  122. package/dest/spartan/utils/clients.d.ts +39 -0
  123. package/dest/spartan/utils/clients.d.ts.map +1 -0
  124. package/dest/spartan/utils/clients.js +90 -0
  125. package/dest/spartan/utils/config.d.ts +36 -0
  126. package/dest/spartan/utils/config.d.ts.map +1 -0
  127. package/dest/spartan/utils/config.js +20 -0
  128. package/dest/spartan/utils/health.d.ts +63 -0
  129. package/dest/spartan/utils/health.d.ts.map +1 -0
  130. package/dest/spartan/utils/health.js +202 -0
  131. package/dest/spartan/utils/helm.d.ts +15 -0
  132. package/dest/spartan/utils/helm.d.ts.map +1 -0
  133. package/dest/spartan/utils/helm.js +47 -0
  134. package/dest/spartan/utils/index.d.ts +9 -0
  135. package/dest/spartan/utils/index.d.ts.map +1 -0
  136. package/dest/spartan/utils/index.js +18 -0
  137. package/dest/spartan/utils/k8s.d.ts +98 -0
  138. package/dest/spartan/utils/k8s.d.ts.map +1 -0
  139. package/dest/spartan/utils/k8s.js +257 -0
  140. package/dest/spartan/utils/nodes.d.ts +31 -0
  141. package/dest/spartan/utils/nodes.d.ts.map +1 -0
  142. package/dest/spartan/utils/nodes.js +290 -0
  143. package/dest/spartan/utils/scripts.d.ts +16 -0
  144. package/dest/spartan/utils/scripts.d.ts.map +1 -0
  145. package/dest/spartan/utils/scripts.js +66 -0
  146. package/dest/spartan/utils.d.ts +2 -218
  147. package/dest/spartan/utils.d.ts.map +1 -1
  148. package/dest/spartan/utils.js +1 -749
  149. package/package.json +43 -40
  150. package/src/bench/client_flows/benchmark.ts +24 -2
  151. package/src/bench/client_flows/client_flows_benchmark.ts +152 -170
  152. package/src/bench/client_flows/data_extractor.ts +6 -28
  153. package/src/bench/utils.ts +30 -20
  154. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +104 -142
  155. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +140 -124
  156. package/src/e2e_deploy_contract/deploy_test.ts +22 -15
  157. package/src/e2e_epochs/epochs_test.ts +67 -48
  158. package/src/e2e_fees/bridging_race.notest.ts +5 -11
  159. package/src/e2e_fees/fees_test.ts +180 -219
  160. package/src/e2e_l1_publisher/write_json.ts +25 -19
  161. package/src/e2e_multi_validator/utils.ts +1 -1
  162. package/src/e2e_nested_contract/nested_contract_test.ts +33 -55
  163. package/src/e2e_p2p/inactivity_slash_test.ts +10 -9
  164. package/src/e2e_p2p/p2p_network.ts +180 -180
  165. package/src/e2e_p2p/shared.ts +25 -27
  166. package/src/e2e_token_contract/token_contract_test.ts +103 -118
  167. package/src/fixtures/e2e_prover_test.ts +111 -149
  168. package/src/fixtures/fixtures.ts +2 -5
  169. package/src/fixtures/get_acvm_config.ts +1 -1
  170. package/src/fixtures/l1_to_l2_messaging.ts +4 -2
  171. package/src/fixtures/setup.ts +1006 -0
  172. package/src/fixtures/setup_p2p_test.ts +23 -9
  173. package/src/fixtures/token_utils.ts +8 -7
  174. package/src/fixtures/utils.ts +27 -947
  175. package/src/fixtures/web3signer.ts +1 -1
  176. package/src/fixtures/with_telemetry_utils.ts +2 -2
  177. package/src/guides/up_quick_start.sh +1 -1
  178. package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +1 -1
  179. package/src/quality_of_service/prometheus_client.ts +113 -0
  180. package/src/shared/cross_chain_test_harness.ts +19 -36
  181. package/src/shared/gas_portal_test_harness.ts +3 -3
  182. package/src/shared/index.ts +1 -1
  183. package/src/shared/submit-transactions.ts +9 -15
  184. package/src/shared/uniswap_l1_l2.ts +65 -86
  185. package/src/simulators/lending_simulator.ts +7 -5
  186. package/src/spartan/DEVELOP.md +7 -0
  187. package/src/spartan/setup_test_wallets.ts +119 -28
  188. package/src/spartan/tx_metrics.ts +250 -0
  189. package/src/spartan/utils/bot.ts +185 -0
  190. package/src/spartan/utils/chaos.ts +253 -0
  191. package/src/spartan/utils/clients.ts +100 -0
  192. package/src/spartan/utils/config.ts +26 -0
  193. package/src/spartan/utils/health.ts +255 -0
  194. package/src/spartan/utils/helm.ts +84 -0
  195. package/src/spartan/utils/index.ts +62 -0
  196. package/src/spartan/utils/k8s.ts +375 -0
  197. package/src/spartan/utils/nodes.ts +323 -0
  198. package/src/spartan/utils/scripts.ts +63 -0
  199. package/src/spartan/utils.ts +1 -942
  200. package/dest/fixtures/setup_l1_contracts.d.ts +0 -6
  201. package/dest/fixtures/setup_l1_contracts.d.ts.map +0 -1
  202. package/dest/fixtures/setup_l1_contracts.js +0 -17
  203. package/dest/fixtures/snapshot_manager.d.ts +0 -95
  204. package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
  205. package/dest/fixtures/snapshot_manager.js +0 -505
  206. package/dest/quality_of_service/alert_checker.d.ts +0 -41
  207. package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
  208. package/src/fixtures/setup_l1_contracts.ts +0 -26
  209. package/src/fixtures/snapshot_manager.ts +0 -665
@@ -1 +1 @@
1
- {"version":3,"file":"fees_test.d.ts","sourceRoot":"","sources":["../../src/e2e_fees/fees_test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fees_test.d.ts","sourceRoot":"","sources":["../../src/e2e_fees/fees_test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { createLogger } from '@aztec/aztec.js/log';
2
- import { RollupContract, createExtendedL1Client } from '@aztec/ethereum';
2
+ import { createExtendedL1Client } from '@aztec/ethereum/client';
3
+ import { RollupContract } from '@aztec/ethereum/contracts';
3
4
  import { ChainMonitor } from '@aztec/ethereum/test';
4
5
  import { EthAddress } from '@aztec/foundation/eth-address';
5
6
  import { sleep } from '@aztec/foundation/sleep';
@@ -13,13 +14,12 @@ import { getCanonicalFeeJuice } from '@aztec/protocol-contracts/fee-juice';
13
14
  import { GasSettings } from '@aztec/stdlib/gas';
14
15
  import { getContract } from 'viem';
15
16
  import { MNEMONIC } from '../fixtures/fixtures.js';
16
- import { createSnapshotManager, deployAccounts } from '../fixtures/snapshot_manager.js';
17
+ import { deployAccounts, publicDeployAccounts, setup, teardown } from '../fixtures/setup.js';
17
18
  import { mintTokensToPrivate } from '../fixtures/token_utils.js';
18
- import { ensureAccountContractsPublished, getBalancesFn, setupSponsoredFPC } from '../fixtures/utils.js';
19
+ import { getBalancesFn, setupSponsoredFPC } from '../fixtures/utils.js';
19
20
  import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_harness.js';
20
- const { E2E_DATA_PATH: dataPath } = process.env;
21
21
  /**
22
- * Test fixture for testing fees. Provides the following snapshots:
22
+ * Test fixture for testing fees. Provides the following setup steps:
23
23
  * InitialAccounts: Initializes 3 Schnorr account contracts.
24
24
  * PublicDeployAccounts: Deploys the accounts publicly.
25
25
  * DeployFeeJuice: Deploys the Fee Juice contract.
@@ -29,10 +29,12 @@ const { E2E_DATA_PATH: dataPath } = process.env;
29
29
  * SetupSubscription: Deploys a counter contract and a subscription contract, and mints Fee Juice to the subscription contract.
30
30
  */ export class FeesTest {
31
31
  numberOfAccounts;
32
- snapshotManager;
32
+ setupOptions;
33
33
  accounts;
34
+ context;
34
35
  logger;
35
36
  aztecNode;
37
+ aztecNodeAdmin;
36
38
  cheatCodes;
37
39
  wallet;
38
40
  aliceAddress;
@@ -49,7 +51,6 @@ const { E2E_DATA_PATH: dataPath } = process.env;
49
51
  counterContract;
50
52
  subscriptionContract;
51
53
  feeJuiceBridgeTestHarness;
52
- context;
53
54
  chainMonitor;
54
55
  getCoinbaseBalance;
55
56
  getCoinbaseSequencerRewards;
@@ -62,6 +63,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
62
63
  APP_SPONSORED_TX_GAS_LIMIT;
63
64
  constructor(testName, numberOfAccounts = 3, setupOptions = {}){
64
65
  this.numberOfAccounts = numberOfAccounts;
66
+ this.setupOptions = setupOptions;
65
67
  this.accounts = [];
66
68
  this.ALICE_INITIAL_BANANAS = BigInt(1e22);
67
69
  this.SUBSCRIPTION_AMOUNT = BigInt(1e19);
@@ -72,22 +74,26 @@ const { E2E_DATA_PATH: dataPath } = process.env;
72
74
  setupOptions.coinbase ??= EthAddress.random();
73
75
  this.coinbase = setupOptions.coinbase;
74
76
  this.logger = createLogger(`e2e:e2e_fees:${testName}`);
75
- this.snapshotManager = createSnapshotManager(`e2e_fees/${testName}-${numberOfAccounts}`, dataPath, {
76
- startProverNode: true,
77
- ...setupOptions
78
- }, {
79
- ...setupOptions
80
- });
81
77
  }
82
78
  async setup() {
83
- const context = await this.snapshotManager.setup();
84
- this.rollupContract = RollupContract.getFromConfig(context.aztecNodeConfig);
85
- this.chainMonitor = new ChainMonitor(this.rollupContract, context.dateProvider, this.logger, 200).start();
79
+ this.logger.verbose('Setting up fresh context...');
80
+ this.context = await setup(0, {
81
+ startProverNode: true,
82
+ ...this.setupOptions,
83
+ fundSponsoredFPC: true,
84
+ skipAccountDeployment: true,
85
+ l1ContractsArgs: {
86
+ ...this.setupOptions
87
+ }
88
+ });
89
+ this.rollupContract = RollupContract.getFromConfig(this.context.config);
90
+ this.chainMonitor = new ChainMonitor(this.rollupContract, this.context.dateProvider, this.logger, 200).start();
91
+ await this.applyBaseSetup();
86
92
  return this;
87
93
  }
88
94
  async teardown() {
89
95
  await this.chainMonitor.stop();
90
- await this.snapshotManager.teardown();
96
+ await teardown(this.context);
91
97
  }
92
98
  setIsMarkingAsProven(b) {
93
99
  this.context.watcher.setIsMarkingAsProven(b);
@@ -99,9 +105,9 @@ const { E2E_DATA_PATH: dataPath } = process.env;
99
105
  }
100
106
  }
101
107
  async getBlockRewards() {
102
- const blockReward = await this.rollupContract.getBlockReward();
108
+ const blockReward = await this.rollupContract.getCheckpointReward();
103
109
  const rewardConfig = await this.rollupContract.getRewardConfig();
104
- const balance = await this.feeJuiceBridgeTestHarness.getL1FeeJuiceBalance(EthAddress.fromString(rewardConfig.rewardDistributor));
110
+ const balance = await this.feeJuiceBridgeTestHarness.getL1FeeJuiceBalance(rewardConfig.rewardDistributor);
105
111
  const toDistribute = balance > blockReward ? blockReward : balance;
106
112
  const sequencerBlockRewards = toDistribute * BigInt(rewardConfig.sequencerBps) / 10000n;
107
113
  const proverBlockRewards = toDistribute - sequencerBlockRewards;
@@ -115,7 +121,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
115
121
  const { claimSecret: secret, messageLeafIndex: index } = claim;
116
122
  await this.feeJuiceContract.methods.claim(recipient, claim.claimAmount, secret, index).send({
117
123
  from: minter
118
- }).wait();
124
+ });
119
125
  }
120
126
  /** Alice mints bananaCoin tokens privately to the target address and redeems them. */ async mintPrivateBananas(amount, address) {
121
127
  const balanceBefore = await this.bananaCoin.methods.balance_of_private(address).simulate({
@@ -127,134 +133,116 @@ const { E2E_DATA_PATH: dataPath } = process.env;
127
133
  });
128
134
  expect(balanceAfter).toEqual(balanceBefore + amount);
129
135
  }
130
- async applyBaseSnapshots() {
131
- await this.applyInitialAccountsSnapshot();
132
- await this.applyPublicDeployAccountsSnapshot();
133
- await this.applySetupFeeJuiceSnapshot();
134
- await this.applyDeployBananaTokenSnapshot();
135
- }
136
- async applyInitialAccountsSnapshot() {
137
- await this.snapshotManager.snapshot('initial_accounts', deployAccounts(this.numberOfAccounts, this.logger), async ({ deployedAccounts }, { wallet, aztecNode, cheatCodes })=>{
138
- this.wallet = wallet;
139
- this.aztecNode = aztecNode;
140
- this.gasSettings = GasSettings.default({
141
- maxFeesPerGas: (await this.aztecNode.getCurrentBaseFees()).mul(2)
142
- });
143
- this.cheatCodes = cheatCodes;
144
- this.accounts = deployedAccounts.map((a)=>a.address);
145
- this.accounts.forEach((a, i)=>this.logger.verbose(`Account ${i} address: ${a}`));
146
- [this.aliceAddress, this.bobAddress, this.sequencerAddress] = this.accounts.slice(0, 3);
147
- // We set Alice as the FPC admin to avoid the need for deployment of another account.
148
- this.fpcAdmin = this.aliceAddress;
149
- const canonicalFeeJuice = await getCanonicalFeeJuice();
150
- this.feeJuiceContract = await FeeJuiceContract.at(canonicalFeeJuice.address, this.wallet);
136
+ async applyBaseSetup() {
137
+ await this.applyInitialAccounts();
138
+ await this.applyPublicDeployAccounts();
139
+ await this.applySetupFeeJuice();
140
+ await this.applyDeployBananaToken();
141
+ }
142
+ async applyInitialAccounts() {
143
+ this.logger.info('Applying initial accounts setup');
144
+ const { deployedAccounts } = await deployAccounts(this.numberOfAccounts, this.logger)({
145
+ wallet: this.context.wallet,
146
+ initialFundedAccounts: this.context.initialFundedAccounts
151
147
  });
152
- }
153
- async applyPublicDeployAccountsSnapshot() {
154
- await this.snapshotManager.snapshot('public_deploy_accounts', ()=>ensureAccountContractsPublished(this.wallet, this.accounts));
155
- }
156
- async applySetupFeeJuiceSnapshot() {
157
- await this.snapshotManager.snapshot('setup_fee_juice', async ()=>{}, async (_data, context)=>{
158
- this.context = context;
159
- this.feeJuiceContract = await FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.wallet);
160
- this.getGasBalanceFn = getBalancesFn('⛽', this.feeJuiceContract.methods.balance_of_public, this.aliceAddress, this.logger);
161
- this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
162
- aztecNode: context.aztecNode,
163
- aztecNodeAdmin: context.aztecNode,
164
- l1Client: context.deployL1ContractsValues.l1Client,
165
- wallet: this.wallet,
166
- logger: this.logger
167
- });
148
+ this.wallet = this.context.wallet;
149
+ this.aztecNode = this.context.aztecNodeService;
150
+ this.aztecNodeAdmin = this.context.aztecNodeService;
151
+ this.gasSettings = GasSettings.default({
152
+ maxFeesPerGas: (await this.aztecNode.getCurrentMinFees()).mul(2)
168
153
  });
169
- }
170
- async applyDeployBananaTokenSnapshot() {
171
- await this.snapshotManager.snapshot('deploy_banana_token', async ()=>{
172
- const bananaCoin = await BananaCoin.deploy(this.wallet, this.aliceAddress, 'BC', 'BC', 18n).send({
173
- from: this.aliceAddress
174
- }).deployed();
175
- this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
176
- return {
177
- bananaCoinAddress: bananaCoin.address
178
- };
179
- }, async ({ bananaCoinAddress })=>{
180
- this.bananaCoin = await BananaCoin.at(bananaCoinAddress, this.wallet);
181
- const logger = this.logger;
182
- this.getBananaPublicBalanceFn = getBalancesFn('🍌.public', this.bananaCoin.methods.balance_of_public, this.aliceAddress, logger);
183
- this.getBananaPrivateBalanceFn = getBalancesFn('🍌.private', this.bananaCoin.methods.balance_of_private, this.aliceAddress, logger);
154
+ this.cheatCodes = this.context.cheatCodes;
155
+ this.accounts = deployedAccounts.map((a)=>a.address);
156
+ this.accounts.forEach((a, i)=>this.logger.verbose(`Account ${i} address: ${a}`));
157
+ [this.aliceAddress, this.bobAddress, this.sequencerAddress] = this.accounts.slice(0, 3);
158
+ // We set Alice as the FPC admin to avoid the need for deployment of another account.
159
+ this.fpcAdmin = this.aliceAddress;
160
+ const canonicalFeeJuice = await getCanonicalFeeJuice();
161
+ this.feeJuiceContract = FeeJuiceContract.at(canonicalFeeJuice.address, this.wallet);
162
+ }
163
+ async applyPublicDeployAccounts() {
164
+ this.logger.info('Applying public deploy accounts setup');
165
+ await publicDeployAccounts(this.wallet, this.accounts);
166
+ }
167
+ async applySetupFeeJuice() {
168
+ this.logger.info('Applying fee juice setup');
169
+ this.feeJuiceContract = FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.wallet);
170
+ this.getGasBalanceFn = getBalancesFn('⛽', this.feeJuiceContract.methods.balance_of_public, this.aliceAddress, this.logger);
171
+ this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
172
+ aztecNode: this.context.aztecNodeService,
173
+ aztecNodeAdmin: this.context.aztecNodeService,
174
+ l1Client: this.context.deployL1ContractsValues.l1Client,
175
+ wallet: this.wallet,
176
+ logger: this.logger
184
177
  });
185
178
  }
186
- async applyFPCSetupSnapshot() {
187
- await this.snapshotManager.snapshot('fpc_setup', async (context)=>{
188
- const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
189
- expect((await context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
190
- const bananaCoin = this.bananaCoin;
191
- const bananaFPC = await FPCContract.deploy(this.wallet, bananaCoin.address, this.fpcAdmin).send({
192
- from: this.aliceAddress
193
- }).deployed();
194
- this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
195
- await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(bananaFPC.address, this.aliceAddress);
196
- return {
197
- bananaFPCAddress: bananaFPC.address,
198
- feeJuiceAddress: feeJuiceContract.address,
199
- l1FeeJuiceAddress: this.feeJuiceBridgeTestHarness.l1FeeJuiceAddress,
200
- rollupAddress: context.deployL1ContractsValues.l1ContractAddresses.rollupAddress
201
- };
202
- }, async (data, context)=>{
203
- const bananaFPC = await FPCContract.at(data.bananaFPCAddress, this.wallet);
204
- this.bananaFPC = bananaFPC;
205
- this.getCoinbaseBalance = async ()=>{
206
- const l1Client = createExtendedL1Client(context.aztecNodeConfig.l1RpcUrls, MNEMONIC);
207
- const gasL1 = getContract({
208
- address: data.l1FeeJuiceAddress.toString(),
209
- abi: TestERC20Abi,
210
- client: l1Client
211
- });
212
- return await gasL1.read.balanceOf([
213
- this.coinbase.toString()
214
- ]);
215
- };
216
- this.getCoinbaseSequencerRewards = async ()=>{
217
- return await this.rollupContract.getSequencerRewards(this.coinbase);
218
- };
219
- this.getProverFee = async (blockNumber)=>{
220
- const block = await this.aztecNode.getBlock(blockNumber);
221
- // @todo @lherskind As we deal with #13601
222
- // Right now the value is from `FeeLib.sol`
223
- const L1_GAS_PER_EPOCH_VERIFIED = 1000000n;
224
- // We round up
225
- const mulDiv = (a, b, c)=>a * b / c + (a * b % c > 0n ? 1n : 0n);
226
- const { baseFee } = await this.rollupContract.getL1FeesAt(block.header.globalVariables.timestamp);
227
- const proverCost = mulDiv(mulDiv(L1_GAS_PER_EPOCH_VERIFIED, baseFee, await this.rollupContract.getEpochDuration()), 1n, await this.rollupContract.getManaTarget()) + await this.rollupContract.getProvingCostPerMana();
228
- const price = await this.rollupContract.getFeeAssetPerEth();
229
- const mana = block.header.totalManaUsed.toBigInt();
230
- return mulDiv(mana * proverCost, price, 10n ** 9n);
231
- };
179
+ async applyDeployBananaToken() {
180
+ this.logger.info('Applying deploy banana token setup');
181
+ const bananaCoin = await BananaCoin.deploy(this.wallet, this.aliceAddress, 'BC', 'BC', 18n).send({
182
+ from: this.aliceAddress
232
183
  });
233
- }
234
- async applySponsoredFPCSetupSnapshot() {
235
- await this.snapshotManager.snapshot('sponsored_fpc_setup', async (context)=>{
236
- const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
237
- expect((await context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
238
- const sponsoredFPC = await setupSponsoredFPC(this.wallet);
239
- this.logger.info(`SponsoredFPC at ${sponsoredFPC.address}`);
240
- return {
241
- sponsoredFPCAddress: sponsoredFPC.address
242
- };
243
- }, async (data)=>{
244
- this.sponsoredFPC = await SponsoredFPCContract.at(data.sponsoredFPCAddress, this.wallet);
184
+ this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
185
+ this.bananaCoin = bananaCoin;
186
+ this.getBananaPublicBalanceFn = getBalancesFn('🍌.public', this.bananaCoin.methods.balance_of_public, this.aliceAddress, this.logger);
187
+ this.getBananaPrivateBalanceFn = getBalancesFn('🍌.private', this.bananaCoin.methods.balance_of_private, this.aliceAddress, this.logger);
188
+ }
189
+ async applyFPCSetup() {
190
+ this.logger.info('Applying FPC setup');
191
+ const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
192
+ expect((await this.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
193
+ const bananaCoin = this.bananaCoin;
194
+ const bananaFPC = await FPCContract.deploy(this.wallet, bananaCoin.address, this.fpcAdmin).send({
195
+ from: this.aliceAddress
245
196
  });
197
+ this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
198
+ await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(bananaFPC.address, this.aliceAddress);
199
+ this.bananaFPC = bananaFPC;
200
+ const l1FeeJuiceAddress = this.feeJuiceBridgeTestHarness.l1FeeJuiceAddress;
201
+ this.getCoinbaseBalance = async ()=>{
202
+ const l1Client = createExtendedL1Client(this.context.config.l1RpcUrls, MNEMONIC);
203
+ const gasL1 = getContract({
204
+ address: l1FeeJuiceAddress.toString(),
205
+ abi: TestERC20Abi,
206
+ client: l1Client
207
+ });
208
+ return await gasL1.read.balanceOf([
209
+ this.coinbase.toString()
210
+ ]);
211
+ };
212
+ this.getCoinbaseSequencerRewards = async ()=>{
213
+ return await this.rollupContract.getSequencerRewards(this.coinbase);
214
+ };
215
+ this.getProverFee = async (blockNumber)=>{
216
+ const block = await this.aztecNode.getBlock(blockNumber);
217
+ // @todo @lherskind As we deal with #13601
218
+ // Right now the value is from `FeeLib.sol`
219
+ const L1_GAS_PER_EPOCH_VERIFIED = 1000000n;
220
+ // We round up
221
+ const mulDiv = (a, b, c)=>a * b / c + (a * b % c > 0n ? 1n : 0n);
222
+ const { baseFee } = await this.rollupContract.getL1FeesAt(block.header.globalVariables.timestamp);
223
+ const proverCost = mulDiv(mulDiv(L1_GAS_PER_EPOCH_VERIFIED, baseFee, BigInt(await this.rollupContract.getEpochDuration())), 1n, await this.rollupContract.getManaTarget()) + await this.rollupContract.getProvingCostPerMana();
224
+ const price = await this.rollupContract.getEthPerFeeAsset();
225
+ const mana = block.header.totalManaUsed.toBigInt();
226
+ return mulDiv(mana * proverCost, 10n ** 12n, price);
227
+ };
228
+ }
229
+ async applySponsoredFPCSetup() {
230
+ this.logger.info('Applying sponsored FPC setup');
231
+ const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
232
+ expect((await this.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
233
+ const sponsoredFPCInstance = await setupSponsoredFPC(this.wallet);
234
+ this.logger.info(`SponsoredFPC at ${sponsoredFPCInstance.address}`);
235
+ this.sponsoredFPC = SponsoredFPCContract.at(sponsoredFPCInstance.address, this.wallet);
246
236
  }
247
237
  async applyFundAliceWithBananas() {
248
- await this.snapshotManager.snapshot('fund_alice', async ()=>{
249
- await this.mintPrivateBananas(this.ALICE_INITIAL_BANANAS, this.aliceAddress);
250
- await this.bananaCoin.methods.mint_to_public(this.aliceAddress, this.ALICE_INITIAL_BANANAS).send({
251
- from: this.aliceAddress
252
- }).wait();
253
- }, ()=>Promise.resolve());
238
+ this.logger.info('Applying fund Alice with bananas setup');
239
+ await this.mintPrivateBananas(this.ALICE_INITIAL_BANANAS, this.aliceAddress);
240
+ await this.bananaCoin.methods.mint_to_public(this.aliceAddress, this.ALICE_INITIAL_BANANAS).send({
241
+ from: this.aliceAddress
242
+ });
254
243
  }
255
244
  async applyFundAliceWithPrivateBananas() {
256
- await this.snapshotManager.snapshot('fund_alice_with_private_bananas', async ()=>{
257
- await this.mintPrivateBananas(this.ALICE_INITIAL_BANANAS, this.aliceAddress);
258
- }, ()=>Promise.resolve());
245
+ this.logger.info('Applying fund Alice with private bananas setup');
246
+ await this.mintPrivateBananas(this.ALICE_INITIAL_BANANAS, this.aliceAddress);
259
247
  }
260
248
  }
@@ -1,10 +1,10 @@
1
1
  import { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import type { L2Block } from '@aztec/aztec.js/block';
3
2
  import { Fr } from '@aztec/aztec.js/fields';
4
3
  import { BatchedBlob, Blob } from '@aztec/blob-lib';
4
+ import { L2Block } from '@aztec/stdlib/block';
5
5
  /**
6
6
  * Creates a json object that can be used to test the solidity contract.
7
7
  * The json object must be put into
8
8
  */
9
9
  export declare function writeJson(fileName: string, block: L2Block, l1ToL2Content: Fr[], blobs: Blob[], batchedBlob: BatchedBlob, recipientAddress: AztecAddress, deployerAddress: `0x${string}`): Promise<void>;
10
- //# sourceMappingURL=write_json.d.ts.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVfanNvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2UyZV9sMV9wdWJsaXNoZXIvd3JpdGVfanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUE2RCxNQUFNLGlCQUFpQixDQUFDO0FBRS9HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU85Qzs7O0dBR0c7QUFDSCx3QkFBc0IsU0FBUyxDQUM3QixRQUFRLEVBQUUsTUFBTSxFQUNoQixLQUFLLEVBQUUsT0FBTyxFQUNkLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFDbkIsS0FBSyxFQUFFLElBQUksRUFBRSxFQUNiLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLGdCQUFnQixFQUFFLFlBQVksRUFDOUIsZUFBZSxFQUFFLEtBQUssTUFBTSxFQUFFLEdBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwRGYifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"write_json.d.ts","sourceRoot":"","sources":["../../src/e2e_l1_publisher/write_json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,IAAI,EAAiC,MAAM,iBAAiB,CAAC;AAOnF;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,EAAE,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,YAAY,EAC9B,eAAe,EAAE,KAAK,MAAM,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAqDf"}
1
+ {"version":3,"file":"write_json.d.ts","sourceRoot":"","sources":["../../src/e2e_l1_publisher/write_json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,IAAI,EAA6D,MAAM,iBAAiB,CAAC;AAE/G,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAO9C;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,EAAE,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,YAAY,EAC9B,eAAe,EAAE,KAAK,MAAM,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CA0Df"}
@@ -1,4 +1,5 @@
1
- import { getPrefixedEthBlobCommitments } from '@aztec/blob-lib';
1
+ import { getEthBlobEvaluationInputs, getPrefixedEthBlobCommitments } from '@aztec/blob-lib';
2
+ import { CheckpointHeader } from '@aztec/stdlib/rollup';
2
3
  import { writeFile } from 'fs/promises';
3
4
  const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
4
5
  /**
@@ -14,6 +15,11 @@ const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
14
15
  const buffer = Buffer.isBuffer(value) ? value : value.toBuffer();
15
16
  return `0x${buffer.toString('hex').padStart(size, '0')}`;
16
17
  };
18
+ // Create a checkpoint header for this block
19
+ const checkpointHeader = CheckpointHeader.random({
20
+ slotNumber: block.slot,
21
+ timestamp: block.timestamp
22
+ });
17
23
  const jsonObject = {
18
24
  populate: {
19
25
  l1ToL2Content: l1ToL2Content.map((value)=>asHex(value)),
@@ -23,32 +29,31 @@ const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
23
29
  messages: {
24
30
  l2ToL1Messages: block.body.txEffects.flatMap((txEffect)=>txEffect.l2ToL1Msgs).map((value)=>asHex(value))
25
31
  },
26
- block: {
32
+ checkpoint: {
27
33
  // The json formatting in forge is a bit brittle, so we convert Fr to a number in the few values below.
28
34
  // This should not be a problem for testing as long as the values are not larger than u32.
29
35
  archive: asHex(block.archive.root),
30
36
  blobCommitments: getPrefixedEthBlobCommitments(blobs),
31
- batchedBlobInputs: batchedBlob.getEthBlobEvaluationInputs(),
32
- blockNumber: block.number,
37
+ batchedBlobInputs: getEthBlobEvaluationInputs(batchedBlob),
38
+ checkpointNumber: block.number,
33
39
  body: `0x${block.body.toBuffer().toString('hex')}`,
34
40
  header: {
35
- lastArchiveRoot: asHex(block.header.lastArchive.root),
36
- contentCommitment: {
37
- blobsHash: asHex(block.header.contentCommitment.blobsHash),
38
- inHash: asHex(block.header.contentCommitment.inHash),
39
- outHash: asHex(block.header.contentCommitment.outHash)
40
- },
41
- slotNumber: Number(block.header.globalVariables.slotNumber),
42
- timestamp: Number(block.header.globalVariables.timestamp),
43
- coinbase: asHex(block.header.globalVariables.coinbase, 40),
44
- feeRecipient: asHex(block.header.globalVariables.feeRecipient),
41
+ lastArchiveRoot: asHex(checkpointHeader.lastArchiveRoot),
42
+ blockHeadersHash: asHex(checkpointHeader.blockHeadersHash),
43
+ blobsHash: asHex(checkpointHeader.blobsHash),
44
+ inHash: asHex(checkpointHeader.inHash),
45
+ outHash: asHex(checkpointHeader.epochOutHash),
46
+ slotNumber: Number(checkpointHeader.slotNumber),
47
+ timestamp: Number(checkpointHeader.timestamp),
48
+ coinbase: asHex(checkpointHeader.coinbase, 40),
49
+ feeRecipient: asHex(checkpointHeader.feeRecipient),
45
50
  gasFees: {
46
- feePerDaGas: Number(block.header.globalVariables.gasFees.feePerDaGas),
47
- feePerL2Gas: Number(block.header.globalVariables.gasFees.feePerL2Gas)
51
+ feePerDaGas: Number(checkpointHeader.gasFees.feePerDaGas),
52
+ feePerL2Gas: Number(checkpointHeader.gasFees.feePerL2Gas)
48
53
  },
49
- totalManaUsed: block.header.totalManaUsed.toNumber()
54
+ totalManaUsed: checkpointHeader.totalManaUsed.toNumber()
50
55
  },
51
- headerHash: asHex(block.getCheckpointHeader().hash()),
56
+ headerHash: asHex(checkpointHeader.hash()),
52
57
  numTxs: block.body.txEffects.length
53
58
  }
54
59
  };
@@ -9,4 +9,4 @@ export declare function createKeyFile4(fileName: string, validator1Address: EthA
9
9
  export declare function createKeyFile5(fileName: string, proverAddress: EthAddress, remoteSignerUrl: string): Promise<void>;
10
10
  export declare function createKeyFile6(fileName: string, mnemonic: string, validator1Index: number, coinbase: EthAddress, feeRecipient: AztecAddress): Promise<void>;
11
11
  export declare function addressForPrivateKey(privateKey: EthPrivateKey): EthAddress;
12
- //# sourceMappingURL=utils.d.ts.map
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfbXVsdGlfdmFsaWRhdG9yL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFXMUQsd0JBQWdCLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxzR0EwRXBHO0FBR0Qsd0JBQXNCLGNBQWMsQ0FDbEMsUUFBUSxFQUFFLE1BQU0sRUFDaEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsY0FBYyxFQUFFLE1BQU0sRUFDdEIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsWUFBWSxFQUFFLFlBQVksaUJBbUIzQjtBQUVELHdCQUFzQixjQUFjLENBQ2xDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLFlBQVksRUFBRSxhQUFhLEVBQzNCLGlCQUFpQixFQUFFLE1BQU0sRUFDekIsZUFBZSxFQUFFLE1BQU0sRUFDdkIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsWUFBWSxFQUFFLFlBQVksaUJBbUIzQjtBQUVELHdCQUFzQixjQUFjLENBQ2xDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLGdCQUFnQixFQUFFLFVBQVUsRUFDNUIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsZUFBZSxFQUFFLE1BQU0sRUFDdkIsWUFBWSxFQUFFLFlBQVksaUJBaUIzQjtBQUVELHdCQUFzQixjQUFjLENBQ2xDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLGlCQUFpQixFQUFFLFVBQVUsRUFDN0IsaUJBQWlCLEVBQUUsVUFBVSxFQUM3QixlQUFlLEVBQUUsTUFBTSxFQUN2QixhQUFhLEVBQUUsYUFBYSxFQUM1QixRQUFRLEVBQUUsTUFBTSxFQUNoQixhQUFhLEVBQUUsYUFBYSxFQUM1QixTQUFTLEVBQUUsVUFBVSxFQUNyQixTQUFTLEVBQUUsVUFBVSxFQUNyQixlQUFlLEVBQUUsTUFBTSxFQUN2QixhQUFhLEVBQUUsWUFBWSxFQUMzQixhQUFhLEVBQUUsWUFBWSxpQkE0QjVCO0FBRUQsd0JBQXNCLGNBQWMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBY3hHO0FBRUQsd0JBQXNCLGNBQWMsQ0FDbEMsUUFBUSxFQUFFLE1BQU0sRUFDaEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsZUFBZSxFQUFFLE1BQU0sRUFDdkIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsWUFBWSxFQUFFLFlBQVksaUJBa0IzQjtBQUVELHdCQUFnQixvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsYUFBYSxHQUFHLFVBQVUsQ0FFMUUifQ==
@@ -1,4 +1,4 @@
1
- import { getAddressFromPrivateKey } from '@aztec/ethereum';
1
+ import { getAddressFromPrivateKey } from '@aztec/ethereum/account';
2
2
  import { EthAddress } from '@aztec/foundation/eth-address';
3
3
  import { writeFile } from 'fs/promises';
4
4
  import { createServer } from 'http';
@@ -4,10 +4,10 @@ import type { AztecNode } from '@aztec/aztec.js/node';
4
4
  import type { Wallet } from '@aztec/aztec.js/wallet';
5
5
  import { ChildContract } from '@aztec/noir-test-contracts.js/Child';
6
6
  import { ParentContract } from '@aztec/noir-test-contracts.js/Parent';
7
- import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
7
+ import { type EndToEndContext } from '../fixtures/setup.js';
8
8
  export declare class NestedContractTest {
9
9
  private numberOfAccounts;
10
- private snapshotManager;
10
+ context: EndToEndContext;
11
11
  logger: Logger;
12
12
  wallet: Wallet;
13
13
  defaultAccountAddress: AztecAddress;
@@ -16,14 +16,11 @@ export declare class NestedContractTest {
16
16
  childContract: ChildContract;
17
17
  constructor(testName: string, numberOfAccounts?: number);
18
18
  /**
19
- * Adds two state shifts to snapshot manager.
20
- * 1. Add 3 accounts.
21
- * 2. Publicly deploy accounts
19
+ * Applies base setup by deploying accounts and publicly deploying them.
22
20
  */
23
- applyBaseSnapshots(): Promise<void>;
21
+ applyBaseSetup(): Promise<void>;
24
22
  setup(): Promise<void>;
25
23
  teardown(): Promise<void>;
26
- snapshot: <T>(name: string, apply: (context: SubsystemsContext) => Promise<T>, restore?: (snapshotData: T, context: SubsystemsContext) => Promise<void>) => Promise<void>;
27
- applyManualSnapshots(): Promise<void>;
24
+ applyManual(): Promise<void>;
28
25
  }
29
- //# sourceMappingURL=nested_contract_test.d.ts.map
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkX2NvbnRyYWN0X3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfbmVzdGVkX2NvbnRyYWN0L25lc3RlZF9jb250cmFjdF90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV0RSxPQUFPLEVBQ0wsS0FBSyxlQUFlLEVBS3JCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIscUJBQWEsa0JBQWtCO0lBWTNCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFYMUIsT0FBTyxFQUFHLGVBQWUsQ0FBQztJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsTUFBTSxFQUFHLE1BQU0sQ0FBQztJQUNoQixxQkFBcUIsRUFBRyxZQUFZLENBQUM7SUFDckMsU0FBUyxFQUFHLFNBQVMsQ0FBQztJQUV0QixjQUFjLEVBQUcsY0FBYyxDQUFDO0lBQ2hDLGFBQWEsRUFBRyxhQUFhLENBQUM7SUFFOUIsWUFDRSxRQUFRLEVBQUUsTUFBTSxFQUNSLGdCQUFnQixTQUFJLEVBRzdCO0lBRUQ7O09BRUc7SUFDRyxjQUFjLGtCQWVuQjtJQUVLLEtBQUssa0JBT1Y7SUFFSyxRQUFRLGtCQUViO0lBRUssV0FBVyxrQkFNaEI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"nested_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_nested_contract/nested_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,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,iCAAiC,CAAC;AAIzC,qBAAa,kBAAkB;IAY3B,OAAO,CAAC,gBAAgB;IAX1B,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,MAAM,CAAC;IAChB,qBAAqB,EAAG,YAAY,CAAC;IACrC,SAAS,EAAG,SAAS,CAAC;IAEtB,cAAc,EAAG,cAAc,CAAC;IAChC,aAAa,EAAG,aAAa,CAAC;gBAG5B,QAAQ,EAAE,MAAM,EACR,gBAAgB,SAAI;IAM9B;;;;OAIG;IACG,kBAAkB;IAsBlB,KAAK;IAIL,QAAQ;IAId,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,oBAAoB;CAkB3B"}
1
+ {"version":3,"file":"nested_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_nested_contract/nested_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,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,OAAO,EACL,KAAK,eAAe,EAKrB,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,kBAAkB;IAY3B,OAAO,CAAC,gBAAgB;IAX1B,OAAO,EAAG,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,MAAM,CAAC;IAChB,qBAAqB,EAAG,YAAY,CAAC;IACrC,SAAS,EAAG,SAAS,CAAC;IAEtB,cAAc,EAAG,cAAc,CAAC;IAChC,aAAa,EAAG,aAAa,CAAC;IAE9B,YACE,QAAQ,EAAE,MAAM,EACR,gBAAgB,SAAI,EAG7B;IAED;;OAEG;IACG,cAAc,kBAenB;IAEK,KAAK,kBAOV;IAEK,QAAQ,kBAEb;IAEK,WAAW,kBAMhB;CACF"}
@@ -1,11 +1,10 @@
1
1
  import { createLogger } from '@aztec/aztec.js/log';
2
2
  import { ChildContract } from '@aztec/noir-test-contracts.js/Child';
3
3
  import { ParentContract } from '@aztec/noir-test-contracts.js/Parent';
4
- import { createSnapshotManager, deployAccounts, publicDeployAccounts } from '../fixtures/snapshot_manager.js';
5
- const { E2E_DATA_PATH: dataPath } = process.env;
4
+ import { deployAccounts, publicDeployAccounts, setup, teardown as teardownSubsystems } from '../fixtures/setup.js';
6
5
  export class NestedContractTest {
7
6
  numberOfAccounts;
8
- snapshotManager;
7
+ context;
9
8
  logger;
10
9
  wallet;
11
10
  defaultAccountAddress;
@@ -14,50 +13,44 @@ export class NestedContractTest {
14
13
  childContract;
15
14
  constructor(testName, numberOfAccounts = 1){
16
15
  this.numberOfAccounts = numberOfAccounts;
17
- this.snapshot = (name, apply, restore = ()=>Promise.resolve())=>this.snapshotManager.snapshot(name, apply, restore);
18
16
  this.logger = createLogger(`e2e:e2e_nested_contract:${testName}`);
19
- this.snapshotManager = createSnapshotManager(`e2e_nested_contract/${testName}-${numberOfAccounts}`, dataPath);
20
17
  }
21
18
  /**
22
- * Adds two state shifts to snapshot manager.
23
- * 1. Add 3 accounts.
24
- * 2. Publicly deploy accounts
25
- */ async applyBaseSnapshots() {
26
- await this.snapshotManager.snapshot('accounts', deployAccounts(this.numberOfAccounts, this.logger), ({ deployedAccounts }, { wallet, aztecNode })=>{
27
- this.wallet = wallet;
28
- [{ address: this.defaultAccountAddress }] = deployedAccounts;
29
- this.aztecNode = aztecNode;
30
- return Promise.resolve();
31
- });
32
- await this.snapshotManager.snapshot('public_deploy', async ()=>{}, async ()=>{
33
- this.logger.verbose(`Public deploy accounts...`);
34
- await publicDeployAccounts(this.wallet, [
35
- this.defaultAccountAddress
36
- ]);
19
+ * Applies base setup by deploying accounts and publicly deploying them.
20
+ */ async applyBaseSetup() {
21
+ this.logger.info('Deploying accounts');
22
+ const { deployedAccounts } = await deployAccounts(this.numberOfAccounts, this.logger)({
23
+ wallet: this.context.wallet,
24
+ initialFundedAccounts: this.context.initialFundedAccounts
37
25
  });
26
+ this.wallet = this.context.wallet;
27
+ [{ address: this.defaultAccountAddress }] = deployedAccounts;
28
+ this.aztecNode = this.context.aztecNodeService;
29
+ this.logger.info('Public deploy accounts');
30
+ await publicDeployAccounts(this.wallet, [
31
+ this.defaultAccountAddress
32
+ ]);
38
33
  }
39
34
  async setup() {
40
- await this.snapshotManager.setup();
35
+ this.logger.info('Setting up fresh subsystems');
36
+ this.context = await setup(0, {
37
+ fundSponsoredFPC: true,
38
+ skipAccountDeployment: true
39
+ });
40
+ await this.applyBaseSetup();
41
41
  }
42
42
  async teardown() {
43
- await this.snapshotManager.teardown();
43
+ await teardownSubsystems(this.context);
44
44
  }
45
- snapshot;
46
- async applyManualSnapshots() {
47
- await this.snapshotManager.snapshot('manual', async ()=>{
48
- const parentContract = await ParentContract.deploy(this.wallet).send({
49
- from: this.defaultAccountAddress
50
- }).deployed();
51
- const childContract = await ChildContract.deploy(this.wallet).send({
52
- from: this.defaultAccountAddress
53
- }).deployed();
54
- return {
55
- parentContractAddress: parentContract.address,
56
- childContractAddress: childContract.address
57
- };
58
- }, async ({ parentContractAddress, childContractAddress })=>{
59
- this.parentContract = await ParentContract.at(parentContractAddress, this.wallet);
60
- this.childContract = await ChildContract.at(childContractAddress, this.wallet);
45
+ async applyManual() {
46
+ this.logger.info('Deploying parent and child contracts');
47
+ const parentContract = await ParentContract.deploy(this.wallet).send({
48
+ from: this.defaultAccountAddress
49
+ });
50
+ const childContract = await ChildContract.deploy(this.wallet).send({
51
+ from: this.defaultAccountAddress
61
52
  });
53
+ this.parentContract = parentContract;
54
+ this.childContract = childContract;
62
55
  }
63
56
  }