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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +4 -3
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/benchmark.js +2 -2
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts +25 -14
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  6. package/dest/bench/client_flows/client_flows_benchmark.js +111 -90
  7. package/dest/bench/client_flows/config.d.ts +1 -1
  8. package/dest/bench/client_flows/data_extractor.d.ts +1 -1
  9. package/dest/bench/client_flows/data_extractor.js +8 -30
  10. package/dest/bench/utils.d.ts +4 -13
  11. package/dest/bench/utils.d.ts.map +1 -1
  12. package/dest/bench/utils.js +10 -34
  13. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +8 -8
  14. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  15. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +42 -42
  16. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +12 -9
  17. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  18. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +35 -35
  19. package/dest/e2e_deploy_contract/deploy_test.d.ts +12 -6
  20. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  21. package/dest/e2e_deploy_contract/deploy_test.js +9 -18
  22. package/dest/e2e_epochs/epochs_test.d.ts +19 -12
  23. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  24. package/dest/e2e_epochs/epochs_test.js +30 -22
  25. package/dest/e2e_fees/bridging_race.notest.d.ts +1 -1
  26. package/dest/e2e_fees/bridging_race.notest.js +14 -11
  27. package/dest/e2e_fees/fees_test.d.ts +10 -8
  28. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  29. package/dest/e2e_fees/fees_test.js +35 -38
  30. package/dest/e2e_l1_publisher/write_json.d.ts +4 -2
  31. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  32. package/dest/e2e_l1_publisher/write_json.js +9 -8
  33. package/dest/e2e_multi_validator/utils.d.ts +2 -2
  34. package/dest/e2e_multi_validator/utils.d.ts.map +1 -1
  35. package/dest/e2e_multi_validator/utils.js +4 -10
  36. package/dest/e2e_nested_contract/nested_contract_test.d.ts +7 -4
  37. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  38. package/dest/e2e_nested_contract/nested_contract_test.js +11 -12
  39. package/dest/e2e_p2p/inactivity_slash_test.d.ts +31 -0
  40. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -0
  41. package/dest/e2e_p2p/inactivity_slash_test.js +139 -0
  42. package/dest/e2e_p2p/p2p_network.d.ts +238 -17
  43. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  44. package/dest/e2e_p2p/p2p_network.js +46 -19
  45. package/dest/e2e_p2p/shared.d.ts +16 -17
  46. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  47. package/dest/e2e_p2p/shared.js +56 -55
  48. package/dest/e2e_token_contract/token_contract_test.d.ts +6 -5
  49. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  50. package/dest/e2e_token_contract/token_contract_test.js +14 -17
  51. package/dest/fixtures/e2e_prover_test.d.ts +12 -8
  52. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  53. package/dest/fixtures/e2e_prover_test.js +53 -58
  54. package/dest/fixtures/fixtures.d.ts +1 -1
  55. package/dest/fixtures/fixtures.d.ts.map +1 -1
  56. package/dest/fixtures/fixtures.js +1 -1
  57. package/dest/fixtures/get_acvm_config.d.ts +2 -2
  58. package/dest/fixtures/get_acvm_config.d.ts.map +1 -1
  59. package/dest/fixtures/get_acvm_config.js +1 -1
  60. package/dest/fixtures/get_bb_config.d.ts +2 -2
  61. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  62. package/dest/fixtures/get_bb_config.js +2 -2
  63. package/dest/fixtures/index.d.ts +1 -1
  64. package/dest/fixtures/l1_to_l2_messaging.d.ts +4 -3
  65. package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
  66. package/dest/fixtures/l1_to_l2_messaging.js +2 -2
  67. package/dest/fixtures/logging.d.ts +1 -1
  68. package/dest/fixtures/setup_l1_contracts.d.ts +476 -5
  69. package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
  70. package/dest/fixtures/setup_l1_contracts.js +3 -3
  71. package/dest/fixtures/setup_p2p_test.d.ts +12 -11
  72. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  73. package/dest/fixtures/setup_p2p_test.js +50 -24
  74. package/dest/fixtures/snapshot_manager.d.ts +13 -10
  75. package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
  76. package/dest/fixtures/snapshot_manager.js +66 -51
  77. package/dest/fixtures/token_utils.d.ts +10 -5
  78. package/dest/fixtures/token_utils.d.ts.map +1 -1
  79. package/dest/fixtures/token_utils.js +17 -18
  80. package/dest/fixtures/utils.d.ts +479 -35
  81. package/dest/fixtures/utils.d.ts.map +1 -1
  82. package/dest/fixtures/utils.js +106 -125
  83. package/dest/fixtures/web3signer.d.ts +5 -0
  84. package/dest/fixtures/web3signer.d.ts.map +1 -0
  85. package/dest/fixtures/web3signer.js +53 -0
  86. package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
  87. package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
  88. package/dest/fixtures/with_telemetry_utils.js +2 -2
  89. package/dest/index.d.ts +1 -1
  90. package/dest/quality_of_service/alert_checker.d.ts +2 -2
  91. package/dest/quality_of_service/alert_checker.d.ts.map +1 -1
  92. package/dest/shared/cross_chain_test_harness.d.ts +20 -23
  93. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  94. package/dest/shared/cross_chain_test_harness.js +14 -16
  95. package/dest/shared/gas_portal_test_harness.d.ts +10 -17
  96. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  97. package/dest/shared/gas_portal_test_harness.js +11 -8
  98. package/dest/shared/index.d.ts +1 -1
  99. package/dest/shared/jest_setup.d.ts +1 -1
  100. package/dest/shared/jest_setup.js +1 -1
  101. package/dest/shared/submit-transactions.d.ts +6 -4
  102. package/dest/shared/submit-transactions.d.ts.map +1 -1
  103. package/dest/shared/submit-transactions.js +8 -7
  104. package/dest/shared/uniswap_l1_l2.d.ts +12 -8
  105. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  106. package/dest/shared/uniswap_l1_l2.js +44 -58
  107. package/dest/simulators/index.d.ts +1 -1
  108. package/dest/simulators/lending_simulator.d.ts +4 -7
  109. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  110. package/dest/simulators/lending_simulator.js +8 -5
  111. package/dest/simulators/token_simulator.d.ts +4 -2
  112. package/dest/simulators/token_simulator.d.ts.map +1 -1
  113. package/dest/simulators/token_simulator.js +2 -2
  114. package/dest/spartan/setup_test_wallets.d.ts +22 -14
  115. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  116. package/dest/spartan/setup_test_wallets.js +144 -86
  117. package/dest/spartan/tx_metrics.d.ts +39 -0
  118. package/dest/spartan/tx_metrics.d.ts.map +1 -0
  119. package/dest/spartan/tx_metrics.js +95 -0
  120. package/dest/spartan/utils.d.ts +92 -17
  121. package/dest/spartan/utils.d.ts.map +1 -1
  122. package/dest/spartan/utils.js +386 -63
  123. package/package.json +43 -40
  124. package/src/bench/client_flows/benchmark.ts +8 -8
  125. package/src/bench/client_flows/client_flows_benchmark.ts +141 -114
  126. package/src/bench/client_flows/data_extractor.ts +9 -31
  127. package/src/bench/utils.ts +9 -37
  128. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +46 -63
  129. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +38 -51
  130. package/src/e2e_deploy_contract/deploy_test.ts +18 -36
  131. package/src/e2e_epochs/epochs_test.ts +41 -35
  132. package/src/e2e_fees/bridging_race.notest.ts +16 -11
  133. package/src/e2e_fees/fees_test.ts +42 -47
  134. package/src/e2e_l1_publisher/write_json.ts +12 -9
  135. package/src/e2e_multi_validator/utils.ts +5 -11
  136. package/src/e2e_nested_contract/nested_contract_test.ts +15 -13
  137. package/src/e2e_p2p/inactivity_slash_test.ts +184 -0
  138. package/src/e2e_p2p/p2p_network.ts +124 -82
  139. package/src/e2e_p2p/shared.ts +66 -58
  140. package/src/e2e_token_contract/token_contract_test.ts +17 -17
  141. package/src/fixtures/e2e_prover_test.ts +60 -97
  142. package/src/fixtures/fixtures.ts +1 -2
  143. package/src/fixtures/get_acvm_config.ts +2 -2
  144. package/src/fixtures/get_bb_config.ts +3 -2
  145. package/src/fixtures/l1_to_l2_messaging.ts +4 -2
  146. package/src/fixtures/setup_l1_contracts.ts +5 -4
  147. package/src/fixtures/setup_p2p_test.ts +79 -32
  148. package/src/fixtures/snapshot_manager.ts +87 -82
  149. package/src/fixtures/token_utils.ts +16 -24
  150. package/src/fixtures/utils.ts +142 -172
  151. package/src/fixtures/web3signer.ts +63 -0
  152. package/src/fixtures/with_telemetry_utils.ts +2 -2
  153. package/src/guides/up_quick_start.sh +3 -11
  154. package/src/quality_of_service/alert_checker.ts +1 -1
  155. package/src/shared/cross_chain_test_harness.ts +23 -31
  156. package/src/shared/gas_portal_test_harness.ts +14 -21
  157. package/src/shared/jest_setup.ts +1 -1
  158. package/src/shared/submit-transactions.ts +12 -8
  159. package/src/shared/uniswap_l1_l2.ts +77 -86
  160. package/src/simulators/lending_simulator.ts +9 -6
  161. package/src/simulators/token_simulator.ts +5 -2
  162. package/src/spartan/DEVELOP.md +15 -3
  163. package/src/spartan/setup_test_wallets.ts +171 -127
  164. package/src/spartan/tx_metrics.ts +130 -0
  165. package/src/spartan/utils.ts +463 -64
@@ -1,16 +1,20 @@
1
1
  import type { InitialAccountData } from '@aztec/accounts/testing';
2
- import type { AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
3
- import { type AccountWalletWithSecretKey, AztecAddress } from '@aztec/aztec.js';
4
- import { type EmpireSlashingProposerContract, type Operator, RollupContract, type TallySlashingProposerContract, type ViemClient } from '@aztec/ethereum';
2
+ import type { AztecNodeService } from '@aztec/aztec-node';
3
+ import { AztecAddress } from '@aztec/aztec.js/addresses';
4
+ import { type EmpireSlashingProposerContract, RollupContract, type TallySlashingProposerContract } from '@aztec/ethereum/contracts';
5
+ import type { Operator } from '@aztec/ethereum/deploy-l1-contracts';
5
6
  import { ChainMonitor } from '@aztec/ethereum/test';
7
+ import type { ViemClient } from '@aztec/ethereum/types';
6
8
  import { type Logger } from '@aztec/foundation/log';
7
9
  import { SlasherAbi } from '@aztec/l1-artifacts';
8
10
  import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
9
11
  import type { BootstrapNode } from '@aztec/p2p/bootstrap';
10
12
  import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
11
13
  import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
14
+ import type { TestWallet } from '@aztec/test-wallet/server';
12
15
  import { type GetContractReturnType } from 'viem';
13
16
  import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
17
+ import { type SetupOptions } from '../fixtures/utils.js';
14
18
  export declare const WAIT_FOR_TX_TIMEOUT: number;
15
19
  export declare const SHORTENED_BLOCK_TIME_CONFIG_NO_PRUNES: {
16
20
  aztecSlotDuration: number;
@@ -18,6 +22,7 @@ export declare const SHORTENED_BLOCK_TIME_CONFIG_NO_PRUNES: {
18
22
  aztecProofSubmissionWindow: number;
19
23
  };
20
24
  export declare class P2PNetworkTest {
25
+ readonly testName: string;
21
26
  bootstrapNodeEnr: string;
22
27
  bootNodePort: number;
23
28
  numberOfValidators: number;
@@ -26,20 +31,225 @@ export declare class P2PNetworkTest {
26
31
  private snapshotManager;
27
32
  baseAccountPrivateKey: `0x${string}`;
28
33
  baseAccount: {
29
- address: import("viem").Address;
34
+ address: `0x${string}`;
30
35
  nonceManager?: import("viem").NonceManager | undefined;
31
36
  sign: (parameters: {
32
- hash: import("viem").Hash;
33
- }) => Promise<import("viem").Hex>;
34
- experimental_signAuthorization: (parameters: import("viem/experimental").Authorization) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
37
+ hash: `0x${string}`;
38
+ }) => Promise<`0x${string}`>;
39
+ signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
35
40
  signMessage: ({ message }: {
36
41
  message: import("viem").SignableMessage;
37
- }) => Promise<import("viem").Hex>;
42
+ }) => Promise<`0x${string}`>;
38
43
  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?: {
39
44
  serializer?: serializer | undefined;
40
- } | undefined) => Promise<import("viem").IsNarrowable<import("viem").TransactionSerialized<import("viem").GetTransactionType<transaction>>, import("viem").Hex> extends true ? import("viem").TransactionSerialized<import("viem").GetTransactionType<transaction>> : import("viem").Hex>;
41
- signTypedData: <const typedData extends import("viem").TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<import("viem").Hex>;
42
- publicKey: import("viem").Hex;
45
+ } | undefined) => Promise<`0x${string}`>;
46
+ signTypedData: <const typedData extends Record<string, unknown> | {
47
+ [x: string]: readonly import("viem").TypedDataParameter[];
48
+ [x: `address[${string}]`]: undefined;
49
+ [x: `bool[${string}]`]: undefined;
50
+ [x: `bytes10[${string}]`]: undefined;
51
+ [x: `bytes11[${string}]`]: undefined;
52
+ [x: `bytes12[${string}]`]: undefined;
53
+ [x: `bytes13[${string}]`]: undefined;
54
+ [x: `bytes14[${string}]`]: undefined;
55
+ [x: `bytes15[${string}]`]: undefined;
56
+ [x: `bytes16[${string}]`]: undefined;
57
+ [x: `bytes17[${string}]`]: undefined;
58
+ [x: `bytes18[${string}]`]: undefined;
59
+ [x: `bytes19[${string}]`]: undefined;
60
+ [x: `bytes1[${string}]`]: undefined;
61
+ [x: `bytes20[${string}]`]: undefined;
62
+ [x: `bytes21[${string}]`]: undefined;
63
+ [x: `bytes22[${string}]`]: undefined;
64
+ [x: `bytes23[${string}]`]: undefined;
65
+ [x: `bytes24[${string}]`]: undefined;
66
+ [x: `bytes25[${string}]`]: undefined;
67
+ [x: `bytes26[${string}]`]: undefined;
68
+ [x: `bytes27[${string}]`]: undefined;
69
+ [x: `bytes28[${string}]`]: undefined;
70
+ [x: `bytes29[${string}]`]: undefined;
71
+ [x: `bytes2[${string}]`]: undefined;
72
+ [x: `bytes30[${string}]`]: undefined;
73
+ [x: `bytes31[${string}]`]: undefined;
74
+ [x: `bytes32[${string}]`]: undefined;
75
+ [x: `bytes3[${string}]`]: undefined;
76
+ [x: `bytes4[${string}]`]: undefined;
77
+ [x: `bytes5[${string}]`]: undefined;
78
+ [x: `bytes6[${string}]`]: undefined;
79
+ [x: `bytes7[${string}]`]: undefined;
80
+ [x: `bytes8[${string}]`]: undefined;
81
+ [x: `bytes9[${string}]`]: undefined;
82
+ [x: `bytes[${string}]`]: undefined;
83
+ [x: `function[${string}]`]: undefined;
84
+ [x: `int104[${string}]`]: undefined;
85
+ [x: `int112[${string}]`]: undefined;
86
+ [x: `int120[${string}]`]: undefined;
87
+ [x: `int128[${string}]`]: undefined;
88
+ [x: `int136[${string}]`]: undefined;
89
+ [x: `int144[${string}]`]: undefined;
90
+ [x: `int152[${string}]`]: undefined;
91
+ [x: `int160[${string}]`]: undefined;
92
+ [x: `int168[${string}]`]: undefined;
93
+ [x: `int16[${string}]`]: undefined;
94
+ [x: `int176[${string}]`]: undefined;
95
+ [x: `int184[${string}]`]: undefined;
96
+ [x: `int192[${string}]`]: undefined;
97
+ [x: `int200[${string}]`]: undefined;
98
+ [x: `int208[${string}]`]: undefined;
99
+ [x: `int216[${string}]`]: undefined;
100
+ [x: `int224[${string}]`]: undefined;
101
+ [x: `int232[${string}]`]: undefined;
102
+ [x: `int240[${string}]`]: undefined;
103
+ [x: `int248[${string}]`]: undefined;
104
+ [x: `int24[${string}]`]: undefined;
105
+ [x: `int256[${string}]`]: undefined;
106
+ [x: `int32[${string}]`]: undefined;
107
+ [x: `int40[${string}]`]: undefined;
108
+ [x: `int48[${string}]`]: undefined;
109
+ [x: `int56[${string}]`]: undefined;
110
+ [x: `int64[${string}]`]: undefined;
111
+ [x: `int72[${string}]`]: undefined;
112
+ [x: `int80[${string}]`]: undefined;
113
+ [x: `int88[${string}]`]: undefined;
114
+ [x: `int8[${string}]`]: undefined;
115
+ [x: `int96[${string}]`]: undefined;
116
+ [x: `int[${string}]`]: undefined;
117
+ [x: `string[${string}]`]: undefined;
118
+ [x: `uint104[${string}]`]: undefined;
119
+ [x: `uint112[${string}]`]: undefined;
120
+ [x: `uint120[${string}]`]: undefined;
121
+ [x: `uint128[${string}]`]: undefined;
122
+ [x: `uint136[${string}]`]: undefined;
123
+ [x: `uint144[${string}]`]: undefined;
124
+ [x: `uint152[${string}]`]: undefined;
125
+ [x: `uint160[${string}]`]: undefined;
126
+ [x: `uint168[${string}]`]: undefined;
127
+ [x: `uint16[${string}]`]: undefined;
128
+ [x: `uint176[${string}]`]: undefined;
129
+ [x: `uint184[${string}]`]: undefined;
130
+ [x: `uint192[${string}]`]: undefined;
131
+ [x: `uint200[${string}]`]: undefined;
132
+ [x: `uint208[${string}]`]: undefined;
133
+ [x: `uint216[${string}]`]: undefined;
134
+ [x: `uint224[${string}]`]: undefined;
135
+ [x: `uint232[${string}]`]: undefined;
136
+ [x: `uint240[${string}]`]: undefined;
137
+ [x: `uint248[${string}]`]: undefined;
138
+ [x: `uint24[${string}]`]: undefined;
139
+ [x: `uint256[${string}]`]: undefined;
140
+ [x: `uint32[${string}]`]: undefined;
141
+ [x: `uint40[${string}]`]: undefined;
142
+ [x: `uint48[${string}]`]: undefined;
143
+ [x: `uint56[${string}]`]: undefined;
144
+ [x: `uint64[${string}]`]: undefined;
145
+ [x: `uint72[${string}]`]: undefined;
146
+ [x: `uint80[${string}]`]: undefined;
147
+ [x: `uint88[${string}]`]: undefined;
148
+ [x: `uint8[${string}]`]: undefined;
149
+ [x: `uint96[${string}]`]: undefined;
150
+ [x: `uint[${string}]`]: undefined;
151
+ address?: undefined;
152
+ bool?: undefined;
153
+ bytes?: undefined;
154
+ bytes1?: undefined;
155
+ bytes10?: undefined;
156
+ bytes11?: undefined;
157
+ bytes12?: undefined;
158
+ bytes13?: undefined;
159
+ bytes14?: undefined;
160
+ bytes15?: undefined;
161
+ bytes16?: undefined;
162
+ bytes17?: undefined;
163
+ bytes18?: undefined;
164
+ bytes19?: undefined;
165
+ bytes2?: undefined;
166
+ bytes20?: undefined;
167
+ bytes21?: undefined;
168
+ bytes22?: undefined;
169
+ bytes23?: undefined;
170
+ bytes24?: undefined;
171
+ bytes25?: undefined;
172
+ bytes26?: undefined;
173
+ bytes27?: undefined;
174
+ bytes28?: undefined;
175
+ bytes29?: undefined;
176
+ bytes3?: undefined;
177
+ bytes30?: undefined;
178
+ bytes31?: undefined;
179
+ bytes32?: undefined;
180
+ bytes4?: undefined;
181
+ bytes5?: undefined;
182
+ bytes6?: undefined;
183
+ bytes7?: undefined;
184
+ bytes8?: undefined;
185
+ bytes9?: undefined;
186
+ int104?: undefined;
187
+ int112?: undefined;
188
+ int120?: undefined;
189
+ int128?: undefined;
190
+ int136?: undefined;
191
+ int144?: undefined;
192
+ int152?: undefined;
193
+ int16?: undefined;
194
+ int160?: undefined;
195
+ int168?: undefined;
196
+ int176?: undefined;
197
+ int184?: undefined;
198
+ int192?: undefined;
199
+ int200?: undefined;
200
+ int208?: undefined;
201
+ int216?: undefined;
202
+ int224?: undefined;
203
+ int232?: undefined;
204
+ int24?: undefined;
205
+ int240?: undefined;
206
+ int248?: undefined;
207
+ int256?: undefined;
208
+ int32?: undefined;
209
+ int40?: undefined;
210
+ int48?: undefined;
211
+ int56?: undefined;
212
+ int64?: undefined;
213
+ int72?: undefined;
214
+ int8?: undefined;
215
+ int80?: undefined;
216
+ int88?: undefined;
217
+ int96?: undefined;
218
+ string?: undefined;
219
+ uint104?: undefined;
220
+ uint112?: undefined;
221
+ uint120?: undefined;
222
+ uint128?: undefined;
223
+ uint136?: undefined;
224
+ uint144?: undefined;
225
+ uint152?: undefined;
226
+ uint16?: undefined;
227
+ uint160?: undefined;
228
+ uint168?: undefined;
229
+ uint176?: undefined;
230
+ uint184?: undefined;
231
+ uint192?: undefined;
232
+ uint200?: undefined;
233
+ uint208?: undefined;
234
+ uint216?: undefined;
235
+ uint224?: undefined;
236
+ uint232?: undefined;
237
+ uint24?: undefined;
238
+ uint240?: undefined;
239
+ uint248?: undefined;
240
+ uint256?: undefined;
241
+ uint32?: undefined;
242
+ uint40?: undefined;
243
+ uint48?: undefined;
244
+ uint56?: undefined;
245
+ uint64?: undefined;
246
+ uint72?: undefined;
247
+ uint8?: undefined;
248
+ uint80?: undefined;
249
+ uint88?: undefined;
250
+ uint96?: undefined;
251
+ }, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
252
+ publicKey: `0x${string}`;
43
253
  source: "privateKey";
44
254
  type: "local";
45
255
  };
@@ -52,18 +262,18 @@ export declare class P2PNetworkTest {
52
262
  validators: Operator[];
53
263
  deployedAccounts: InitialAccountData[];
54
264
  prefilledPublicData: PublicDataTreeLeaf[];
55
- wallet?: AccountWalletWithSecretKey;
265
+ wallet?: TestWallet;
56
266
  defaultAccountAddress?: AztecAddress;
57
267
  spamContract?: SpamContract;
58
268
  bootstrapNode?: BootstrapNode;
59
- constructor(testName: string, bootstrapNodeEnr: string, bootNodePort: number, numberOfValidators: number, initialValidatorConfig: AztecNodeConfig, numberOfNodes?: number, metricsPort?: number | undefined, startProverNode?: boolean, mockZkPassportVerifier?: boolean);
60
- static create({ testName, numberOfNodes, numberOfValidators, basePort, metricsPort, initialConfig, startProverNode, mockZkPassportVerifier, }: {
269
+ constructor(testName: string, bootstrapNodeEnr: string, bootNodePort: number, numberOfValidators: number, initialValidatorConfig: SetupOptions, numberOfNodes?: number, metricsPort?: number | undefined, startProverNode?: boolean, mockZkPassportVerifier?: boolean);
270
+ static create({ testName, numberOfNodes, numberOfValidators, basePort, metricsPort, initialConfig, startProverNode, mockZkPassportVerifier }: {
61
271
  testName: string;
62
272
  numberOfNodes: number;
63
273
  numberOfValidators: number;
64
274
  basePort?: number;
65
275
  metricsPort?: number;
66
- initialConfig?: Partial<AztecNodeConfig>;
276
+ initialConfig?: SetupOptions;
67
277
  startProverNode?: boolean;
68
278
  mockZkPassportVerifier?: boolean;
69
279
  }): Promise<P2PNetworkTest>;
@@ -78,11 +288,22 @@ export declare class P2PNetworkTest {
78
288
  removeInitialNode(): Promise<void>;
79
289
  sendDummyTx(): Promise<{
80
290
  receipt: import("viem").TransactionReceipt;
81
- gasPrice: import("@aztec/ethereum").GasPrice;
291
+ state: import("@aztec/ethereum/l1-tx-utils").L1TxState;
82
292
  }>;
83
293
  private _sendDummyTx;
84
294
  setup(): Promise<void>;
85
295
  stopNodes(nodes: AztecNodeService[]): Promise<void>;
296
+ /**
297
+ * Wait for P2P mesh to be fully formed across all nodes.
298
+ * This ensures that all nodes are connected to each other before proceeding,
299
+ * preventing race conditions where validators propose blocks before the network is ready.
300
+ *
301
+ * @param nodes - Array of nodes to check for P2P connectivity
302
+ * @param expectedNodeCount - Expected number of nodes in the network (defaults to nodes.length)
303
+ * @param timeoutSeconds - Maximum time to wait for connections (default: 30 seconds)
304
+ * @param checkIntervalSeconds - How often to check connectivity (default: 0.1 seconds)
305
+ */
306
+ waitForP2PMeshConnectivity(nodes: AztecNodeService[], expectedNodeCount?: number, timeoutSeconds?: number, checkIntervalSeconds?: number): Promise<void>;
86
307
  teardown(): Promise<void>;
87
308
  getContracts(): Promise<{
88
309
  rollup: RollupContract;
@@ -91,4 +312,4 @@ export declare class P2PNetworkTest {
91
312
  slashFactory: SlashFactoryContract;
92
313
  }>;
93
314
  }
94
- //# sourceMappingURL=p2p_network.d.ts.map
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwX25ldHdvcmsuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfcDJwL3AycF9uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQW1CLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBR3JFLE9BQU8sRUFDTCxLQUFLLDhCQUE4QixFQUVuQyxjQUFjLEVBQ2QsS0FBSyw2QkFBNkIsRUFDbkMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUlwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQTRCLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xGLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQWEsVUFBVSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTVELE9BQU8sRUFBRSxLQUFLLHFCQUFxQixFQUEyQixNQUFNLE1BQU0sQ0FBQztBQVEzRSxPQUFPLEVBRUwsS0FBSyxpQkFBaUIsRUFHdkIsTUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
- import { getSchnorrWalletWithSecretKey } from '@aztec/accounts/schnorr';
2
- import { EthAddress, Fr } from '@aztec/aztec.js';
3
- import { GSEContract, MultiAdderArtifact, RollupContract, createL1TxUtilsFromViemWallet, deployL1Contract, getL1ContractsConfigEnvVars } from '@aztec/ethereum';
1
+ import { EthAddress } from '@aztec/aztec.js/addresses';
2
+ import { Fr } from '@aztec/aztec.js/fields';
3
+ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
4
+ import { GSEContract, RollupContract } from '@aztec/ethereum/contracts';
5
+ import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contracts';
6
+ import { MultiAdderArtifact } from '@aztec/ethereum/l1-artifacts';
7
+ import { createL1TxUtilsFromViemWallet } from '@aztec/ethereum/l1-tx-utils';
4
8
  import { ChainMonitor } from '@aztec/ethereum/test';
9
+ import { EpochNumber } from '@aztec/foundation/branded-types';
5
10
  import { SecretValue } from '@aztec/foundation/config';
6
11
  import { createLogger } from '@aztec/foundation/log';
12
+ import { retryUntil } from '@aztec/foundation/retry';
7
13
  import { RollupAbi, SlasherAbi, TestERC20Abi } from '@aztec/l1-artifacts';
8
14
  import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
9
15
  import { createBootstrapNodeFromPrivateKey, getBootstrapNodeEnr } from '@aztec/p2p/test-helpers';
@@ -28,6 +34,7 @@ export const SHORTENED_BLOCK_TIME_CONFIG_NO_PRUNES = {
28
34
  aztecProofSubmissionWindow: 640
29
35
  };
30
36
  export class P2PNetworkTest {
37
+ testName;
31
38
  bootstrapNodeEnr;
32
39
  bootNodePort;
33
40
  numberOfValidators;
@@ -52,6 +59,7 @@ export class P2PNetworkTest {
52
59
  bootstrapNode;
53
60
  constructor(testName, bootstrapNodeEnr, bootNodePort, numberOfValidators, initialValidatorConfig, numberOfNodes = 0, // If set enable metrics collection
54
61
  metricsPort, startProverNode, mockZkPassportVerifier){
62
+ this.testName = testName;
55
63
  this.bootstrapNodeEnr = bootstrapNodeEnr;
56
64
  this.bootNodePort = bootNodePort;
57
65
  this.numberOfValidators = numberOfValidators;
@@ -115,7 +123,7 @@ export class P2PNetworkTest {
115
123
  }
116
124
  async addBootstrapNode() {
117
125
  await this.snapshotManager.snapshot('add-bootstrap-node', async ({ aztecNodeConfig })=>{
118
- const telemetry = getEndToEndTestTelemetryClient(this.metricsPort);
126
+ const telemetry = await getEndToEndTestTelemetryClient(this.metricsPort);
119
127
  this.bootstrapNode = await createBootstrapNodeFromPrivateKey(BOOTSTRAP_NODE_PRIVATE_KEY, this.bootNodePort, telemetry, aztecNodeConfig);
120
128
  // Overwrite enr with updated info
121
129
  this.bootstrapNodeEnr = this.bootstrapNode.getENR().encodeTxt();
@@ -139,7 +147,7 @@ export class P2PNetworkTest {
139
147
  }
140
148
  async applyBaseSnapshots() {
141
149
  await this.addBootstrapNode();
142
- await this.snapshotManager.snapshot('add-validators', async ({ deployL1ContractsValues, dateProvider, cheatCodes })=>{
150
+ await this.snapshotManager.snapshot('add-validators', async ({ deployL1ContractsValues, cheatCodes })=>{
143
151
  const rollup = getContract({
144
152
  address: deployL1ContractsValues.l1ContractAddresses.rollupAddress.toString(),
145
153
  abi: RollupAbi,
@@ -160,7 +168,7 @@ export class P2PNetworkTest {
160
168
  abi: MultiAdderArtifact.contractAbi,
161
169
  client: deployL1ContractsValues.l1Client
162
170
  });
163
- const stakeNeeded = l1ContractsConfig.activationThreshold * BigInt(this.numberOfValidators);
171
+ const stakeNeeded = await rollup.read.getActivationThreshold() * BigInt(this.numberOfValidators);
164
172
  await Promise.all([
165
173
  await stakingAsset.write.mint([
166
174
  multiAdder.address,
@@ -190,22 +198,17 @@ export class P2PNetworkTest {
190
198
  validatorTuples
191
199
  ])
192
200
  });
193
- const timestamp = await cheatCodes.rollup.advanceToEpoch(2n, {
194
- updateDateProvider: dateProvider
195
- });
201
+ await cheatCodes.rollup.advanceToEpoch(EpochNumber.fromBigInt(BigInt(await cheatCodes.rollup.getEpoch()) + await rollup.read.getLagInEpochsForValidatorSet() + 1n));
196
202
  // Send and await a tx to make sure we mine a block for the warp to correctly progress.
197
203
  await this._sendDummyTx(deployL1ContractsValues.l1Client);
198
- // Set the system time in the node, only after we have warped the time and waited for a block
199
- // Time is only set in the NEXT block
200
- dateProvider.setTime(Number(timestamp) * 1000);
201
204
  });
202
205
  }
203
206
  async setupAccount() {
204
- await this.snapshotManager.snapshot('setup-account', deployAccounts(1, this.logger, false), async ({ deployedAccounts }, { pxe })=>{
207
+ await this.snapshotManager.snapshot('setup-account', deployAccounts(1, this.logger), ({ deployedAccounts }, { wallet })=>{
205
208
  this.deployedAccounts = deployedAccounts;
206
- const [account] = deployedAccounts;
207
- this.wallet = await getSchnorrWalletWithSecretKey(pxe, account.secret, account.signingKey, account.salt);
208
- this.defaultAccountAddress = this.wallet.getAddress();
209
+ [{ address: this.defaultAccountAddress }] = deployedAccounts;
210
+ this.wallet = wallet;
211
+ return Promise.resolve();
209
212
  });
210
213
  }
211
214
  async deploySpamContract() {
@@ -219,11 +222,12 @@ export class P2PNetworkTest {
219
222
  return {
220
223
  contractAddress: spamContract.address
221
224
  };
222
- }, async ({ contractAddress })=>{
225
+ }, ({ contractAddress })=>{
223
226
  if (!this.wallet) {
224
227
  throw new Error('Call snapshot t.setupAccount before deploying account contract');
225
228
  }
226
- this.spamContract = await SpamContract.at(contractAddress, this.wallet);
229
+ this.spamContract = SpamContract.at(contractAddress, this.wallet);
230
+ return Promise.resolve();
227
231
  });
228
232
  }
229
233
  async removeInitialNode() {
@@ -269,6 +273,29 @@ export class P2PNetworkTest {
269
273
  await Promise.all(nodes.map((node)=>node.stop()));
270
274
  this.logger.info('Nodes stopped');
271
275
  }
276
+ /**
277
+ * Wait for P2P mesh to be fully formed across all nodes.
278
+ * This ensures that all nodes are connected to each other before proceeding,
279
+ * preventing race conditions where validators propose blocks before the network is ready.
280
+ *
281
+ * @param nodes - Array of nodes to check for P2P connectivity
282
+ * @param expectedNodeCount - Expected number of nodes in the network (defaults to nodes.length)
283
+ * @param timeoutSeconds - Maximum time to wait for connections (default: 30 seconds)
284
+ * @param checkIntervalSeconds - How often to check connectivity (default: 0.1 seconds)
285
+ */ async waitForP2PMeshConnectivity(nodes, expectedNodeCount, timeoutSeconds = 30, checkIntervalSeconds = 0.1) {
286
+ const nodeCount = expectedNodeCount ?? nodes.length;
287
+ const minPeerCount = nodeCount - 1;
288
+ this.logger.warn(`Waiting for all ${nodeCount} nodes to connect to P2P mesh (at least ${minPeerCount} peers each)...`);
289
+ await Promise.all(nodes.map(async (node, index)=>{
290
+ const p2p = node.getP2P();
291
+ await retryUntil(async ()=>{
292
+ const peers = await p2p.getPeers();
293
+ // Each node should be connected to at least N-1 other nodes
294
+ return peers.length >= minPeerCount ? true : undefined;
295
+ }, `Node ${index} to connect to at least ${minPeerCount} peers`, timeoutSeconds, checkIntervalSeconds);
296
+ }));
297
+ this.logger.warn('All nodes connected to P2P mesh');
298
+ }
272
299
  async teardown() {
273
300
  await this.monitor.stop();
274
301
  await tryStop(this.bootstrapNode, this.logger);
@@ -280,7 +307,7 @@ export class P2PNetworkTest {
280
307
  }
281
308
  const rollup = new RollupContract(this.ctx.deployL1ContractsValues.l1Client, this.ctx.deployL1ContractsValues.l1ContractAddresses.rollupAddress);
282
309
  const slasherContract = getContract({
283
- address: getAddress(await rollup.getSlasher()),
310
+ address: getAddress(await rollup.getSlasherAddress()),
284
311
  abi: SlasherAbi,
285
312
  client: this.ctx.deployL1ContractsValues.l1Client
286
313
  });
@@ -1,39 +1,37 @@
1
1
  import type { InitialAccountData } from '@aztec/accounts/testing';
2
2
  import type { AztecNodeService } from '@aztec/aztec-node';
3
- import { AztecAddress, type Logger, ProvenTx, type SentTx } from '@aztec/aztec.js';
3
+ import { AztecAddress } from '@aztec/aztec.js/addresses';
4
+ import { type SentTx } from '@aztec/aztec.js/contracts';
5
+ import type { Logger } from '@aztec/aztec.js/log';
6
+ import { Tx } from '@aztec/aztec.js/tx';
4
7
  import type { RollupCheatCodes } from '@aztec/aztec/testing';
5
- import type { EmpireSlashingProposerContract, RollupContract, TallySlashingProposerContract } from '@aztec/ethereum';
6
- import type { TestDateProvider } from '@aztec/foundation/timer';
8
+ import type { EmpireSlashingProposerContract, RollupContract, TallySlashingProposerContract } from '@aztec/ethereum/contracts';
7
9
  import type { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
8
- import { PXEService } from '@aztec/pxe/server';
9
10
  import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
10
11
  import type { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
11
- import type { NodeContext } from '../fixtures/setup_p2p_test.js';
12
12
  export declare const submitComplexTxsTo: (logger: Logger, from: AztecAddress, spamContract: SpamContract, numTxs: number, opts?: {
13
- callPublic?: boolean;
13
+ callPublic?: boolean | undefined;
14
14
  }) => Promise<SentTx[]>;
15
- export declare const createPXEServiceAndSubmitTransactions: (logger: Logger, node: AztecNodeService, numTxs: number, fundedAccount: InitialAccountData) => Promise<NodeContext>;
16
- export declare function createPXEServiceAndPrepareTransactions(logger: Logger, node: AztecNodeService, numTxs: number, fundedAccount: InitialAccountData): Promise<{
17
- pxeService: PXEService;
18
- txs: ProvenTx[];
19
- node: AztecNodeService;
20
- }>;
15
+ export declare const submitTransactions: (logger: Logger, node: AztecNodeService, numTxs: number, fundedAccount: InitialAccountData) => Promise<SentTx[]>;
16
+ export declare function prepareTransactions(logger: Logger, node: AztecNodeService, numTxs: number, fundedAccount: InitialAccountData): Promise<Tx[]>;
21
17
  export declare function awaitProposalExecution(slashingProposer: EmpireSlashingProposerContract | TallySlashingProposerContract, timeoutSeconds: number, logger: Logger): Promise<bigint>;
22
- export declare function awaitCommitteeExists({ rollup, logger, }: {
18
+ export declare function awaitCommitteeExists({ rollup, logger }: {
23
19
  rollup: RollupContract;
24
20
  logger: Logger;
25
21
  }): Promise<readonly `0x${string}`[]>;
26
- export declare function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSize, epochDuration, }: {
22
+ export declare function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSize, epochDuration, waitUntilOffenseCount, timeoutSeconds }: {
27
23
  nodeAdmin: AztecNodeAdmin;
28
24
  logger: Logger;
29
25
  slashingRoundSize: number;
30
26
  epochDuration: number;
27
+ waitUntilOffenseCount?: number;
28
+ timeoutSeconds?: number;
31
29
  }): Promise<import("@aztec/slasher").Offense[]>;
32
30
  /**
33
31
  * Await the committee to be slashed out of the validator set.
34
32
  * Currently assumes that the committee is the same size as the validator set.
35
33
  */
36
- export declare function awaitCommitteeKicked({ rollup, cheatCodes, committee, slashFactory, slashingProposer, slashingRoundSize, aztecSlotDuration, logger, dateProvider, }: {
34
+ export declare function awaitCommitteeKicked({ rollup, cheatCodes, committee, slashFactory, slashingProposer, slashingRoundSize, aztecSlotDuration, aztecEpochDuration, logger, offenseEpoch }: {
37
35
  rollup: RollupContract;
38
36
  cheatCodes: RollupCheatCodes;
39
37
  committee: readonly `0x${string}`[];
@@ -41,7 +39,8 @@ export declare function awaitCommitteeKicked({ rollup, cheatCodes, committee, sl
41
39
  slashingProposer: EmpireSlashingProposerContract | TallySlashingProposerContract | undefined;
42
40
  slashingRoundSize: number;
43
41
  aztecSlotDuration: number;
44
- dateProvider: TestDateProvider;
42
+ aztecEpochDuration: number;
45
43
  logger: Logger;
44
+ offenseEpoch: number;
46
45
  }): Promise<void>;
47
- //# sourceMappingURL=shared.d.ts.map
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZTJlX3AycC9zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQThDLE1BQU0sMkJBQTJCLENBQUM7QUFFcEcsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEVBQUUsRUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQ1YsOEJBQThCLEVBQzlCLGNBQWMsRUFDZCw2QkFBNkIsRUFDOUIsTUFBTSwyQkFBMkIsQ0FBQztBQUtuQyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUl2RSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBTXZFLGVBQU8sTUFBTSxrQkFBa0I7O3VCQTJCOUIsQ0FBQztBQUdGLGVBQU8sTUFBTSxrQkFBa0Isa0hBVzlCLENBQUM7QUFFRix3QkFBc0IsbUJBQW1CLENBQ3ZDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsSUFBSSxFQUFFLGdCQUFnQixFQUN0QixNQUFNLEVBQUUsTUFBTSxFQUNkLGFBQWEsRUFBRSxrQkFBa0IsR0FDaEMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBcUJmO0FBRUQsd0JBQWdCLHNCQUFzQixDQUNwQyxnQkFBZ0IsRUFBRSw4QkFBOEIsR0FBRyw2QkFBNkIsRUFDaEYsY0FBYyxFQUFFLE1BQU0sRUFDdEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsTUFBTSxDQUFDLENBMEJqQjtBQUVELHdCQUFzQixvQkFBb0IsQ0FBQyxFQUN6QyxNQUFNLEVBQ04sTUFBTSxFQUNQLEVBQUU7SUFDRCxNQUFNLEVBQUUsY0FBYyxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDaEIsR0FBRyxPQUFPLENBQUMsU0FBUyxLQUFLLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FZcEM7QUFFRCx3QkFBc0Isb0JBQW9CLENBQUMsRUFDekMsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixjQUFvQixFQUNyQixFQUFFO0lBQ0QsU0FBUyxFQUFFLGNBQWMsQ0FBQztJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDL0IsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ3pCLCtDQWtCQTtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixvQkFBb0IsQ0FBQyxFQUN6QyxNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixZQUFZLEVBQ2IsRUFBRTtJQUNELE1BQU0sRUFBRSxjQUFjLENBQUM7SUFDdkIsVUFBVSxFQUFFLGdCQUFnQixDQUFDO0lBQzdCLFNBQVMsRUFBRSxTQUFTLEtBQUssTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUNwQyxZQUFZLEVBQUUsb0JBQW9CLENBQUM7SUFDbkMsZ0JBQWdCLEVBQUUsOEJBQThCLEdBQUcsNkJBQTZCLEdBQUcsU0FBUyxDQUFDO0lBQzdGLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixZQUFZLEVBQUUsTUFBTSxDQUFDO0NBQ3RCLGlCQTZFQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAA8C,MAAM,2BAA2B,CAAC;AAEpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAY,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EACV,8BAA8B,EAC9B,cAAc,EACd,6BAA6B,EAC9B,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAIvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAMvE,eAAO,MAAM,kBAAkB;;uBA2B9B,CAAC;AAGF,eAAO,MAAM,kBAAkB,kHAW9B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,kBAAkB,GAChC,OAAO,CAAC,EAAE,EAAE,CAAC,CAqBf;AAED,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,8BAA8B,GAAG,6BAA6B,EAChF,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,MAAM,EACP,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC,CAYpC;AAED,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,cAAoB,EACrB,EAAE;IACD,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,+CAkBA;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,EACN,YAAY,EACb,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;IACpC,YAAY,EAAE,oBAAoB,CAAC;IACnC,gBAAgB,EAAE,8BAA8B,GAAG,6BAA6B,GAAG,SAAS,CAAC;IAC7F,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB,iBA6EA"}