@aztec/end-to-end 0.0.0-test.1 → 0.0.1-commit.5476d83

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 (174) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +61 -0
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -0
  3. package/dest/bench/client_flows/benchmark.js +261 -0
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts +80 -0
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -0
  6. package/dest/bench/client_flows/client_flows_benchmark.js +334 -0
  7. package/dest/bench/client_flows/config.d.ts +14 -0
  8. package/dest/bench/client_flows/config.d.ts.map +1 -0
  9. package/dest/bench/client_flows/config.js +106 -0
  10. package/dest/bench/client_flows/data_extractor.d.ts +2 -0
  11. package/dest/bench/client_flows/data_extractor.d.ts.map +1 -0
  12. package/dest/bench/client_flows/data_extractor.js +77 -0
  13. package/dest/bench/utils.d.ts +12 -38
  14. package/dest/bench/utils.d.ts.map +1 -1
  15. package/dest/bench/utils.js +26 -66
  16. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +21 -13
  17. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  18. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +85 -57
  19. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +19 -25
  20. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  21. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +50 -70
  22. package/dest/e2e_deploy_contract/deploy_test.d.ts +16 -8
  23. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  24. package/dest/e2e_deploy_contract/deploy_test.js +13 -19
  25. package/dest/e2e_epochs/epochs_test.d.ts +59 -18
  26. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  27. package/dest/e2e_epochs/epochs_test.js +226 -44
  28. package/dest/e2e_fees/bridging_race.notest.d.ts +2 -0
  29. package/dest/e2e_fees/bridging_race.notest.d.ts.map +1 -0
  30. package/dest/e2e_fees/bridging_race.notest.js +63 -0
  31. package/dest/e2e_fees/fees_test.d.ts +21 -10
  32. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  33. package/dest/e2e_fees/fees_test.js +103 -109
  34. package/dest/e2e_l1_publisher/write_json.d.ts +10 -0
  35. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -0
  36. package/dest/e2e_l1_publisher/write_json.js +58 -0
  37. package/dest/e2e_multi_validator/utils.d.ts +12 -0
  38. package/dest/e2e_multi_validator/utils.d.ts.map +1 -0
  39. package/dest/e2e_multi_validator/utils.js +214 -0
  40. package/dest/e2e_nested_contract/nested_contract_test.d.ts +10 -7
  41. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  42. package/dest/e2e_nested_contract/nested_contract_test.js +24 -20
  43. package/dest/e2e_p2p/inactivity_slash_test.d.ts +31 -0
  44. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -0
  45. package/dest/e2e_p2p/inactivity_slash_test.js +139 -0
  46. package/dest/e2e_p2p/p2p_network.d.ts +275 -23
  47. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  48. package/dest/e2e_p2p/p2p_network.js +184 -131
  49. package/dest/e2e_p2p/shared.d.ts +43 -7
  50. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  51. package/dest/e2e_p2p/shared.js +164 -19
  52. package/dest/e2e_token_contract/token_contract_test.d.ts +12 -6
  53. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  54. package/dest/e2e_token_contract/token_contract_test.js +50 -26
  55. package/dest/fixtures/e2e_prover_test.d.ts +63 -0
  56. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -0
  57. package/dest/{e2e_prover → fixtures}/e2e_prover_test.js +104 -105
  58. package/dest/fixtures/fixtures.d.ts +6 -7
  59. package/dest/fixtures/fixtures.d.ts.map +1 -1
  60. package/dest/fixtures/fixtures.js +4 -3
  61. package/dest/fixtures/get_acvm_config.d.ts +2 -2
  62. package/dest/fixtures/get_acvm_config.d.ts.map +1 -1
  63. package/dest/fixtures/get_acvm_config.js +2 -14
  64. package/dest/fixtures/get_bb_config.d.ts +2 -2
  65. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  66. package/dest/fixtures/get_bb_config.js +10 -17
  67. package/dest/fixtures/index.d.ts +1 -1
  68. package/dest/fixtures/l1_to_l2_messaging.d.ts +9 -6
  69. package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
  70. package/dest/fixtures/l1_to_l2_messaging.js +44 -18
  71. package/dest/fixtures/logging.d.ts +1 -1
  72. package/dest/fixtures/setup_l1_contracts.d.ts +476 -5
  73. package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
  74. package/dest/fixtures/setup_l1_contracts.js +4 -4
  75. package/dest/fixtures/setup_p2p_test.d.ts +15 -14
  76. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  77. package/dest/fixtures/setup_p2p_test.js +81 -21
  78. package/dest/fixtures/snapshot_manager.d.ts +17 -9
  79. package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
  80. package/dest/fixtures/snapshot_manager.js +147 -121
  81. package/dest/fixtures/token_utils.d.ts +10 -4
  82. package/dest/fixtures/token_utils.d.ts.map +1 -1
  83. package/dest/fixtures/token_utils.js +28 -12
  84. package/dest/fixtures/utils.d.ts +524 -40
  85. package/dest/fixtures/utils.d.ts.map +1 -1
  86. package/dest/fixtures/utils.js +464 -369
  87. package/dest/fixtures/web3signer.d.ts +5 -0
  88. package/dest/fixtures/web3signer.d.ts.map +1 -0
  89. package/dest/fixtures/web3signer.js +53 -0
  90. package/dest/fixtures/with_telemetry_utils.d.ts +1 -1
  91. package/dest/index.d.ts +1 -1
  92. package/dest/quality_of_service/alert_checker.d.ts +2 -2
  93. package/dest/quality_of_service/alert_checker.d.ts.map +1 -1
  94. package/dest/shared/cross_chain_test_harness.d.ts +39 -34
  95. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  96. package/dest/shared/cross_chain_test_harness.js +104 -50
  97. package/dest/shared/gas_portal_test_harness.d.ts +29 -31
  98. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  99. package/dest/shared/gas_portal_test_harness.js +51 -30
  100. package/dest/shared/index.d.ts +1 -1
  101. package/dest/shared/jest_setup.d.ts +1 -1
  102. package/dest/shared/jest_setup.js +1 -1
  103. package/dest/shared/submit-transactions.d.ts +6 -4
  104. package/dest/shared/submit-transactions.d.ts.map +1 -1
  105. package/dest/shared/submit-transactions.js +8 -7
  106. package/dest/shared/uniswap_l1_l2.d.ts +14 -12
  107. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  108. package/dest/shared/uniswap_l1_l2.js +146 -116
  109. package/dest/simulators/index.d.ts +1 -1
  110. package/dest/simulators/lending_simulator.d.ts +7 -11
  111. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  112. package/dest/simulators/lending_simulator.js +15 -16
  113. package/dest/simulators/token_simulator.d.ts +6 -3
  114. package/dest/simulators/token_simulator.d.ts.map +1 -1
  115. package/dest/simulators/token_simulator.js +16 -13
  116. package/dest/spartan/setup_test_wallets.d.ts +26 -11
  117. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  118. package/dest/spartan/setup_test_wallets.js +201 -58
  119. package/dest/spartan/utils.d.ts +118 -313
  120. package/dest/spartan/utils.d.ts.map +1 -1
  121. package/dest/spartan/utils.js +472 -135
  122. package/package.json +65 -58
  123. package/src/bench/client_flows/benchmark.ts +341 -0
  124. package/src/bench/client_flows/client_flows_benchmark.ts +447 -0
  125. package/src/bench/client_flows/config.ts +61 -0
  126. package/src/bench/client_flows/data_extractor.ts +89 -0
  127. package/src/bench/utils.ts +22 -76
  128. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +80 -77
  129. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +65 -106
  130. package/src/e2e_deploy_contract/deploy_test.ts +24 -39
  131. package/src/e2e_epochs/epochs_test.ts +276 -55
  132. package/src/e2e_fees/bridging_race.notest.ts +80 -0
  133. package/src/e2e_fees/fees_test.ts +142 -138
  134. package/src/e2e_l1_publisher/write_json.ts +77 -0
  135. package/src/e2e_multi_validator/utils.ts +258 -0
  136. package/src/e2e_nested_contract/nested_contract_test.ts +29 -19
  137. package/src/e2e_p2p/inactivity_slash_test.ts +182 -0
  138. package/src/e2e_p2p/p2p_network.ts +279 -169
  139. package/src/e2e_p2p/shared.ts +247 -29
  140. package/src/e2e_token_contract/token_contract_test.ts +43 -39
  141. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  142. package/src/{e2e_prover → fixtures}/e2e_prover_test.ts +107 -152
  143. package/src/fixtures/fixtures.ts +4 -3
  144. package/src/fixtures/get_acvm_config.ts +3 -11
  145. package/src/fixtures/get_bb_config.ts +18 -13
  146. package/src/fixtures/l1_to_l2_messaging.ts +53 -23
  147. package/src/fixtures/setup_l1_contracts.ts +6 -7
  148. package/src/fixtures/setup_p2p_test.ts +126 -38
  149. package/src/fixtures/snapshot_manager.ts +187 -139
  150. package/src/fixtures/token_utils.ts +32 -15
  151. package/src/fixtures/utils.ts +580 -434
  152. package/src/fixtures/web3signer.ts +63 -0
  153. package/src/guides/up_quick_start.sh +7 -15
  154. package/src/quality_of_service/alert_checker.ts +1 -1
  155. package/src/shared/cross_chain_test_harness.ts +108 -79
  156. package/src/shared/gas_portal_test_harness.ts +59 -50
  157. package/src/shared/jest_setup.ts +1 -1
  158. package/src/shared/submit-transactions.ts +12 -8
  159. package/src/shared/uniswap_l1_l2.ts +181 -184
  160. package/src/simulators/lending_simulator.ts +14 -15
  161. package/src/simulators/token_simulator.ts +21 -13
  162. package/src/spartan/DEVELOP.md +121 -0
  163. package/src/spartan/setup_test_wallets.ts +251 -93
  164. package/src/spartan/utils.ts +536 -136
  165. package/dest/e2e_prover/e2e_prover_test.d.ts +0 -56
  166. package/dest/e2e_prover/e2e_prover_test.d.ts.map +0 -1
  167. package/dest/sample-dapp/connect.js +0 -12
  168. package/dest/sample-dapp/contracts.js +0 -10
  169. package/dest/sample-dapp/deploy.js +0 -35
  170. package/dest/sample-dapp/index.js +0 -98
  171. package/src/sample-dapp/connect.mjs +0 -16
  172. package/src/sample-dapp/contracts.mjs +0 -14
  173. package/src/sample-dapp/deploy.mjs +0 -40
  174. package/src/sample-dapp/index.mjs +0 -128
@@ -1,61 +1,313 @@
1
1
  import type { InitialAccountData } from '@aztec/accounts/testing';
2
- import type { AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
3
- import type { AccountWalletWithSecretKey } from '@aztec/aztec.js';
4
- import { ChainMonitor } from '@aztec/aztec.js/ethereum';
2
+ import type { AztecNodeService } from '@aztec/aztec-node';
3
+ import { AztecAddress } from '@aztec/aztec.js/addresses';
4
+ import { type EmpireSlashingProposerContract, type Operator, RollupContract, type TallySlashingProposerContract, type ViemClient } from '@aztec/ethereum';
5
+ import { ChainMonitor } from '@aztec/ethereum/test';
5
6
  import { type Logger } from '@aztec/foundation/log';
6
- import { SpamContract } from '@aztec/noir-contracts.js/Spam';
7
+ import { SlasherAbi } from '@aztec/l1-artifacts';
8
+ import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
7
9
  import type { BootstrapNode } from '@aztec/p2p/bootstrap';
10
+ import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
8
11
  import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
12
+ import type { TestWallet } from '@aztec/test-wallet/server';
13
+ import { type GetContractReturnType } from 'viem';
9
14
  import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
15
+ import { type SetupOptions } from '../fixtures/utils.js';
10
16
  export declare const WAIT_FOR_TX_TIMEOUT: number;
11
- export declare const SHORTENED_BLOCK_TIME_CONFIG: {
17
+ export declare const SHORTENED_BLOCK_TIME_CONFIG_NO_PRUNES: {
12
18
  aztecSlotDuration: number;
13
19
  ethereumSlotDuration: number;
20
+ aztecProofSubmissionWindow: number;
14
21
  };
15
22
  export declare class P2PNetworkTest {
23
+ readonly testName: string;
16
24
  bootstrapNodeEnr: string;
17
25
  bootNodePort: number;
18
- private numberOfNodes;
26
+ numberOfValidators: number;
27
+ numberOfNodes: number;
19
28
  private metricsPort?;
20
29
  private snapshotManager;
21
- private baseAccount;
30
+ baseAccountPrivateKey: `0x${string}`;
31
+ baseAccount: {
32
+ address: `0x${string}`;
33
+ nonceManager?: import("viem").NonceManager | undefined;
34
+ sign: (parameters: {
35
+ hash: `0x${string}`;
36
+ }) => Promise<`0x${string}`>;
37
+ signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
38
+ signMessage: ({ message }: {
39
+ message: import("viem").SignableMessage;
40
+ }) => Promise<`0x${string}`>;
41
+ signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
42
+ serializer?: serializer | undefined;
43
+ } | undefined) => Promise<`0x${string}`>;
44
+ signTypedData: <const typedData extends Record<string, unknown> | {
45
+ [x: string]: readonly import("viem").TypedDataParameter[];
46
+ [x: `address[${string}]`]: undefined;
47
+ [x: `bool[${string}]`]: undefined;
48
+ [x: `bytes10[${string}]`]: undefined;
49
+ [x: `bytes11[${string}]`]: undefined;
50
+ [x: `bytes12[${string}]`]: undefined;
51
+ [x: `bytes13[${string}]`]: undefined;
52
+ [x: `bytes14[${string}]`]: undefined;
53
+ [x: `bytes15[${string}]`]: undefined;
54
+ [x: `bytes16[${string}]`]: undefined;
55
+ [x: `bytes17[${string}]`]: undefined;
56
+ [x: `bytes18[${string}]`]: undefined;
57
+ [x: `bytes19[${string}]`]: undefined;
58
+ [x: `bytes1[${string}]`]: undefined;
59
+ [x: `bytes20[${string}]`]: undefined;
60
+ [x: `bytes21[${string}]`]: undefined;
61
+ [x: `bytes22[${string}]`]: undefined;
62
+ [x: `bytes23[${string}]`]: undefined;
63
+ [x: `bytes24[${string}]`]: undefined;
64
+ [x: `bytes25[${string}]`]: undefined;
65
+ [x: `bytes26[${string}]`]: undefined;
66
+ [x: `bytes27[${string}]`]: undefined;
67
+ [x: `bytes28[${string}]`]: undefined;
68
+ [x: `bytes29[${string}]`]: undefined;
69
+ [x: `bytes2[${string}]`]: undefined;
70
+ [x: `bytes30[${string}]`]: undefined;
71
+ [x: `bytes31[${string}]`]: undefined;
72
+ [x: `bytes32[${string}]`]: undefined;
73
+ [x: `bytes3[${string}]`]: undefined;
74
+ [x: `bytes4[${string}]`]: undefined;
75
+ [x: `bytes5[${string}]`]: undefined;
76
+ [x: `bytes6[${string}]`]: undefined;
77
+ [x: `bytes7[${string}]`]: undefined;
78
+ [x: `bytes8[${string}]`]: undefined;
79
+ [x: `bytes9[${string}]`]: undefined;
80
+ [x: `bytes[${string}]`]: undefined;
81
+ [x: `function[${string}]`]: undefined;
82
+ [x: `int104[${string}]`]: undefined;
83
+ [x: `int112[${string}]`]: undefined;
84
+ [x: `int120[${string}]`]: undefined;
85
+ [x: `int128[${string}]`]: undefined;
86
+ [x: `int136[${string}]`]: undefined;
87
+ [x: `int144[${string}]`]: undefined;
88
+ [x: `int152[${string}]`]: undefined;
89
+ [x: `int160[${string}]`]: undefined;
90
+ [x: `int168[${string}]`]: undefined;
91
+ [x: `int16[${string}]`]: undefined;
92
+ [x: `int176[${string}]`]: undefined;
93
+ [x: `int184[${string}]`]: undefined;
94
+ [x: `int192[${string}]`]: undefined;
95
+ [x: `int200[${string}]`]: undefined;
96
+ [x: `int208[${string}]`]: undefined;
97
+ [x: `int216[${string}]`]: undefined;
98
+ [x: `int224[${string}]`]: undefined;
99
+ [x: `int232[${string}]`]: undefined;
100
+ [x: `int240[${string}]`]: undefined;
101
+ [x: `int248[${string}]`]: undefined;
102
+ [x: `int24[${string}]`]: undefined;
103
+ [x: `int256[${string}]`]: undefined;
104
+ [x: `int32[${string}]`]: undefined;
105
+ [x: `int40[${string}]`]: undefined;
106
+ [x: `int48[${string}]`]: undefined;
107
+ [x: `int56[${string}]`]: undefined;
108
+ [x: `int64[${string}]`]: undefined;
109
+ [x: `int72[${string}]`]: undefined;
110
+ [x: `int80[${string}]`]: undefined;
111
+ [x: `int88[${string}]`]: undefined;
112
+ [x: `int8[${string}]`]: undefined;
113
+ [x: `int96[${string}]`]: undefined;
114
+ [x: `int[${string}]`]: undefined;
115
+ [x: `string[${string}]`]: undefined;
116
+ [x: `uint104[${string}]`]: undefined;
117
+ [x: `uint112[${string}]`]: undefined;
118
+ [x: `uint120[${string}]`]: undefined;
119
+ [x: `uint128[${string}]`]: undefined;
120
+ [x: `uint136[${string}]`]: undefined;
121
+ [x: `uint144[${string}]`]: undefined;
122
+ [x: `uint152[${string}]`]: undefined;
123
+ [x: `uint160[${string}]`]: undefined;
124
+ [x: `uint168[${string}]`]: undefined;
125
+ [x: `uint16[${string}]`]: undefined;
126
+ [x: `uint176[${string}]`]: undefined;
127
+ [x: `uint184[${string}]`]: undefined;
128
+ [x: `uint192[${string}]`]: undefined;
129
+ [x: `uint200[${string}]`]: undefined;
130
+ [x: `uint208[${string}]`]: undefined;
131
+ [x: `uint216[${string}]`]: undefined;
132
+ [x: `uint224[${string}]`]: undefined;
133
+ [x: `uint232[${string}]`]: undefined;
134
+ [x: `uint240[${string}]`]: undefined;
135
+ [x: `uint248[${string}]`]: undefined;
136
+ [x: `uint24[${string}]`]: undefined;
137
+ [x: `uint256[${string}]`]: undefined;
138
+ [x: `uint32[${string}]`]: undefined;
139
+ [x: `uint40[${string}]`]: undefined;
140
+ [x: `uint48[${string}]`]: undefined;
141
+ [x: `uint56[${string}]`]: undefined;
142
+ [x: `uint64[${string}]`]: undefined;
143
+ [x: `uint72[${string}]`]: undefined;
144
+ [x: `uint80[${string}]`]: undefined;
145
+ [x: `uint88[${string}]`]: undefined;
146
+ [x: `uint8[${string}]`]: undefined;
147
+ [x: `uint96[${string}]`]: undefined;
148
+ [x: `uint[${string}]`]: undefined;
149
+ address?: undefined;
150
+ bool?: undefined;
151
+ bytes?: undefined;
152
+ bytes1?: undefined;
153
+ bytes10?: undefined;
154
+ bytes11?: undefined;
155
+ bytes12?: undefined;
156
+ bytes13?: undefined;
157
+ bytes14?: undefined;
158
+ bytes15?: undefined;
159
+ bytes16?: undefined;
160
+ bytes17?: undefined;
161
+ bytes18?: undefined;
162
+ bytes19?: undefined;
163
+ bytes2?: undefined;
164
+ bytes20?: undefined;
165
+ bytes21?: undefined;
166
+ bytes22?: undefined;
167
+ bytes23?: undefined;
168
+ bytes24?: undefined;
169
+ bytes25?: undefined;
170
+ bytes26?: undefined;
171
+ bytes27?: undefined;
172
+ bytes28?: undefined;
173
+ bytes29?: undefined;
174
+ bytes3?: undefined;
175
+ bytes30?: undefined;
176
+ bytes31?: undefined;
177
+ bytes32?: undefined;
178
+ bytes4?: undefined;
179
+ bytes5?: undefined;
180
+ bytes6?: undefined;
181
+ bytes7?: undefined;
182
+ bytes8?: undefined;
183
+ bytes9?: undefined;
184
+ int104?: undefined;
185
+ int112?: undefined;
186
+ int120?: undefined;
187
+ int128?: undefined;
188
+ int136?: undefined;
189
+ int144?: undefined;
190
+ int152?: undefined;
191
+ int16?: undefined;
192
+ int160?: undefined;
193
+ int168?: undefined;
194
+ int176?: undefined;
195
+ int184?: undefined;
196
+ int192?: undefined;
197
+ int200?: undefined;
198
+ int208?: undefined;
199
+ int216?: undefined;
200
+ int224?: undefined;
201
+ int232?: undefined;
202
+ int24?: undefined;
203
+ int240?: undefined;
204
+ int248?: undefined;
205
+ int256?: undefined;
206
+ int32?: undefined;
207
+ int40?: undefined;
208
+ int48?: undefined;
209
+ int56?: undefined;
210
+ int64?: undefined;
211
+ int72?: undefined;
212
+ int8?: undefined;
213
+ int80?: undefined;
214
+ int88?: undefined;
215
+ int96?: undefined;
216
+ string?: undefined;
217
+ uint104?: undefined;
218
+ uint112?: undefined;
219
+ uint120?: undefined;
220
+ uint128?: undefined;
221
+ uint136?: undefined;
222
+ uint144?: undefined;
223
+ uint152?: undefined;
224
+ uint16?: undefined;
225
+ uint160?: undefined;
226
+ uint168?: undefined;
227
+ uint176?: undefined;
228
+ uint184?: undefined;
229
+ uint192?: undefined;
230
+ uint200?: undefined;
231
+ uint208?: undefined;
232
+ uint216?: undefined;
233
+ uint224?: undefined;
234
+ uint232?: undefined;
235
+ uint24?: undefined;
236
+ uint240?: undefined;
237
+ uint248?: undefined;
238
+ uint256?: undefined;
239
+ uint32?: undefined;
240
+ uint40?: undefined;
241
+ uint48?: undefined;
242
+ uint56?: undefined;
243
+ uint64?: undefined;
244
+ uint72?: undefined;
245
+ uint8?: undefined;
246
+ uint80?: undefined;
247
+ uint88?: undefined;
248
+ uint96?: undefined;
249
+ }, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
250
+ publicKey: `0x${string}`;
251
+ source: "privateKey";
252
+ type: "local";
253
+ };
22
254
  logger: Logger;
23
255
  monitor: ChainMonitor;
24
256
  ctx: SubsystemsContext;
25
257
  attesterPrivateKeys: `0x${string}`[];
26
258
  attesterPublicKeys: string[];
27
- proposerPrivateKeys: `0x${string}`[];
28
259
  peerIdPrivateKeys: string[];
260
+ validators: Operator[];
29
261
  deployedAccounts: InitialAccountData[];
30
262
  prefilledPublicData: PublicDataTreeLeaf[];
31
- wallet?: AccountWalletWithSecretKey;
263
+ wallet?: TestWallet;
264
+ defaultAccountAddress?: AztecAddress;
32
265
  spamContract?: SpamContract;
33
266
  bootstrapNode?: BootstrapNode;
34
- private cleanupInterval;
35
- private gasUtils;
36
- constructor(testName: string, bootstrapNodeEnr: string, bootNodePort: number, numberOfNodes: number, initialValidatorConfig: AztecNodeConfig, metricsPort?: number | undefined);
37
- static create({ testName, numberOfNodes, basePort, metricsPort, initialConfig, }: {
267
+ constructor(testName: string, bootstrapNodeEnr: string, bootNodePort: number, numberOfValidators: number, initialValidatorConfig: SetupOptions, numberOfNodes?: number, metricsPort?: number | undefined, startProverNode?: boolean, mockZkPassportVerifier?: boolean);
268
+ static create({ testName, numberOfNodes, numberOfValidators, basePort, metricsPort, initialConfig, startProverNode, mockZkPassportVerifier }: {
38
269
  testName: string;
39
270
  numberOfNodes: number;
271
+ numberOfValidators: number;
40
272
  basePort?: number;
41
273
  metricsPort?: number;
42
- initialConfig?: Partial<AztecNodeConfig>;
274
+ initialConfig?: SetupOptions;
275
+ startProverNode?: boolean;
276
+ mockZkPassportVerifier?: boolean;
43
277
  }): Promise<P2PNetworkTest>;
44
278
  get fundedAccount(): InitialAccountData;
45
- /**
46
- * Start a loop to sync the mock system time with the L1 block time
47
- */
48
- startSyncMockSystemTimeInterval(): void;
49
- /**
50
- * When using fake timers, we need to keep the system and anvil clocks in sync.
51
- */
52
- syncMockSystemTime(): Promise<void>;
279
+ addBootstrapNode(): Promise<void>;
280
+ getValidators(): {
281
+ validators: Operator[];
282
+ };
53
283
  applyBaseSnapshots(): Promise<void>;
54
284
  setupAccount(): Promise<void>;
55
285
  deploySpamContract(): Promise<void>;
56
286
  removeInitialNode(): Promise<void>;
287
+ sendDummyTx(): Promise<{
288
+ receipt: import("viem").TransactionReceipt;
289
+ state: import("@aztec/ethereum").L1TxState;
290
+ }>;
291
+ private _sendDummyTx;
57
292
  setup(): Promise<void>;
58
293
  stopNodes(nodes: AztecNodeService[]): Promise<void>;
294
+ /**
295
+ * Wait for P2P mesh to be fully formed across all nodes.
296
+ * This ensures that all nodes are connected to each other before proceeding,
297
+ * preventing race conditions where validators propose blocks before the network is ready.
298
+ *
299
+ * @param nodes - Array of nodes to check for P2P connectivity
300
+ * @param expectedNodeCount - Expected number of nodes in the network (defaults to nodes.length)
301
+ * @param timeoutSeconds - Maximum time to wait for connections (default: 30 seconds)
302
+ * @param checkIntervalSeconds - How often to check connectivity (default: 0.1 seconds)
303
+ */
304
+ waitForP2PMeshConnectivity(nodes: AztecNodeService[], expectedNodeCount?: number, timeoutSeconds?: number, checkIntervalSeconds?: number): Promise<void>;
59
305
  teardown(): Promise<void>;
306
+ getContracts(): Promise<{
307
+ rollup: RollupContract;
308
+ slasherContract: GetContractReturnType<typeof SlasherAbi, ViemClient>;
309
+ slashingProposer: EmpireSlashingProposerContract | TallySlashingProposerContract | undefined;
310
+ slashFactory: SlashFactoryContract;
311
+ }>;
60
312
  }
61
- //# sourceMappingURL=p2p_network.d.ts.map
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwX25ldHdvcmsuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfcDJwL3AycF9uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQW1CLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBRXJFLE9BQU8sRUFDTCxLQUFLLDhCQUE4QixFQUluQyxLQUFLLFFBQVEsRUFDYixjQUFjLEVBQ2QsS0FBSyw2QkFBNkIsRUFDbEMsS0FBSyxVQUFVLEVBSWhCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQWEsVUFBVSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTVELE9BQU8sRUFBRSxLQUFLLHFCQUFxQixFQUEyQixNQUFNLE1BQU0sQ0FBQztBQVEzRSxPQUFPLEVBRUwsS0FBSyxpQkFBaUIsRUFHdkIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQWtELE1BQU0sc0JBQXNCLENBQUM7QUFN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
@@ -1 +1 @@
1
- {"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIxD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAa9D,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,iCAAiC,CAAC;AAOzC,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAE3E,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AAEF,qBAAa,cAAc;IA2BhB,gBAAgB,EAAE,MAAM;IACxB,YAAY,EAAE,MAAM;IAC3B,OAAO,CAAC,aAAa;IAGrB,OAAO,CAAC,WAAW,CAAC;IA/BtB,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,WAAW,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAG,YAAY,CAAC;IAEvB,GAAG,EAAG,iBAAiB,CAAC;IACxB,mBAAmB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAM;IAC1C,kBAAkB,EAAE,MAAM,EAAE,CAAM;IAClC,mBAAmB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAM;IAC1C,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAEjC,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAC5C,mBAAmB,EAAE,kBAAkB,EAAE,CAAM;IAE/C,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAErC,OAAO,CAAC,eAAe,CAAyC;IAEhE,OAAO,CAAC,QAAQ,CAA6C;gBAG3D,QAAQ,EAAE,MAAM,EACT,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAC7B,sBAAsB,EAAE,eAAe,EAE/B,WAAW,CAAC,oBAAQ;WAmCjB,MAAM,CAAC,EAClB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,WAAW,EACX,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KAC1C;IAcD,IAAI,aAAa,uBAKhB;IAED;;OAEG;IACI,+BAA+B;IAMtC;;OAEG;IACU,kBAAkB;IAczB,kBAAkB;IA8FlB,YAAY;IAYZ,kBAAkB;IAoBlB,iBAAiB;IAsBjB,KAAK;IAyBL,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE;IAanC,QAAQ;CAQf"}
1
+ {"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"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"}