@aztec/end-to-end 0.0.1-commit.e6bd8901 → 0.0.1-commit.ec7ac5448

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +27 -0
  2. package/dest/bench/client_flows/client_flows_benchmark.d.ts +2 -2
  3. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  4. package/dest/bench/client_flows/client_flows_benchmark.js +22 -29
  5. package/dest/bench/client_flows/config.d.ts +2 -2
  6. package/dest/bench/client_flows/config.d.ts.map +1 -1
  7. package/dest/bench/client_flows/config.js +18 -0
  8. package/dest/bench/utils.d.ts +1 -1
  9. package/dest/bench/utils.d.ts.map +1 -1
  10. package/dest/bench/utils.js +6 -3
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +6 -3
  12. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  13. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +23 -13
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +2 -2
  15. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  16. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +3 -2
  17. package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
  18. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  19. package/dest/e2e_epochs/epochs_test.d.ts +17 -7
  20. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  21. package/dest/e2e_epochs/epochs_test.js +91 -44
  22. package/dest/e2e_fees/fees_test.d.ts +2 -2
  23. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  24. package/dest/e2e_fees/fees_test.js +19 -12
  25. package/dest/e2e_l1_publisher/write_json.d.ts +3 -2
  26. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  27. package/dest/e2e_l1_publisher/write_json.js +1 -7
  28. package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
  29. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  30. package/dest/e2e_nested_contract/nested_contract_test.js +4 -6
  31. package/dest/e2e_p2p/inactivity_slash_test.js +3 -3
  32. package/dest/e2e_p2p/p2p_network.d.ts +9 -10
  33. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  34. package/dest/e2e_p2p/p2p_network.js +38 -20
  35. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  36. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  37. package/dest/e2e_p2p/reqresp/utils.js +190 -0
  38. package/dest/e2e_p2p/shared.d.ts +26 -8
  39. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  40. package/dest/e2e_p2p/shared.js +56 -47
  41. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
  42. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  43. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
  44. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
  45. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
  46. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
  47. package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
  48. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  49. package/dest/e2e_token_contract/token_contract_test.js +19 -9
  50. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  51. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  52. package/dest/fixtures/authwit_proxy.js +34 -0
  53. package/dest/fixtures/e2e_prover_test.d.ts +7 -6
  54. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  55. package/dest/fixtures/e2e_prover_test.js +38 -50
  56. package/dest/fixtures/elu_monitor.d.ts +21 -0
  57. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  58. package/dest/fixtures/elu_monitor.js +102 -0
  59. package/dest/fixtures/fixtures.d.ts +5 -1
  60. package/dest/fixtures/fixtures.d.ts.map +1 -1
  61. package/dest/fixtures/fixtures.js +6 -0
  62. package/dest/fixtures/get_bb_config.d.ts +1 -1
  63. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  64. package/dest/fixtures/get_bb_config.js +5 -5
  65. package/dest/fixtures/ha_setup.d.ts +71 -0
  66. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  67. package/dest/fixtures/ha_setup.js +116 -0
  68. package/dest/fixtures/index.d.ts +2 -1
  69. package/dest/fixtures/index.d.ts.map +1 -1
  70. package/dest/fixtures/index.js +1 -0
  71. package/dest/fixtures/setup.d.ts +55 -31
  72. package/dest/fixtures/setup.d.ts.map +1 -1
  73. package/dest/fixtures/setup.js +97 -176
  74. package/dest/fixtures/setup_p2p_test.d.ts +18 -11
  75. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  76. package/dest/fixtures/setup_p2p_test.js +43 -32
  77. package/dest/fixtures/token_utils.d.ts +2 -2
  78. package/dest/fixtures/token_utils.d.ts.map +1 -1
  79. package/dest/fixtures/token_utils.js +5 -7
  80. package/dest/legacy-jest-resolver.d.cts +3 -0
  81. package/dest/legacy-jest-resolver.d.cts.map +1 -0
  82. package/dest/shared/cross_chain_test_harness.d.ts +1 -1
  83. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  84. package/dest/shared/cross_chain_test_harness.js +13 -13
  85. package/dest/shared/gas_portal_test_harness.js +2 -2
  86. package/dest/shared/index.d.ts +2 -1
  87. package/dest/shared/index.d.ts.map +1 -1
  88. package/dest/shared/index.js +1 -0
  89. package/dest/shared/jest_setup.js +41 -1
  90. package/dest/shared/mock_state_view.d.ts +86 -0
  91. package/dest/shared/mock_state_view.d.ts.map +1 -0
  92. package/dest/shared/mock_state_view.js +186 -0
  93. package/dest/shared/submit-transactions.d.ts +2 -2
  94. package/dest/shared/submit-transactions.d.ts.map +1 -1
  95. package/dest/shared/submit-transactions.js +1 -1
  96. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  97. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  98. package/dest/shared/uniswap_l1_l2.js +16 -17
  99. package/dest/simulators/lending_simulator.d.ts +1 -1
  100. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  101. package/dest/simulators/lending_simulator.js +4 -4
  102. package/dest/simulators/token_simulator.d.ts +1 -1
  103. package/dest/simulators/token_simulator.d.ts.map +1 -1
  104. package/dest/simulators/token_simulator.js +3 -24
  105. package/dest/spartan/setup_test_wallets.d.ts +12 -3
  106. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  107. package/dest/spartan/setup_test_wallets.js +100 -39
  108. package/dest/spartan/tx_metrics.d.ts +35 -1
  109. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  110. package/dest/spartan/tx_metrics.js +151 -1
  111. package/dest/spartan/utils/bot.d.ts +3 -2
  112. package/dest/spartan/utils/bot.d.ts.map +1 -1
  113. package/dest/spartan/utils/bot.js +2 -1
  114. package/dest/spartan/utils/config.d.ts +10 -1
  115. package/dest/spartan/utils/config.d.ts.map +1 -1
  116. package/dest/spartan/utils/config.js +4 -1
  117. package/dest/spartan/utils/index.d.ts +6 -4
  118. package/dest/spartan/utils/index.d.ts.map +1 -1
  119. package/dest/spartan/utils/index.js +6 -2
  120. package/dest/spartan/utils/k8s.d.ts +31 -1
  121. package/dest/spartan/utils/k8s.d.ts.map +1 -1
  122. package/dest/spartan/utils/k8s.js +124 -0
  123. package/dest/spartan/utils/nodes.d.ts +14 -5
  124. package/dest/spartan/utils/nodes.d.ts.map +1 -1
  125. package/dest/spartan/utils/nodes.js +204 -33
  126. package/dest/spartan/utils/pod_logs.d.ts +25 -0
  127. package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
  128. package/dest/spartan/utils/pod_logs.js +74 -0
  129. package/dest/spartan/utils/scripts.d.ts +18 -4
  130. package/dest/spartan/utils/scripts.d.ts.map +1 -1
  131. package/dest/spartan/utils/scripts.js +19 -4
  132. package/dest/test-wallet/test_wallet.d.ts +84 -0
  133. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  134. package/dest/test-wallet/test_wallet.js +249 -0
  135. package/dest/test-wallet/utils.d.ts +41 -0
  136. package/dest/test-wallet/utils.d.ts.map +1 -0
  137. package/dest/test-wallet/utils.js +71 -0
  138. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  139. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  140. package/dest/test-wallet/wallet_worker_script.js +48 -0
  141. package/dest/test-wallet/worker_wallet.d.ts +52 -0
  142. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  143. package/dest/test-wallet/worker_wallet.js +151 -0
  144. package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
  145. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  146. package/dest/test-wallet/worker_wallet_schema.js +10 -0
  147. package/package.json +46 -43
  148. package/src/bench/client_flows/client_flows_benchmark.ts +31 -18
  149. package/src/bench/client_flows/config.ts +9 -1
  150. package/src/bench/utils.ts +8 -3
  151. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +31 -21
  152. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
  153. package/src/e2e_deploy_contract/deploy_test.ts +3 -3
  154. package/src/e2e_epochs/epochs_test.ts +115 -72
  155. package/src/e2e_fees/bridging_race.notest.ts +1 -1
  156. package/src/e2e_fees/fees_test.ts +21 -29
  157. package/src/e2e_l1_publisher/write_json.ts +1 -6
  158. package/src/e2e_nested_contract/nested_contract_test.ts +7 -5
  159. package/src/e2e_p2p/inactivity_slash_test.ts +7 -7
  160. package/src/e2e_p2p/p2p_network.ts +58 -37
  161. package/src/e2e_p2p/reqresp/utils.ts +256 -0
  162. package/src/e2e_p2p/shared.ts +84 -62
  163. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  164. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  165. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  166. package/src/e2e_token_contract/token_contract_test.ts +26 -9
  167. package/src/fixtures/authwit_proxy.ts +54 -0
  168. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  169. package/src/fixtures/e2e_prover_test.ts +47 -56
  170. package/src/fixtures/elu_monitor.ts +126 -0
  171. package/src/fixtures/fixtures.ts +10 -0
  172. package/src/fixtures/get_bb_config.ts +7 -6
  173. package/src/fixtures/ha_setup.ts +186 -0
  174. package/src/fixtures/index.ts +1 -0
  175. package/src/fixtures/setup.ts +132 -239
  176. package/src/fixtures/setup_p2p_test.ts +48 -52
  177. package/src/fixtures/token_utils.ts +3 -3
  178. package/src/guides/up_quick_start.sh +3 -3
  179. package/src/legacy-jest-resolver.cjs +135 -0
  180. package/src/shared/cross_chain_test_harness.ts +13 -9
  181. package/src/shared/gas_portal_test_harness.ts +1 -1
  182. package/src/shared/index.ts +1 -0
  183. package/src/shared/jest_setup.ts +51 -1
  184. package/src/shared/mock_state_view.ts +188 -0
  185. package/src/shared/submit-transactions.ts +3 -2
  186. package/src/shared/uniswap_l1_l2.ts +38 -33
  187. package/src/simulators/lending_simulator.ts +8 -4
  188. package/src/simulators/token_simulator.ts +6 -30
  189. package/src/spartan/setup_test_wallets.ts +141 -32
  190. package/src/spartan/tx_metrics.ts +127 -1
  191. package/src/spartan/utils/bot.ts +4 -1
  192. package/src/spartan/utils/config.ts +3 -0
  193. package/src/spartan/utils/index.ts +10 -1
  194. package/src/spartan/utils/k8s.ts +160 -0
  195. package/src/spartan/utils/nodes.ts +251 -31
  196. package/src/spartan/utils/pod_logs.ts +99 -0
  197. package/src/spartan/utils/scripts.ts +43 -7
  198. package/src/test-wallet/test_wallet.ts +351 -0
  199. package/src/test-wallet/utils.ts +112 -0
  200. package/src/test-wallet/wallet_worker_script.ts +60 -0
  201. package/src/test-wallet/worker_wallet.ts +214 -0
  202. package/src/test-wallet/worker_wallet_schema.ts +13 -0
@@ -4,21 +4,27 @@ import type { Logger } from '@aztec/aztec.js/log';
4
4
  import type { Wallet } from '@aztec/aztec.js/wallet';
5
5
  import { EpochCache } from '@aztec/epoch-cache';
6
6
  import { RollupContract } from '@aztec/ethereum/contracts';
7
- import { ChainMonitor, type Delayer } from '@aztec/ethereum/test';
7
+ import { Delayer } from '@aztec/ethereum/l1-tx-utils';
8
+ import { ChainMonitor } from '@aztec/ethereum/test';
8
9
  import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
9
10
  import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
10
11
  import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
11
- import { ProverNode, type ProverNodeConfig } from '@aztec/prover-node';
12
+ import { TestContract } from '@aztec/noir-test-contracts.js/Test';
13
+ import type { ProverNodeConfig } from '@aztec/prover-node';
14
+ import type { PXEConfig } from '@aztec/pxe/config';
12
15
  import { type SequencerClient, type SequencerEvents } from '@aztec/sequencer-client';
13
16
  import { type BlockParameter, EthAddress } from '@aztec/stdlib/block';
14
17
  import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
18
+ import type { SlashingProtectionDatabase } from '@aztec/validator-ha-signer/types';
15
19
  import { type EndToEndContext, type SetupOptions } from '../fixtures/utils.js';
16
- export declare const WORLD_STATE_BLOCK_HISTORY = 2;
20
+ export declare const WORLD_STATE_CHECKPOINT_HISTORY = 2;
17
21
  export declare const WORLD_STATE_BLOCK_CHECK_INTERVAL = 50;
18
22
  export declare const ARCHIVER_POLL_INTERVAL = 50;
19
23
  export declare const DEFAULT_L1_BLOCK_TIME: number;
20
24
  export type EpochsTestOpts = Partial<SetupOptions> & {
21
25
  numberOfAccounts?: number;
26
+ pxeOpts?: Partial<PXEConfig>;
27
+ aztecSlotDurationInL1Slots?: number;
22
28
  };
23
29
  export type TrackedSequencerEvent = {
24
30
  [K in keyof SequencerEvents]: Parameters<SequencerEvents[K]>[0] & {
@@ -42,7 +48,7 @@ export declare class EpochsTestContext {
42
48
  epochCache: EpochCache;
43
49
  proverDelayer: Delayer;
44
50
  sequencerDelayer: Delayer;
45
- proverNodes: ProverNode[];
51
+ proverNodes: AztecNodeService[];
46
52
  nodes: AztecNodeService[];
47
53
  epochDuration: number;
48
54
  L1_BLOCK_TIME_IN_S: number;
@@ -59,11 +65,11 @@ export declare class EpochsTestContext {
59
65
  teardown(): Promise<void>;
60
66
  createProverNode(opts?: {
61
67
  dontStart?: boolean;
62
- } & Partial<ProverNodeConfig>): Promise<ProverNode>;
68
+ } & Partial<ProverNodeConfig>): Promise<AztecNodeService>;
63
69
  createNonValidatorNode(opts?: Partial<AztecNodeConfig>): Promise<AztecNodeService>;
64
70
  createValidatorNode(privateKeys: `0x${string}`[], opts?: Partial<AztecNodeConfig> & {
65
- txDelayerMaxInclusionTimeIntoSlot?: number;
66
71
  dontStartSequencer?: boolean;
72
+ slashingProtectionDb?: SlashingProtectionDatabase;
67
73
  }): Promise<AztecNodeService>;
68
74
  private createNode;
69
75
  private getNextPrivateKey;
@@ -79,6 +85,8 @@ export declare class EpochsTestContext {
79
85
  waitForNodeToSync(blockNumber: BlockNumber, type: 'proven' | 'finalized' | 'historic'): Promise<void>;
80
86
  /** Registers the SpamContract on the given wallet. */
81
87
  registerSpamContract(wallet: Wallet, salt?: Fr): Promise<SpamContract>;
88
+ /** Registers the TestContract on the given wallet. */
89
+ registerTestContract(wallet: Wallet, salt?: Fr): Promise<TestContract>;
82
90
  /** Creates an L1 client using a fresh account with funds from anvil, with a tx delayer already set up. */
83
91
  createL1Client(): Promise<{
84
92
  client: ExtendedViemWalletClient;
@@ -86,9 +94,11 @@ export declare class EpochsTestContext {
86
94
  }>;
87
95
  /** Verifies whether the given block number is found on the aztec node. */
88
96
  verifyHistoricBlock(blockNumber: BlockParameter, expectedSuccess: boolean): Promise<void>;
97
+ /** Verifies at least one checkpoint has the target number of blocks (for MBPS validation). */
98
+ assertMultipleBlocksPerSlot(targetBlockCount: number): Promise<void>;
89
99
  watchSequencerEvents(sequencers: SequencerClient[], getMetadata?: (i: number) => Record<string, any>): {
90
100
  failEvents: TrackedSequencerEvent[];
91
101
  stateChanges: TrackedSequencerEvent[];
92
102
  };
93
103
  }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2hzX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfZXBvY2hzL2Vwb2Noc190ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQWtCLEtBQUssT0FBTyxFQUFxQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JILE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGlDQUFpQyxDQUFDO0FBTTdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssZ0JBQWdCLEVBQXVCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUYsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQixLQUFLLGVBQWUsRUFHckIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQXVDLE1BQU0sNkJBQTZCLENBQUM7QUFPMUcsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQixLQUFLLFlBQVksRUFJ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
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2hzX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfZXBvY2hzL2Vwb2Noc190ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQThELE1BQU0sNkJBQTZCLENBQUM7QUFDbEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGlDQUFpQyxDQUFDO0FBTTdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUsS0FBSyxlQUFlLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFDckcsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFC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
@@ -1 +1 @@
1
- {"version":3,"file":"epochs_test.d.ts","sourceRoot":"","sources":["../../src/e2e_epochs/epochs_test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epochs_test.d.ts","sourceRoot":"","sources":["../../src/e2e_epochs/epochs_test.ts"],"names":[],"mappings":"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"}
@@ -7,14 +7,16 @@ import { EpochCache } from '@aztec/epoch-cache';
7
7
  import { createExtendedL1Client } from '@aztec/ethereum/client';
8
8
  import { DefaultL1ContractsConfig } from '@aztec/ethereum/config';
9
9
  import { RollupContract } from '@aztec/ethereum/contracts';
10
- import { ChainMonitor, DelayedTxUtils, waitUntilL1Timestamp, withDelayer } from '@aztec/ethereum/test';
11
- import { EpochNumber } from '@aztec/foundation/branded-types';
10
+ import { createDelayer, waitUntilL1Timestamp, wrapClientWithDelayer } from '@aztec/ethereum/l1-tx-utils';
11
+ import { ChainMonitor } from '@aztec/ethereum/test';
12
+ import { CheckpointNumber, EpochNumber } from '@aztec/foundation/branded-types';
12
13
  import { SecretValue } from '@aztec/foundation/config';
13
14
  import { randomBytes } from '@aztec/foundation/crypto/random';
14
- import { withLogNameSuffix } from '@aztec/foundation/log';
15
+ import { withLoggerBindings } from '@aztec/foundation/log/server';
15
16
  import { retryUntil } from '@aztec/foundation/retry';
16
17
  import { sleep } from '@aztec/foundation/sleep';
17
18
  import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
19
+ import { TestContract } from '@aztec/noir-test-contracts.js/Test';
18
20
  import { getMockPubSubP2PServiceFactory } from '@aztec/p2p/test-helpers';
19
21
  import { SequencerState } from '@aztec/sequencer-client';
20
22
  import { EthAddress } from '@aztec/stdlib/block';
@@ -23,7 +25,7 @@ import { tryStop } from '@aztec/stdlib/interfaces/server';
23
25
  import { join } from 'path';
24
26
  import { privateKeyToAccount } from 'viem/accounts';
25
27
  import { createAndSyncProverNode, getPrivateKeyFromIndex, setup } from '../fixtures/utils.js';
26
- export const WORLD_STATE_BLOCK_HISTORY = 2;
28
+ export const WORLD_STATE_CHECKPOINT_HISTORY = 2;
27
29
  export const WORLD_STATE_BLOCK_CHECK_INTERVAL = 50;
28
30
  export const ARCHIVER_POLL_INTERVAL = 50;
29
31
  export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
@@ -54,7 +56,7 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
54
56
  static getSlotDurations(opts = {}) {
55
57
  const envEthereumSlotDuration = process.env.L1_BLOCK_TIME ? parseInt(process.env.L1_BLOCK_TIME) : DEFAULT_L1_BLOCK_TIME;
56
58
  const ethereumSlotDuration = opts.ethereumSlotDuration ?? envEthereumSlotDuration;
57
- const aztecSlotDuration = opts.aztecSlotDuration ?? ethereumSlotDuration * 2;
59
+ const aztecSlotDuration = opts.aztecSlotDuration ?? (opts.aztecSlotDurationInL1Slots ?? 2) * ethereumSlotDuration;
58
60
  const aztecEpochDuration = opts.aztecEpochDuration ?? 6;
59
61
  const aztecProofSubmissionEpochs = opts.aztecProofSubmissionEpochs ?? 1;
60
62
  const l1PublishingTime = opts.l1PublishingTime ?? 1;
@@ -90,14 +92,16 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
90
92
  // using the prover's eth address if the proverId is used for something in the rollup contract
91
93
  // Use numeric EthAddress for deterministic prover id
92
94
  proverId: EthAddress.fromNumber(1),
93
- worldStateBlockHistory: WORLD_STATE_BLOCK_HISTORY,
95
+ worldStateCheckpointHistory: WORLD_STATE_CHECKPOINT_HISTORY,
94
96
  exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
95
- slasherFlavor: 'none',
97
+ slasherEnabled: false,
96
98
  l1PublishingTime,
97
99
  ...opts
98
- }, // Use checkpointed chain tip for PXE to avoid issues with blocks being dropped due to pruned anchor blocks.
100
+ }, // Use checkpointed chain tip for PXE by default to avoid issues with blocks being dropped due to pruned anchor blocks.
101
+ // Can be overridden via opts.pxeOpts.
99
102
  {
100
- syncChainTip: 'checkpointed'
103
+ syncChainTip: 'checkpointed',
104
+ ...opts.pxeOpts
101
105
  });
102
106
  this.context = context;
103
107
  this.proverNodes = context.proverNode ? [
@@ -114,10 +118,8 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
114
118
  });
115
119
  // Loop that tracks L1 and L2 block numbers and logs whenever there's a new one.
116
120
  this.monitor = new ChainMonitor(this.rollup, context.dateProvider, this.logger).start();
117
- // This is hideous.
118
- // We ought to have a definite reference to the l1TxUtils that we're using in both places, provided by the test context.
119
- this.proverDelayer = context.proverNode ? context.proverNode.publisher.l1TxUtils.delayer : undefined;
120
- this.sequencerDelayer = context.sequencer ? context.sequencer.sequencer.publisher.l1TxUtils.delayer : undefined;
121
+ this.proverDelayer = context.proverDelayer;
122
+ this.sequencerDelayer = context.sequencerDelayer;
121
123
  if (context.proverNode && !this.proverDelayer || context.sequencer && !this.sequencerDelayer) {
122
124
  throw new Error(`Could not find prover or sequencer delayer`);
123
125
  }
@@ -129,7 +131,9 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
129
131
  l1StartBlock: await this.rollup.getL1StartBlock(),
130
132
  l1GenesisTime: await this.rollup.getL1GenesisTime(),
131
133
  ethereumSlotDuration,
132
- proofSubmissionEpochs: Number(await this.rollup.getProofSubmissionEpochs())
134
+ proofSubmissionEpochs: Number(await this.rollup.getProofSubmissionEpochs()),
135
+ targetCommitteeSize: await this.rollup.getTargetCommitteeSize(),
136
+ rollupManaLimit: Number(await this.rollup.getManaLimit())
133
137
  };
134
138
  this.logger.info(`L2 genesis at L1 block ${this.constants.l1StartBlock} (timestamp ${this.constants.l1GenesisTime})`);
135
139
  }
@@ -142,16 +146,29 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
142
146
  async createProverNode(opts = {}) {
143
147
  this.logger.warn('Creating and syncing a simulated prover node...');
144
148
  const proverNodePrivateKey = this.getNextPrivateKey();
145
- const suffix = (this.proverNodes.length + 1).toString();
146
- const proverNode = await withLogNameSuffix(suffix, ()=>createAndSyncProverNode(proverNodePrivateKey, {
147
- ...this.context.config
148
- }, {
149
- dataDirectory: join(this.context.config.dataDirectory, randomBytes(8).toString('hex')),
150
- proverId: EthAddress.fromNumber(parseInt(suffix, 10)),
149
+ const proverIndex = this.proverNodes.length + 1;
150
+ const { mockGossipSubNetwork } = this.context;
151
+ const { proverNode } = await withLoggerBindings({
152
+ actor: `prover-${proverIndex}`
153
+ }, ()=>createAndSyncProverNode(proverNodePrivateKey, {
154
+ ...this.context.config,
155
+ p2pEnabled: this.context.config.p2pEnabled || mockGossipSubNetwork !== undefined,
156
+ proverId: EthAddress.fromNumber(proverIndex),
151
157
  dontStart: opts.dontStart,
152
158
  ...opts
153
- }, this.context.aztecNode, this.context.prefilledPublicData ?? [], {
154
- dateProvider: this.context.dateProvider
159
+ }, {
160
+ dataDirectory: join(this.context.config.dataDirectory, randomBytes(8).toString('hex'))
161
+ }, {
162
+ dateProvider: this.context.dateProvider,
163
+ p2pClientDeps: {
164
+ p2pServiceFactory: mockGossipSubNetwork ? getMockPubSubP2PServiceFactory(mockGossipSubNetwork) : undefined,
165
+ rpcTxProviders: [
166
+ this.context.aztecNode
167
+ ]
168
+ }
169
+ }, {
170
+ genesis: this.context.genesis,
171
+ dontStart: opts.dontStart
155
172
  }));
156
173
  this.proverNodes.push(proverNode);
157
174
  return proverNode;
@@ -172,7 +189,8 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
172
189
  });
173
190
  }
174
191
  async createNode(opts = {}) {
175
- const suffix = (this.nodes.length + 1).toString();
192
+ const nodeIndex = this.nodes.length + 1;
193
+ const actorPrefix = opts.disableValidator ? 'node' : 'validator';
176
194
  const { mockGossipSubNetwork } = this.context;
177
195
  const resolvedConfig = {
178
196
  ...this.context.config,
@@ -180,35 +198,25 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
180
198
  };
181
199
  const p2pEnabled = resolvedConfig.p2pEnabled || mockGossipSubNetwork !== undefined;
182
200
  const p2pIp = resolvedConfig.p2pIp ?? (p2pEnabled ? '127.0.0.1' : undefined);
183
- const node = await withLogNameSuffix(suffix, ()=>AztecNodeService.createAndSync({
201
+ const node = await withLoggerBindings({
202
+ actor: `${actorPrefix}-${nodeIndex}`
203
+ }, ()=>AztecNodeService.createAndSync({
184
204
  ...resolvedConfig,
185
205
  dataDirectory: join(this.context.config.dataDirectory, randomBytes(8).toString('hex')),
186
206
  validatorPrivateKeys: opts.validatorPrivateKeys ?? new SecretValue([]),
207
+ nodeId: resolvedConfig.nodeId || `${actorPrefix}-${nodeIndex}`,
187
208
  p2pEnabled,
188
209
  p2pIp
189
210
  }, {
190
211
  dateProvider: this.context.dateProvider,
191
212
  p2pClientDeps: {
192
213
  p2pServiceFactory: mockGossipSubNetwork ? getMockPubSubP2PServiceFactory(mockGossipSubNetwork) : undefined
193
- }
214
+ },
215
+ slashingProtectionDb: opts.slashingProtectionDb
194
216
  }, {
195
- prefilledPublicData: this.context.prefilledPublicData,
217
+ genesis: this.context.genesis,
196
218
  ...opts
197
219
  }));
198
- // REFACTOR: We're getting too much into the internals of the sequencer here.
199
- // We should have a single method for constructing an aztec node that returns a TestAztecNodeService
200
- // which directly exposes the delayer and sets any test config.
201
- if (opts.txDelayerMaxInclusionTimeIntoSlot !== undefined) {
202
- this.logger.info(`Setting tx delayer max inclusion time into slot to ${opts.txDelayerMaxInclusionTimeIntoSlot} seconds`);
203
- // Here we reach into the sequencer and hook in a tx delayer. The problem is that the sequencer's l1 utils only uses a public client, not a wallet.
204
- // The delayer needs a wallet (a client that can sign), so we have to create one here.
205
- const l1Client = createExtendedL1Client(resolvedConfig.l1RpcUrls, resolvedConfig.publisherPrivateKeys[0].getValue());
206
- const sequencer = node.getSequencer();
207
- const publisher = sequencer.sequencer.publisher;
208
- const delayed = DelayedTxUtils.fromL1TxUtils(publisher.l1TxUtils, this.L1_BLOCK_TIME_IN_S, l1Client);
209
- delayed.delayer.setMaxInclusionTimeIntoSlot(opts.txDelayerMaxInclusionTimeIntoSlot);
210
- publisher.l1TxUtils = delayed;
211
- }
212
220
  this.nodes.push(node);
213
221
  return node;
214
222
  }
@@ -236,7 +244,9 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
236
244
  this.logger.info(`Waiting until last slot of submission window for epoch ${epochNumber} at ${date}`, {
237
245
  oneSlotBefore
238
246
  });
239
- await waitUntilL1Timestamp(this.l1Client, oneSlotBefore);
247
+ // Use a timeout that accounts for the full proof submission window
248
+ const proofSubmissionWindowDuration = this.constants.proofSubmissionEpochs * this.epochDuration * this.L2_SLOT_DURATION_IN_S;
249
+ await waitUntilL1Timestamp(this.l1Client, oneSlotBefore, undefined, proofSubmissionWindowDuration * 2);
240
250
  }
241
251
  /** Waits for the aztec node to sync to the target block number. */ async waitForNodeToSync(blockNumber, type) {
242
252
  const waitTime = ARCHIVER_POLL_INTERVAL + WORLD_STATE_BLOCK_CHECK_INTERVAL;
@@ -273,12 +283,25 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
273
283
  await wallet.registerContract(instance, SpamContract.artifact);
274
284
  return SpamContract.at(instance.address, wallet);
275
285
  }
286
+ /** Registers the TestContract on the given wallet. */ async registerTestContract(wallet, salt = Fr.ZERO) {
287
+ const instance = await getContractInstanceFromInstantiationParams(TestContract.artifact, {
288
+ constructorArgs: [],
289
+ constructorArtifact: undefined,
290
+ salt,
291
+ publicKeys: undefined,
292
+ deployer: undefined
293
+ });
294
+ await wallet.registerContract(instance, TestContract.artifact);
295
+ return TestContract.at(instance.address, wallet);
296
+ }
276
297
  /** Creates an L1 client using a fresh account with funds from anvil, with a tx delayer already set up. */ async createL1Client() {
277
- const { client, delayer } = withDelayer(createExtendedL1Client([
298
+ const rawClient = createExtendedL1Client([
278
299
  ...this.l1Client.chain.rpcUrls.default.http
279
- ], privateKeyToAccount(this.getNextPrivateKey()), this.l1Client.chain), this.context.dateProvider, {
300
+ ], privateKeyToAccount(this.getNextPrivateKey()), this.l1Client.chain);
301
+ const delayer = createDelayer(this.context.dateProvider, {
280
302
  ethereumSlotDuration: this.L1_BLOCK_TIME_IN_S
281
- });
303
+ }, {});
304
+ const client = wrapClientWithDelayer(rawClient, delayer);
282
305
  expect(await client.getBalance({
283
306
  address: client.account.address
284
307
  })).toBeGreaterThan(0n);
@@ -296,6 +319,30 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
296
319
  ]).then((_)=>true).catch((_)=>false);
297
320
  expect(result).toBe(expectedSuccess);
298
321
  }
322
+ /** Verifies at least one checkpoint has the target number of blocks (for MBPS validation). */ async assertMultipleBlocksPerSlot(targetBlockCount) {
323
+ const archiver = this.context.aztecNode.getBlockSource();
324
+ const checkpoints = await archiver.getCheckpoints(CheckpointNumber(1), 50);
325
+ this.logger.warn(`Retrieved ${checkpoints.length} checkpoints from archiver`, {
326
+ checkpoints: checkpoints.map((pc)=>pc.checkpoint.getStats())
327
+ });
328
+ let expectedBlockNumber = checkpoints[0].checkpoint.blocks[0].number;
329
+ let targetFound = false;
330
+ for (const checkpoint of checkpoints){
331
+ const blockCount = checkpoint.checkpoint.blocks.length;
332
+ targetFound = targetFound || blockCount >= targetBlockCount;
333
+ this.logger.verbose(`Checkpoint ${checkpoint.checkpoint.number} has ${blockCount} blocks`, {
334
+ checkpoint: checkpoint.checkpoint.getStats()
335
+ });
336
+ for(let i = 0; i < blockCount; i++){
337
+ const block = checkpoint.checkpoint.blocks[i];
338
+ expect(block.indexWithinCheckpoint).toBe(i);
339
+ expect(block.checkpointNumber).toBe(checkpoint.checkpoint.number);
340
+ expect(block.number).toBe(expectedBlockNumber);
341
+ expectedBlockNumber++;
342
+ }
343
+ }
344
+ expect(targetFound).toBe(true);
345
+ }
299
346
  watchSequencerEvents(sequencers, getMetadata = ()=>({})) {
300
347
  const stateChanges = [];
301
348
  const failEvents = [];
@@ -15,10 +15,10 @@ import { TokenContract as BananaCoin } from '@aztec/noir-contracts.js/Token';
15
15
  import { CounterContract } from '@aztec/noir-test-contracts.js/Counter';
16
16
  import { GasSettings } from '@aztec/stdlib/gas';
17
17
  import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
18
- import { TestWallet } from '@aztec/test-wallet/server';
19
18
  import { type EndToEndContext, type SetupOptions } from '../fixtures/setup.js';
20
19
  import { type BalancesFn } from '../fixtures/utils.js';
21
20
  import { type GasBridgingTestHarness } from '../shared/gas_portal_test_harness.js';
21
+ import { TestWallet } from '../test-wallet/test_wallet.js';
22
22
  /**
23
23
  * Test fixture for testing fees. Provides the following setup steps:
24
24
  * InitialAccounts: Initializes 3 Schnorr account contracts.
@@ -85,4 +85,4 @@ export declare class FeesTest {
85
85
  applyFundAliceWithBananas(): Promise<void>;
86
86
  applyFundAliceWithPrivateBananas(): Promise<void>;
87
87
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlc190ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZTJlX2ZlZXMvZmVlc190ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLElBQUksVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0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
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlc190ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZTJlX2ZlZXMvZmVlc190ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFpQyxNQUFNLHNCQUFzQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxJQUFJLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUd4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFL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
@@ -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,4 +1,5 @@
1
1
  import { createLogger } from '@aztec/aztec.js/log';
2
+ import { getTokenAllowedSetupFunctions } from '@aztec/aztec/testing';
2
3
  import { createExtendedL1Client } from '@aztec/ethereum/client';
3
4
  import { RollupContract } from '@aztec/ethereum/contracts';
4
5
  import { ChainMonitor } from '@aztec/ethereum/test';
@@ -77,6 +78,8 @@ import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_h
77
78
  }
78
79
  async setup() {
79
80
  this.logger.verbose('Setting up fresh context...');
81
+ // Token allowlist entries are test-only: FPC-based fee payment with custom tokens won't work on mainnet alpha.
82
+ const tokenAllowList = await getTokenAllowedSetupFunctions();
80
83
  this.context = await setup(0, {
81
84
  startProverNode: true,
82
85
  ...this.setupOptions,
@@ -84,7 +87,11 @@ import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_h
84
87
  skipAccountDeployment: true,
85
88
  l1ContractsArgs: {
86
89
  ...this.setupOptions
87
- }
90
+ },
91
+ txPublicSetupAllowListExtend: [
92
+ ...this.setupOptions.txPublicSetupAllowListExtend ?? [],
93
+ ...tokenAllowList
94
+ ]
88
95
  });
89
96
  this.rollupContract = RollupContract.getFromConfig(this.context.config);
90
97
  this.chainMonitor = new ChainMonitor(this.rollupContract, this.context.dateProvider, this.logger, 200).start();
@@ -124,12 +131,12 @@ import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_h
124
131
  });
125
132
  }
126
133
  /** Alice mints bananaCoin tokens privately to the target address and redeems them. */ async mintPrivateBananas(amount, address) {
127
- const balanceBefore = await this.bananaCoin.methods.balance_of_private(address).simulate({
128
- from: this.aliceAddress
134
+ const { result: balanceBefore } = await this.bananaCoin.methods.balance_of_private(address).simulate({
135
+ from: address
129
136
  });
130
137
  await mintTokensToPrivate(this.bananaCoin, this.aliceAddress, address, amount);
131
- const balanceAfter = await this.bananaCoin.methods.balance_of_private(address).simulate({
132
- from: this.aliceAddress
138
+ const { result: balanceAfter } = await this.bananaCoin.methods.balance_of_private(address).simulate({
139
+ from: address
133
140
  });
134
141
  expect(balanceAfter).toEqual(balanceBefore + amount);
135
142
  }
@@ -148,7 +155,7 @@ import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_h
148
155
  this.wallet = this.context.wallet;
149
156
  this.aztecNode = this.context.aztecNodeService;
150
157
  this.aztecNodeAdmin = this.context.aztecNodeService;
151
- this.gasSettings = GasSettings.default({
158
+ this.gasSettings = GasSettings.fallback({
152
159
  maxFeesPerGas: (await this.aztecNode.getCurrentMinFees()).mul(2)
153
160
  });
154
161
  this.cheatCodes = this.context.cheatCodes;
@@ -167,7 +174,7 @@ import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_h
167
174
  async applySetupFeeJuice() {
168
175
  this.logger.info('Applying fee juice setup');
169
176
  this.feeJuiceContract = FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.wallet);
170
- this.getGasBalanceFn = getBalancesFn('⛽', this.feeJuiceContract.methods.balance_of_public, this.aliceAddress, this.logger);
177
+ this.getGasBalanceFn = getBalancesFn('⛽', this.feeJuiceContract.methods.balance_of_public, this.logger);
171
178
  this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
172
179
  aztecNode: this.context.aztecNodeService,
173
180
  aztecNodeAdmin: this.context.aztecNodeService,
@@ -178,20 +185,20 @@ import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_h
178
185
  }
179
186
  async applyDeployBananaToken() {
180
187
  this.logger.info('Applying deploy banana token setup');
181
- const bananaCoin = await BananaCoin.deploy(this.wallet, this.aliceAddress, 'BC', 'BC', 18n).send({
188
+ const { contract: bananaCoin } = await BananaCoin.deploy(this.wallet, this.aliceAddress, 'BC', 'BC', 18n).send({
182
189
  from: this.aliceAddress
183
190
  });
184
191
  this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
185
192
  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);
193
+ this.getBananaPublicBalanceFn = getBalancesFn('🍌.public', this.bananaCoin.methods.balance_of_public, this.logger);
194
+ this.getBananaPrivateBalanceFn = getBalancesFn('🍌.private', this.bananaCoin.methods.balance_of_private, this.logger);
188
195
  }
189
196
  async applyFPCSetup() {
190
197
  this.logger.info('Applying FPC setup');
191
198
  const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
192
199
  expect((await this.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
193
200
  const bananaCoin = this.bananaCoin;
194
- const bananaFPC = await FPCContract.deploy(this.wallet, bananaCoin.address, this.fpcAdmin).send({
201
+ const { contract: bananaFPC } = await FPCContract.deploy(this.wallet, bananaCoin.address, this.fpcAdmin).send({
195
202
  from: this.aliceAddress
196
203
  });
197
204
  this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
@@ -216,7 +223,7 @@ import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_h
216
223
  const block = await this.aztecNode.getBlock(blockNumber);
217
224
  // @todo @lherskind As we deal with #13601
218
225
  // Right now the value is from `FeeLib.sol`
219
- const L1_GAS_PER_EPOCH_VERIFIED = 1000000n;
226
+ const L1_GAS_PER_EPOCH_VERIFIED = 3600000n;
220
227
  // We round up
221
228
  const mulDiv = (a, b, c)=>a * b / c + (a * b % c > 0n ? 1n : 0n);
222
229
  const { baseFee } = await this.rollupContract.getL1FeesAt(block.header.globalVariables.timestamp);
@@ -2,9 +2,10 @@ import { AztecAddress } from '@aztec/aztec.js/addresses';
2
2
  import { Fr } from '@aztec/aztec.js/fields';
3
3
  import { BatchedBlob, Blob } from '@aztec/blob-lib';
4
4
  import { L2Block } from '@aztec/stdlib/block';
5
+ import { CheckpointHeader } from '@aztec/stdlib/rollup';
5
6
  /**
6
7
  * Creates a json object that can be used to test the solidity contract.
7
8
  * The json object must be put into
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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVfanNvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2UyZV9sMV9wdWJsaXNoZXIvd3JpdGVfanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUE2RCxNQUFNLGlCQUFpQixDQUFDO0FBRS9HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU85Qzs7O0dBR0c7QUFDSCx3QkFBc0IsU0FBUyxDQUM3QixRQUFRLEVBQUUsTUFBTSxFQUNoQixLQUFLLEVBQUUsT0FBTyxFQUNkLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFDbkIsS0FBSyxFQUFFLElBQUksRUFBRSxFQUNiLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLGdCQUFnQixFQUFFLFlBQVksRUFDOUIsZUFBZSxFQUFFLEtBQUssTUFBTSxFQUFFLEdBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwRGYifQ==
10
+ export declare function writeJson(fileName: string, checkpointHeader: CheckpointHeader, block: L2Block, l1ToL2Content: Fr[], blobs: Blob[], batchedBlob: BatchedBlob, recipientAddress: AztecAddress, deployerAddress: `0x${string}`): Promise<void>;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVfanNvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2UyZV9sMV9wdWJsaXNoZXIvd3JpdGVfanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUE2RCxNQUFNLGlCQUFpQixDQUFDO0FBRS9HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU14RDs7O0dBR0c7QUFDSCx3QkFBc0IsU0FBUyxDQUM3QixRQUFRLEVBQUUsTUFBTSxFQUNoQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsS0FBSyxFQUFFLE9BQU8sRUFDZCxhQUFhLEVBQUUsRUFBRSxFQUFFLEVBQ25CLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFDYixXQUFXLEVBQUUsV0FBVyxFQUN4QixnQkFBZ0IsRUFBRSxZQUFZLEVBQzlCLGVBQWUsRUFBRSxLQUFLLE1BQU0sRUFBRSxHQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLENBb0RmIn0=
@@ -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,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
+ {"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;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMxD;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,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,CAoDf"}
@@ -1,11 +1,10 @@
1
1
  import { getEthBlobEvaluationInputs, getPrefixedEthBlobCommitments } from '@aztec/blob-lib';
2
- import { CheckpointHeader } from '@aztec/stdlib/rollup';
3
2
  import { writeFile } from 'fs/promises';
4
3
  const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
5
4
  /**
6
5
  * Creates a json object that can be used to test the solidity contract.
7
6
  * The json object must be put into
8
- */ export async function writeJson(fileName, block, l1ToL2Content, blobs, batchedBlob, recipientAddress, deployerAddress) {
7
+ */ export async function writeJson(fileName, checkpointHeader, block, l1ToL2Content, blobs, batchedBlob, recipientAddress, deployerAddress) {
9
8
  if (!AZTEC_GENERATE_TEST_DATA) {
10
9
  return;
11
10
  }
@@ -15,11 +14,6 @@ const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
15
14
  const buffer = Buffer.isBuffer(value) ? value : value.toBuffer();
16
15
  return `0x${buffer.toString('hex').padStart(size, '0')}`;
17
16
  };
18
- // Create a checkpoint header for this block
19
- const checkpointHeader = CheckpointHeader.random({
20
- slotNumber: block.slot,
21
- timestamp: block.timestamp
22
- });
23
17
  const jsonObject = {
24
18
  populate: {
25
19
  l1ToL2Content: l1ToL2Content.map((value)=>asHex(value)),
@@ -23,4 +23,4 @@ export declare class NestedContractTest {
23
23
  teardown(): Promise<void>;
24
24
  applyManual(): Promise<void>;
25
25
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkX2NvbnRyYWN0X3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfbmVzdGVkX2NvbnRyYWN0L25lc3RlZF9jb250cmFjdF90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV0RSxPQUFPLEVBQ0wsS0FBSyxlQUFlLEVBS3JCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIscUJBQWEsa0JBQWtCO0lBWTNCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFYMUIsT0FBTyxFQUFHLGVBQWUsQ0FBQztJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsTUFBTSxFQUFHLE1BQU0sQ0FBQztJQUNoQixxQkFBcUIsRUFBRyxZQUFZLENBQUM7SUFDckMsU0FBUyxFQUFHLFNBQVMsQ0FBQztJQUV0QixjQUFjLEVBQUcsY0FBYyxDQUFDO0lBQ2hDLGFBQWEsRUFBRyxhQUFhLENBQUM7SUFFOUIsWUFDRSxRQUFRLEVBQUUsTUFBTSxFQUNSLGdCQUFnQixTQUFJLEVBRzdCO0lBRUQ7O09BRUc7SUFDRyxjQUFjLGtCQWVuQjtJQUVLLEtBQUssa0JBT1Y7SUFFSyxRQUFRLGtCQUViO0lBRUssV0FBVyxrQkFNaEI7Q0FDRiJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkX2NvbnRyYWN0X3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfbmVzdGVkX2NvbnRyYWN0L25lc3RlZF9jb250cmFjdF90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV0RSxPQUFPLEVBQ0wsS0FBSyxlQUFlLEVBS3JCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIscUJBQWEsa0JBQWtCO0lBWTNCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFYMUIsT0FBTyxFQUFHLGVBQWUsQ0FBQztJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsTUFBTSxFQUFHLE1BQU0sQ0FBQztJQUNoQixxQkFBcUIsRUFBRyxZQUFZLENBQUM7SUFDckMsU0FBUyxFQUFHLFNBQVMsQ0FBQztJQUV0QixjQUFjLEVBQUcsY0FBYyxDQUFDO0lBQ2hDLGFBQWEsRUFBRyxhQUFhLENBQUM7SUFFOUIsWUFDRSxRQUFRLEVBQUUsTUFBTSxFQUNSLGdCQUFnQixTQUFJLEVBRzdCO0lBRUQ7O09BRUc7SUFDRyxjQUFjLGtCQWVuQjtJQUVLLEtBQUssa0JBT1Y7SUFFSyxRQUFRLGtCQUViO0lBRUssV0FBVyxrQkFRaEI7Q0FDRiJ9
@@ -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,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
+ {"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,kBAQhB;CACF"}
@@ -44,13 +44,11 @@ export class NestedContractTest {
44
44
  }
45
45
  async applyManual() {
46
46
  this.logger.info('Deploying parent and child contracts');
47
- const parentContract = await ParentContract.deploy(this.wallet).send({
47
+ ({ contract: this.parentContract } = await ParentContract.deploy(this.wallet).send({
48
48
  from: this.defaultAccountAddress
49
- });
50
- const childContract = await ChildContract.deploy(this.wallet).send({
49
+ }));
50
+ ({ contract: this.childContract } = await ChildContract.deploy(this.wallet).send({
51
51
  from: this.defaultAccountAddress
52
- });
53
- this.parentContract = parentContract;
54
- this.childContract = childContract;
52
+ }));
55
53
  }
56
54
  }
@@ -42,6 +42,7 @@ export class P2PInactivityTest {
42
42
  basePort: BOOT_NODE_UDP_PORT,
43
43
  startProverNode: true,
44
44
  initialConfig: {
45
+ anvilSlotsInAnEpoch: 4,
45
46
  proverNodeConfig: {
46
47
  proverNodeEpochProvingDelayMs: AZTEC_SLOT_DURATION * 1000
47
48
  },
@@ -52,7 +53,6 @@ export class P2PInactivityTest {
52
53
  listenAddress: '127.0.0.1',
53
54
  minTxsPerBlock: 0,
54
55
  aztecEpochDuration: EPOCH_DURATION,
55
- validatorReexecute: false,
56
56
  sentinelEnabled: true,
57
57
  slashingQuorum: SLASHING_QUORUM,
58
58
  slashingRoundSizeInEpochs: SLASHING_ROUND_SIZE_IN_EPOCHS,
@@ -84,13 +84,13 @@ export class P2PInactivityTest {
84
84
  await this.test.ctx.aztecNodeService.stop();
85
85
  }
86
86
  // Create all active nodes
87
- this.activeNodes = await createNodes(this.test.ctx.aztecNodeConfig, this.test.ctx.dateProvider, this.test.bootstrapNodeEnr, NUM_NODES - this.inactiveNodeCount - Number(this.keepInitialNode), BOOT_NODE_UDP_PORT, this.test.prefilledPublicData, this.dataDir, undefined, Number(this.keepInitialNode));
87
+ this.activeNodes = await createNodes(this.test.ctx.aztecNodeConfig, this.test.ctx.dateProvider, this.test.bootstrapNodeEnr, NUM_NODES - this.inactiveNodeCount - Number(this.keepInitialNode), BOOT_NODE_UDP_PORT, this.test.genesis, this.dataDir, undefined, Number(this.keepInitialNode));
88
88
  // And the ones with an initially disabled sequencer
89
89
  const inactiveConfig = {
90
90
  ...this.test.ctx.aztecNodeConfig,
91
91
  dontStartSequencer: true
92
92
  };
93
- this.inactiveNodes = await createNodes(inactiveConfig, this.test.ctx.dateProvider, this.test.bootstrapNodeEnr, this.inactiveNodeCount, BOOT_NODE_UDP_PORT, this.test.prefilledPublicData, this.dataDir, undefined, NUM_NODES - this.inactiveNodeCount);
93
+ this.inactiveNodes = await createNodes(inactiveConfig, this.test.ctx.dateProvider, this.test.bootstrapNodeEnr, this.inactiveNodeCount, BOOT_NODE_UDP_PORT, this.test.genesis, this.dataDir, undefined, NUM_NODES - this.inactiveNodeCount);
94
94
  this.nodes = [
95
95
  ...this.keepInitialNode ? [
96
96
  this.test.ctx.aztecNodeService