@aztec/end-to-end 3.0.0-devnet.2 → 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.
- package/dest/bench/client_flows/benchmark.d.ts +1 -1
- package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/benchmark.js +2 -2
- package/dest/bench/client_flows/client_flows_benchmark.d.ts +9 -2
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +58 -33
- package/dest/bench/client_flows/config.d.ts +1 -1
- package/dest/bench/client_flows/data_extractor.d.ts +1 -1
- package/dest/bench/client_flows/data_extractor.js +8 -30
- package/dest/bench/utils.d.ts +2 -2
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +2 -2
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +3 -2
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +6 -4
- package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts +10 -9
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +11 -9
- package/dest/e2e_fees/bridging_race.notest.d.ts +1 -1
- package/dest/e2e_fees/bridging_race.notest.js +2 -2
- package/dest/e2e_fees/fees_test.d.ts +5 -3
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +14 -10
- package/dest/e2e_l1_publisher/write_json.d.ts +1 -1
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +5 -4
- package/dest/e2e_multi_validator/utils.d.ts +1 -1
- package/dest/e2e_multi_validator/utils.js +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +4 -3
- package/dest/e2e_p2p/inactivity_slash_test.d.ts +3 -3
- package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.js +6 -2
- package/dest/e2e_p2p/p2p_network.d.ts +218 -11
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +11 -5
- package/dest/e2e_p2p/shared.d.ts +6 -6
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +6 -5
- package/dest/e2e_token_contract/token_contract_test.d.ts +1 -1
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +2 -2
- package/dest/fixtures/e2e_prover_test.d.ts +4 -2
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +18 -14
- package/dest/fixtures/fixtures.d.ts +1 -1
- package/dest/fixtures/fixtures.d.ts.map +1 -1
- package/dest/fixtures/fixtures.js +1 -1
- package/dest/fixtures/get_acvm_config.d.ts +1 -1
- package/dest/fixtures/get_acvm_config.js +1 -1
- package/dest/fixtures/get_bb_config.d.ts +1 -1
- package/dest/fixtures/get_bb_config.d.ts.map +1 -1
- package/dest/fixtures/index.d.ts +1 -1
- package/dest/fixtures/l1_to_l2_messaging.d.ts +4 -3
- package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
- package/dest/fixtures/l1_to_l2_messaging.js +2 -2
- package/dest/fixtures/logging.d.ts +1 -1
- package/dest/fixtures/setup_l1_contracts.d.ts +475 -4
- package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
- package/dest/fixtures/setup_l1_contracts.js +1 -1
- package/dest/fixtures/setup_p2p_test.d.ts +4 -4
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +18 -10
- package/dest/fixtures/snapshot_manager.d.ts +3 -3
- package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
- package/dest/fixtures/snapshot_manager.js +6 -4
- package/dest/fixtures/token_utils.d.ts +5 -2
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +7 -4
- package/dest/fixtures/utils.d.ts +453 -7
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +26 -19
- package/dest/fixtures/web3signer.d.ts +1 -1
- package/dest/fixtures/web3signer.js +1 -1
- package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
- package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
- package/dest/fixtures/with_telemetry_utils.js +2 -2
- package/dest/index.d.ts +1 -1
- package/dest/quality_of_service/alert_checker.d.ts +1 -1
- package/dest/quality_of_service/alert_checker.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.d.ts +5 -14
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +1 -1
- package/dest/shared/gas_portal_test_harness.d.ts +2 -12
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +1 -1
- package/dest/shared/index.d.ts +1 -1
- package/dest/shared/jest_setup.d.ts +1 -1
- package/dest/shared/submit-transactions.d.ts +1 -1
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts +3 -2
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +15 -13
- package/dest/simulators/index.d.ts +1 -1
- package/dest/simulators/lending_simulator.d.ts +2 -6
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +5 -3
- package/dest/simulators/token_simulator.d.ts +1 -1
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.d.ts +5 -3
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +45 -10
- package/dest/spartan/tx_metrics.d.ts +39 -0
- package/dest/spartan/tx_metrics.d.ts.map +1 -0
- package/dest/spartan/tx_metrics.js +95 -0
- package/dest/spartan/utils.d.ts +31 -21
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +93 -33
- package/package.json +42 -40
- package/src/bench/client_flows/benchmark.ts +2 -2
- package/src/bench/client_flows/client_flows_benchmark.ts +80 -33
- package/src/bench/client_flows/data_extractor.ts +9 -31
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +2 -2
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -6
- package/src/e2e_deploy_contract/deploy_test.ts +1 -1
- package/src/e2e_epochs/epochs_test.ts +19 -16
- package/src/e2e_fees/bridging_race.notest.ts +2 -2
- package/src/e2e_fees/fees_test.ts +18 -12
- package/src/e2e_l1_publisher/write_json.ts +5 -4
- package/src/e2e_multi_validator/utils.ts +1 -1
- package/src/e2e_nested_contract/nested_contract_test.ts +4 -3
- package/src/e2e_p2p/inactivity_slash_test.ts +9 -3
- package/src/e2e_p2p/p2p_network.ts +15 -12
- package/src/e2e_p2p/shared.ts +13 -6
- package/src/e2e_token_contract/token_contract_test.ts +2 -2
- package/src/fixtures/e2e_prover_test.ts +16 -17
- package/src/fixtures/fixtures.ts +1 -2
- package/src/fixtures/get_acvm_config.ts +1 -1
- package/src/fixtures/l1_to_l2_messaging.ts +4 -2
- package/src/fixtures/setup_l1_contracts.ts +2 -1
- package/src/fixtures/setup_p2p_test.ts +23 -9
- package/src/fixtures/snapshot_manager.ts +7 -10
- package/src/fixtures/token_utils.ts +4 -4
- package/src/fixtures/utils.ts +51 -31
- package/src/fixtures/web3signer.ts +1 -1
- package/src/fixtures/with_telemetry_utils.ts +2 -2
- package/src/guides/up_quick_start.sh +1 -1
- package/src/shared/cross_chain_test_harness.ts +5 -2
- package/src/shared/gas_portal_test_harness.ts +2 -2
- package/src/shared/uniswap_l1_l2.ts +16 -19
- package/src/simulators/lending_simulator.ts +6 -4
- package/src/spartan/DEVELOP.md +7 -0
- package/src/spartan/setup_test_wallets.ts +49 -12
- package/src/spartan/tx_metrics.ts +130 -0
- package/src/spartan/utils.ts +107 -33
|
@@ -1,6 +1,477 @@
|
|
|
1
1
|
import type { Logger } from '@aztec/aztec.js/log';
|
|
2
|
-
import { type DeployL1ContractsArgs
|
|
3
|
-
import type { HDAccount, PrivateKeyAccount } from 'viem';
|
|
2
|
+
import { type DeployL1ContractsArgs } from '@aztec/ethereum/deploy-l1-contracts';
|
|
4
3
|
export { deployAndInitializeTokenAndBridgeContracts } from '../shared/cross_chain_test_harness.js';
|
|
5
|
-
export declare const setupL1Contracts: (l1RpcUrl: string, account:
|
|
6
|
-
|
|
4
|
+
export declare const setupL1Contracts: (l1RpcUrl: string, account: {
|
|
5
|
+
address: `0x${string}`;
|
|
6
|
+
nonceManager?: import("viem").NonceManager | undefined;
|
|
7
|
+
sign: (parameters: {
|
|
8
|
+
hash: `0x${string}`;
|
|
9
|
+
}) => Promise<`0x${string}`>;
|
|
10
|
+
signAuthorization?: ((parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>) | undefined;
|
|
11
|
+
signMessage: ({ message }: {
|
|
12
|
+
message: import("viem").SignableMessage;
|
|
13
|
+
}) => Promise<`0x${string}`>;
|
|
14
|
+
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?: {
|
|
15
|
+
serializer?: serializer | undefined;
|
|
16
|
+
} | undefined) => Promise<`0x${string}`>;
|
|
17
|
+
signTypedData: <const typedData extends Record<string, unknown> | {
|
|
18
|
+
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
19
|
+
[x: `address[${string}]`]: undefined;
|
|
20
|
+
[x: `bool[${string}]`]: undefined;
|
|
21
|
+
[x: `bytes10[${string}]`]: undefined;
|
|
22
|
+
[x: `bytes11[${string}]`]: undefined;
|
|
23
|
+
[x: `bytes12[${string}]`]: undefined;
|
|
24
|
+
[x: `bytes13[${string}]`]: undefined;
|
|
25
|
+
[x: `bytes14[${string}]`]: undefined;
|
|
26
|
+
[x: `bytes15[${string}]`]: undefined;
|
|
27
|
+
[x: `bytes16[${string}]`]: undefined;
|
|
28
|
+
[x: `bytes17[${string}]`]: undefined;
|
|
29
|
+
[x: `bytes18[${string}]`]: undefined;
|
|
30
|
+
[x: `bytes19[${string}]`]: undefined;
|
|
31
|
+
[x: `bytes1[${string}]`]: undefined;
|
|
32
|
+
[x: `bytes20[${string}]`]: undefined;
|
|
33
|
+
[x: `bytes21[${string}]`]: undefined;
|
|
34
|
+
[x: `bytes22[${string}]`]: undefined;
|
|
35
|
+
[x: `bytes23[${string}]`]: undefined;
|
|
36
|
+
[x: `bytes24[${string}]`]: undefined;
|
|
37
|
+
[x: `bytes25[${string}]`]: undefined;
|
|
38
|
+
[x: `bytes26[${string}]`]: undefined;
|
|
39
|
+
[x: `bytes27[${string}]`]: undefined;
|
|
40
|
+
[x: `bytes28[${string}]`]: undefined;
|
|
41
|
+
[x: `bytes29[${string}]`]: undefined;
|
|
42
|
+
[x: `bytes2[${string}]`]: undefined;
|
|
43
|
+
[x: `bytes30[${string}]`]: undefined;
|
|
44
|
+
[x: `bytes31[${string}]`]: undefined;
|
|
45
|
+
[x: `bytes32[${string}]`]: undefined;
|
|
46
|
+
[x: `bytes3[${string}]`]: undefined;
|
|
47
|
+
[x: `bytes4[${string}]`]: undefined;
|
|
48
|
+
[x: `bytes5[${string}]`]: undefined;
|
|
49
|
+
[x: `bytes6[${string}]`]: undefined;
|
|
50
|
+
[x: `bytes7[${string}]`]: undefined;
|
|
51
|
+
[x: `bytes8[${string}]`]: undefined;
|
|
52
|
+
[x: `bytes9[${string}]`]: undefined;
|
|
53
|
+
[x: `bytes[${string}]`]: undefined;
|
|
54
|
+
[x: `function[${string}]`]: undefined;
|
|
55
|
+
[x: `int104[${string}]`]: undefined;
|
|
56
|
+
[x: `int112[${string}]`]: undefined;
|
|
57
|
+
[x: `int120[${string}]`]: undefined;
|
|
58
|
+
[x: `int128[${string}]`]: undefined;
|
|
59
|
+
[x: `int136[${string}]`]: undefined;
|
|
60
|
+
[x: `int144[${string}]`]: undefined;
|
|
61
|
+
[x: `int152[${string}]`]: undefined;
|
|
62
|
+
[x: `int160[${string}]`]: undefined;
|
|
63
|
+
[x: `int168[${string}]`]: undefined;
|
|
64
|
+
[x: `int16[${string}]`]: undefined;
|
|
65
|
+
[x: `int176[${string}]`]: undefined;
|
|
66
|
+
[x: `int184[${string}]`]: undefined;
|
|
67
|
+
[x: `int192[${string}]`]: undefined;
|
|
68
|
+
[x: `int200[${string}]`]: undefined;
|
|
69
|
+
[x: `int208[${string}]`]: undefined;
|
|
70
|
+
[x: `int216[${string}]`]: undefined;
|
|
71
|
+
[x: `int224[${string}]`]: undefined;
|
|
72
|
+
[x: `int232[${string}]`]: undefined;
|
|
73
|
+
[x: `int240[${string}]`]: undefined;
|
|
74
|
+
[x: `int248[${string}]`]: undefined;
|
|
75
|
+
[x: `int24[${string}]`]: undefined;
|
|
76
|
+
[x: `int256[${string}]`]: undefined;
|
|
77
|
+
[x: `int32[${string}]`]: undefined;
|
|
78
|
+
[x: `int40[${string}]`]: undefined;
|
|
79
|
+
[x: `int48[${string}]`]: undefined;
|
|
80
|
+
[x: `int56[${string}]`]: undefined;
|
|
81
|
+
[x: `int64[${string}]`]: undefined;
|
|
82
|
+
[x: `int72[${string}]`]: undefined;
|
|
83
|
+
[x: `int80[${string}]`]: undefined;
|
|
84
|
+
[x: `int88[${string}]`]: undefined;
|
|
85
|
+
[x: `int8[${string}]`]: undefined;
|
|
86
|
+
[x: `int96[${string}]`]: undefined;
|
|
87
|
+
[x: `int[${string}]`]: undefined;
|
|
88
|
+
[x: `string[${string}]`]: undefined;
|
|
89
|
+
[x: `uint104[${string}]`]: undefined;
|
|
90
|
+
[x: `uint112[${string}]`]: undefined;
|
|
91
|
+
[x: `uint120[${string}]`]: undefined;
|
|
92
|
+
[x: `uint128[${string}]`]: undefined;
|
|
93
|
+
[x: `uint136[${string}]`]: undefined;
|
|
94
|
+
[x: `uint144[${string}]`]: undefined;
|
|
95
|
+
[x: `uint152[${string}]`]: undefined;
|
|
96
|
+
[x: `uint160[${string}]`]: undefined;
|
|
97
|
+
[x: `uint168[${string}]`]: undefined;
|
|
98
|
+
[x: `uint16[${string}]`]: undefined;
|
|
99
|
+
[x: `uint176[${string}]`]: undefined;
|
|
100
|
+
[x: `uint184[${string}]`]: undefined;
|
|
101
|
+
[x: `uint192[${string}]`]: undefined;
|
|
102
|
+
[x: `uint200[${string}]`]: undefined;
|
|
103
|
+
[x: `uint208[${string}]`]: undefined;
|
|
104
|
+
[x: `uint216[${string}]`]: undefined;
|
|
105
|
+
[x: `uint224[${string}]`]: undefined;
|
|
106
|
+
[x: `uint232[${string}]`]: undefined;
|
|
107
|
+
[x: `uint240[${string}]`]: undefined;
|
|
108
|
+
[x: `uint248[${string}]`]: undefined;
|
|
109
|
+
[x: `uint24[${string}]`]: undefined;
|
|
110
|
+
[x: `uint256[${string}]`]: undefined;
|
|
111
|
+
[x: `uint32[${string}]`]: undefined;
|
|
112
|
+
[x: `uint40[${string}]`]: undefined;
|
|
113
|
+
[x: `uint48[${string}]`]: undefined;
|
|
114
|
+
[x: `uint56[${string}]`]: undefined;
|
|
115
|
+
[x: `uint64[${string}]`]: undefined;
|
|
116
|
+
[x: `uint72[${string}]`]: undefined;
|
|
117
|
+
[x: `uint80[${string}]`]: undefined;
|
|
118
|
+
[x: `uint88[${string}]`]: undefined;
|
|
119
|
+
[x: `uint8[${string}]`]: undefined;
|
|
120
|
+
[x: `uint96[${string}]`]: undefined;
|
|
121
|
+
[x: `uint[${string}]`]: undefined;
|
|
122
|
+
address?: undefined;
|
|
123
|
+
bool?: undefined;
|
|
124
|
+
bytes?: undefined;
|
|
125
|
+
bytes1?: undefined;
|
|
126
|
+
bytes10?: undefined;
|
|
127
|
+
bytes11?: undefined;
|
|
128
|
+
bytes12?: undefined;
|
|
129
|
+
bytes13?: undefined;
|
|
130
|
+
bytes14?: undefined;
|
|
131
|
+
bytes15?: undefined;
|
|
132
|
+
bytes16?: undefined;
|
|
133
|
+
bytes17?: undefined;
|
|
134
|
+
bytes18?: undefined;
|
|
135
|
+
bytes19?: undefined;
|
|
136
|
+
bytes2?: undefined;
|
|
137
|
+
bytes20?: undefined;
|
|
138
|
+
bytes21?: undefined;
|
|
139
|
+
bytes22?: undefined;
|
|
140
|
+
bytes23?: undefined;
|
|
141
|
+
bytes24?: undefined;
|
|
142
|
+
bytes25?: undefined;
|
|
143
|
+
bytes26?: undefined;
|
|
144
|
+
bytes27?: undefined;
|
|
145
|
+
bytes28?: undefined;
|
|
146
|
+
bytes29?: undefined;
|
|
147
|
+
bytes3?: undefined;
|
|
148
|
+
bytes30?: undefined;
|
|
149
|
+
bytes31?: undefined;
|
|
150
|
+
bytes32?: undefined;
|
|
151
|
+
bytes4?: undefined;
|
|
152
|
+
bytes5?: undefined;
|
|
153
|
+
bytes6?: undefined;
|
|
154
|
+
bytes7?: undefined;
|
|
155
|
+
bytes8?: undefined;
|
|
156
|
+
bytes9?: undefined;
|
|
157
|
+
int104?: undefined;
|
|
158
|
+
int112?: undefined;
|
|
159
|
+
int120?: undefined;
|
|
160
|
+
int128?: undefined;
|
|
161
|
+
int136?: undefined;
|
|
162
|
+
int144?: undefined;
|
|
163
|
+
int152?: undefined;
|
|
164
|
+
int16?: undefined;
|
|
165
|
+
int160?: undefined;
|
|
166
|
+
int168?: undefined;
|
|
167
|
+
int176?: undefined;
|
|
168
|
+
int184?: undefined;
|
|
169
|
+
int192?: undefined;
|
|
170
|
+
int200?: undefined;
|
|
171
|
+
int208?: undefined;
|
|
172
|
+
int216?: undefined;
|
|
173
|
+
int224?: undefined;
|
|
174
|
+
int232?: undefined;
|
|
175
|
+
int24?: undefined;
|
|
176
|
+
int240?: undefined;
|
|
177
|
+
int248?: undefined;
|
|
178
|
+
int256?: undefined;
|
|
179
|
+
int32?: undefined;
|
|
180
|
+
int40?: undefined;
|
|
181
|
+
int48?: undefined;
|
|
182
|
+
int56?: undefined;
|
|
183
|
+
int64?: undefined;
|
|
184
|
+
int72?: undefined;
|
|
185
|
+
int8?: undefined;
|
|
186
|
+
int80?: undefined;
|
|
187
|
+
int88?: undefined;
|
|
188
|
+
int96?: undefined;
|
|
189
|
+
string?: undefined;
|
|
190
|
+
uint104?: undefined;
|
|
191
|
+
uint112?: undefined;
|
|
192
|
+
uint120?: undefined;
|
|
193
|
+
uint128?: undefined;
|
|
194
|
+
uint136?: undefined;
|
|
195
|
+
uint144?: undefined;
|
|
196
|
+
uint152?: undefined;
|
|
197
|
+
uint16?: undefined;
|
|
198
|
+
uint160?: undefined;
|
|
199
|
+
uint168?: undefined;
|
|
200
|
+
uint176?: undefined;
|
|
201
|
+
uint184?: undefined;
|
|
202
|
+
uint192?: undefined;
|
|
203
|
+
uint200?: undefined;
|
|
204
|
+
uint208?: undefined;
|
|
205
|
+
uint216?: undefined;
|
|
206
|
+
uint224?: undefined;
|
|
207
|
+
uint232?: undefined;
|
|
208
|
+
uint24?: undefined;
|
|
209
|
+
uint240?: undefined;
|
|
210
|
+
uint248?: undefined;
|
|
211
|
+
uint256?: undefined;
|
|
212
|
+
uint32?: undefined;
|
|
213
|
+
uint40?: undefined;
|
|
214
|
+
uint48?: undefined;
|
|
215
|
+
uint56?: undefined;
|
|
216
|
+
uint64?: undefined;
|
|
217
|
+
uint72?: undefined;
|
|
218
|
+
uint8?: undefined;
|
|
219
|
+
uint80?: undefined;
|
|
220
|
+
uint88?: undefined;
|
|
221
|
+
uint96?: undefined;
|
|
222
|
+
}, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
|
|
223
|
+
publicKey: `0x${string}`;
|
|
224
|
+
source: "hd";
|
|
225
|
+
type: "local";
|
|
226
|
+
getHdKey: () => import("viem").HDKey;
|
|
227
|
+
} | {
|
|
228
|
+
address: `0x${string}`;
|
|
229
|
+
nonceManager?: import("viem").NonceManager | undefined;
|
|
230
|
+
sign: (parameters: {
|
|
231
|
+
hash: `0x${string}`;
|
|
232
|
+
}) => Promise<`0x${string}`>;
|
|
233
|
+
signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
|
|
234
|
+
signMessage: ({ message }: {
|
|
235
|
+
message: import("viem").SignableMessage;
|
|
236
|
+
}) => Promise<`0x${string}`>;
|
|
237
|
+
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?: {
|
|
238
|
+
serializer?: serializer | undefined;
|
|
239
|
+
} | undefined) => Promise<`0x${string}`>;
|
|
240
|
+
signTypedData: <const typedData extends Record<string, unknown> | {
|
|
241
|
+
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
242
|
+
[x: `address[${string}]`]: undefined;
|
|
243
|
+
[x: `bool[${string}]`]: undefined;
|
|
244
|
+
[x: `bytes10[${string}]`]: undefined;
|
|
245
|
+
[x: `bytes11[${string}]`]: undefined;
|
|
246
|
+
[x: `bytes12[${string}]`]: undefined;
|
|
247
|
+
[x: `bytes13[${string}]`]: undefined;
|
|
248
|
+
[x: `bytes14[${string}]`]: undefined;
|
|
249
|
+
[x: `bytes15[${string}]`]: undefined;
|
|
250
|
+
[x: `bytes16[${string}]`]: undefined;
|
|
251
|
+
[x: `bytes17[${string}]`]: undefined;
|
|
252
|
+
[x: `bytes18[${string}]`]: undefined;
|
|
253
|
+
[x: `bytes19[${string}]`]: undefined;
|
|
254
|
+
[x: `bytes1[${string}]`]: undefined;
|
|
255
|
+
[x: `bytes20[${string}]`]: undefined;
|
|
256
|
+
[x: `bytes21[${string}]`]: undefined;
|
|
257
|
+
[x: `bytes22[${string}]`]: undefined;
|
|
258
|
+
[x: `bytes23[${string}]`]: undefined;
|
|
259
|
+
[x: `bytes24[${string}]`]: undefined;
|
|
260
|
+
[x: `bytes25[${string}]`]: undefined;
|
|
261
|
+
[x: `bytes26[${string}]`]: undefined;
|
|
262
|
+
[x: `bytes27[${string}]`]: undefined;
|
|
263
|
+
[x: `bytes28[${string}]`]: undefined;
|
|
264
|
+
[x: `bytes29[${string}]`]: undefined;
|
|
265
|
+
[x: `bytes2[${string}]`]: undefined;
|
|
266
|
+
[x: `bytes30[${string}]`]: undefined;
|
|
267
|
+
[x: `bytes31[${string}]`]: undefined;
|
|
268
|
+
[x: `bytes32[${string}]`]: undefined;
|
|
269
|
+
[x: `bytes3[${string}]`]: undefined;
|
|
270
|
+
[x: `bytes4[${string}]`]: undefined;
|
|
271
|
+
[x: `bytes5[${string}]`]: undefined;
|
|
272
|
+
[x: `bytes6[${string}]`]: undefined;
|
|
273
|
+
[x: `bytes7[${string}]`]: undefined;
|
|
274
|
+
[x: `bytes8[${string}]`]: undefined;
|
|
275
|
+
[x: `bytes9[${string}]`]: undefined;
|
|
276
|
+
[x: `bytes[${string}]`]: undefined;
|
|
277
|
+
[x: `function[${string}]`]: undefined;
|
|
278
|
+
[x: `int104[${string}]`]: undefined;
|
|
279
|
+
[x: `int112[${string}]`]: undefined;
|
|
280
|
+
[x: `int120[${string}]`]: undefined;
|
|
281
|
+
[x: `int128[${string}]`]: undefined;
|
|
282
|
+
[x: `int136[${string}]`]: undefined;
|
|
283
|
+
[x: `int144[${string}]`]: undefined;
|
|
284
|
+
[x: `int152[${string}]`]: undefined;
|
|
285
|
+
[x: `int160[${string}]`]: undefined;
|
|
286
|
+
[x: `int168[${string}]`]: undefined;
|
|
287
|
+
[x: `int16[${string}]`]: undefined;
|
|
288
|
+
[x: `int176[${string}]`]: undefined;
|
|
289
|
+
[x: `int184[${string}]`]: undefined;
|
|
290
|
+
[x: `int192[${string}]`]: undefined;
|
|
291
|
+
[x: `int200[${string}]`]: undefined;
|
|
292
|
+
[x: `int208[${string}]`]: undefined;
|
|
293
|
+
[x: `int216[${string}]`]: undefined;
|
|
294
|
+
[x: `int224[${string}]`]: undefined;
|
|
295
|
+
[x: `int232[${string}]`]: undefined;
|
|
296
|
+
[x: `int240[${string}]`]: undefined;
|
|
297
|
+
[x: `int248[${string}]`]: undefined;
|
|
298
|
+
[x: `int24[${string}]`]: undefined;
|
|
299
|
+
[x: `int256[${string}]`]: undefined;
|
|
300
|
+
[x: `int32[${string}]`]: undefined;
|
|
301
|
+
[x: `int40[${string}]`]: undefined;
|
|
302
|
+
[x: `int48[${string}]`]: undefined;
|
|
303
|
+
[x: `int56[${string}]`]: undefined;
|
|
304
|
+
[x: `int64[${string}]`]: undefined;
|
|
305
|
+
[x: `int72[${string}]`]: undefined;
|
|
306
|
+
[x: `int80[${string}]`]: undefined;
|
|
307
|
+
[x: `int88[${string}]`]: undefined;
|
|
308
|
+
[x: `int8[${string}]`]: undefined;
|
|
309
|
+
[x: `int96[${string}]`]: undefined;
|
|
310
|
+
[x: `int[${string}]`]: undefined;
|
|
311
|
+
[x: `string[${string}]`]: undefined;
|
|
312
|
+
[x: `uint104[${string}]`]: undefined;
|
|
313
|
+
[x: `uint112[${string}]`]: undefined;
|
|
314
|
+
[x: `uint120[${string}]`]: undefined;
|
|
315
|
+
[x: `uint128[${string}]`]: undefined;
|
|
316
|
+
[x: `uint136[${string}]`]: undefined;
|
|
317
|
+
[x: `uint144[${string}]`]: undefined;
|
|
318
|
+
[x: `uint152[${string}]`]: undefined;
|
|
319
|
+
[x: `uint160[${string}]`]: undefined;
|
|
320
|
+
[x: `uint168[${string}]`]: undefined;
|
|
321
|
+
[x: `uint16[${string}]`]: undefined;
|
|
322
|
+
[x: `uint176[${string}]`]: undefined;
|
|
323
|
+
[x: `uint184[${string}]`]: undefined;
|
|
324
|
+
[x: `uint192[${string}]`]: undefined;
|
|
325
|
+
[x: `uint200[${string}]`]: undefined;
|
|
326
|
+
[x: `uint208[${string}]`]: undefined;
|
|
327
|
+
[x: `uint216[${string}]`]: undefined;
|
|
328
|
+
[x: `uint224[${string}]`]: undefined;
|
|
329
|
+
[x: `uint232[${string}]`]: undefined;
|
|
330
|
+
[x: `uint240[${string}]`]: undefined;
|
|
331
|
+
[x: `uint248[${string}]`]: undefined;
|
|
332
|
+
[x: `uint24[${string}]`]: undefined;
|
|
333
|
+
[x: `uint256[${string}]`]: undefined;
|
|
334
|
+
[x: `uint32[${string}]`]: undefined;
|
|
335
|
+
[x: `uint40[${string}]`]: undefined;
|
|
336
|
+
[x: `uint48[${string}]`]: undefined;
|
|
337
|
+
[x: `uint56[${string}]`]: undefined;
|
|
338
|
+
[x: `uint64[${string}]`]: undefined;
|
|
339
|
+
[x: `uint72[${string}]`]: undefined;
|
|
340
|
+
[x: `uint80[${string}]`]: undefined;
|
|
341
|
+
[x: `uint88[${string}]`]: undefined;
|
|
342
|
+
[x: `uint8[${string}]`]: undefined;
|
|
343
|
+
[x: `uint96[${string}]`]: undefined;
|
|
344
|
+
[x: `uint[${string}]`]: undefined;
|
|
345
|
+
address?: undefined;
|
|
346
|
+
bool?: undefined;
|
|
347
|
+
bytes?: undefined;
|
|
348
|
+
bytes1?: undefined;
|
|
349
|
+
bytes10?: undefined;
|
|
350
|
+
bytes11?: undefined;
|
|
351
|
+
bytes12?: undefined;
|
|
352
|
+
bytes13?: undefined;
|
|
353
|
+
bytes14?: undefined;
|
|
354
|
+
bytes15?: undefined;
|
|
355
|
+
bytes16?: undefined;
|
|
356
|
+
bytes17?: undefined;
|
|
357
|
+
bytes18?: undefined;
|
|
358
|
+
bytes19?: undefined;
|
|
359
|
+
bytes2?: undefined;
|
|
360
|
+
bytes20?: undefined;
|
|
361
|
+
bytes21?: undefined;
|
|
362
|
+
bytes22?: undefined;
|
|
363
|
+
bytes23?: undefined;
|
|
364
|
+
bytes24?: undefined;
|
|
365
|
+
bytes25?: undefined;
|
|
366
|
+
bytes26?: undefined;
|
|
367
|
+
bytes27?: undefined;
|
|
368
|
+
bytes28?: undefined;
|
|
369
|
+
bytes29?: undefined;
|
|
370
|
+
bytes3?: undefined;
|
|
371
|
+
bytes30?: undefined;
|
|
372
|
+
bytes31?: undefined;
|
|
373
|
+
bytes32?: undefined;
|
|
374
|
+
bytes4?: undefined;
|
|
375
|
+
bytes5?: undefined;
|
|
376
|
+
bytes6?: undefined;
|
|
377
|
+
bytes7?: undefined;
|
|
378
|
+
bytes8?: undefined;
|
|
379
|
+
bytes9?: undefined;
|
|
380
|
+
int104?: undefined;
|
|
381
|
+
int112?: undefined;
|
|
382
|
+
int120?: undefined;
|
|
383
|
+
int128?: undefined;
|
|
384
|
+
int136?: undefined;
|
|
385
|
+
int144?: undefined;
|
|
386
|
+
int152?: undefined;
|
|
387
|
+
int16?: undefined;
|
|
388
|
+
int160?: undefined;
|
|
389
|
+
int168?: undefined;
|
|
390
|
+
int176?: undefined;
|
|
391
|
+
int184?: undefined;
|
|
392
|
+
int192?: undefined;
|
|
393
|
+
int200?: undefined;
|
|
394
|
+
int208?: undefined;
|
|
395
|
+
int216?: undefined;
|
|
396
|
+
int224?: undefined;
|
|
397
|
+
int232?: undefined;
|
|
398
|
+
int24?: undefined;
|
|
399
|
+
int240?: undefined;
|
|
400
|
+
int248?: undefined;
|
|
401
|
+
int256?: undefined;
|
|
402
|
+
int32?: undefined;
|
|
403
|
+
int40?: undefined;
|
|
404
|
+
int48?: undefined;
|
|
405
|
+
int56?: undefined;
|
|
406
|
+
int64?: undefined;
|
|
407
|
+
int72?: undefined;
|
|
408
|
+
int8?: undefined;
|
|
409
|
+
int80?: undefined;
|
|
410
|
+
int88?: undefined;
|
|
411
|
+
int96?: undefined;
|
|
412
|
+
string?: undefined;
|
|
413
|
+
uint104?: undefined;
|
|
414
|
+
uint112?: undefined;
|
|
415
|
+
uint120?: undefined;
|
|
416
|
+
uint128?: undefined;
|
|
417
|
+
uint136?: undefined;
|
|
418
|
+
uint144?: undefined;
|
|
419
|
+
uint152?: undefined;
|
|
420
|
+
uint16?: undefined;
|
|
421
|
+
uint160?: undefined;
|
|
422
|
+
uint168?: undefined;
|
|
423
|
+
uint176?: undefined;
|
|
424
|
+
uint184?: undefined;
|
|
425
|
+
uint192?: undefined;
|
|
426
|
+
uint200?: undefined;
|
|
427
|
+
uint208?: undefined;
|
|
428
|
+
uint216?: undefined;
|
|
429
|
+
uint224?: undefined;
|
|
430
|
+
uint232?: undefined;
|
|
431
|
+
uint24?: undefined;
|
|
432
|
+
uint240?: undefined;
|
|
433
|
+
uint248?: undefined;
|
|
434
|
+
uint256?: undefined;
|
|
435
|
+
uint32?: undefined;
|
|
436
|
+
uint40?: undefined;
|
|
437
|
+
uint48?: undefined;
|
|
438
|
+
uint56?: undefined;
|
|
439
|
+
uint64?: undefined;
|
|
440
|
+
uint72?: undefined;
|
|
441
|
+
uint8?: undefined;
|
|
442
|
+
uint80?: undefined;
|
|
443
|
+
uint88?: undefined;
|
|
444
|
+
uint96?: undefined;
|
|
445
|
+
}, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
|
|
446
|
+
publicKey: `0x${string}`;
|
|
447
|
+
source: "privateKey";
|
|
448
|
+
type: "local";
|
|
449
|
+
}, logger: Logger, args: Pick<DeployL1ContractsArgs, "genesisArchiveRoot" | "initialValidators"> & {
|
|
450
|
+
ethereumSlotDuration: number;
|
|
451
|
+
aztecSlotDuration: number;
|
|
452
|
+
aztecEpochDuration: number;
|
|
453
|
+
aztecTargetCommitteeSize: number;
|
|
454
|
+
lagInEpochsForValidatorSet: number;
|
|
455
|
+
lagInEpochsForRandao: number;
|
|
456
|
+
aztecProofSubmissionEpochs: number;
|
|
457
|
+
activationThreshold: bigint;
|
|
458
|
+
ejectionThreshold: bigint;
|
|
459
|
+
localEjectionThreshold: bigint;
|
|
460
|
+
slashingQuorum?: number | undefined;
|
|
461
|
+
slashingRoundSizeInEpochs: number;
|
|
462
|
+
slashingLifetimeInRounds: number;
|
|
463
|
+
slashingExecutionDelayInRounds: number;
|
|
464
|
+
slashingVetoer: import("../../../foundation/dest/eth-address/index.js").EthAddress;
|
|
465
|
+
slashingOffsetInRounds: number;
|
|
466
|
+
slashingDisableDuration: number;
|
|
467
|
+
slasherFlavor: "empire" | "none" | "tally";
|
|
468
|
+
slashAmountSmall: bigint;
|
|
469
|
+
slashAmountMedium: bigint;
|
|
470
|
+
slashAmountLarge: bigint;
|
|
471
|
+
governanceProposerQuorum?: number | undefined;
|
|
472
|
+
governanceProposerRoundSize: number;
|
|
473
|
+
manaTarget: bigint;
|
|
474
|
+
provingCostPerMana: bigint;
|
|
475
|
+
exitDelaySeconds: number;
|
|
476
|
+
} & import("../../../ethereum/dest/l1_tx_utils/config.js").L1TxUtilsConfig) => Promise<import("@aztec/ethereum/deploy-l1-contracts").DeployL1ContractsReturnType>;
|
|
477
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfbDFfY29udHJhY3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZml4dHVyZXMvc2V0dXBfbDFfY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxLQUFLLHFCQUFxQixFQUFxQixNQUFNLHFDQUFxQyxDQUFDO0FBT3BHLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRW5HLGVBQU8sTUFBTSxnQkFBZ0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUtBZTVCLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup_l1_contracts.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_l1_contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup_l1_contracts.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_l1_contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,KAAK,qBAAqB,EAAqB,MAAM,qCAAqC,CAAC;AAOpG,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AAEnG,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iKAe5B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { deployL1Contracts } from '@aztec/ethereum';
|
|
1
|
+
import { deployL1Contracts } from '@aztec/ethereum/deploy-l1-contracts';
|
|
2
2
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
3
3
|
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
4
4
|
import { foundry } from 'viem/chains';
|
|
@@ -10,14 +10,14 @@ export declare const ATTESTER_PRIVATE_KEYS_START_INDEX = 3;
|
|
|
10
10
|
export declare function generatePrivateKeys(startIndex: number, numberOfKeys: number): `0x${string}`[];
|
|
11
11
|
export declare function createNodes(config: AztecNodeConfig & {
|
|
12
12
|
dontStartSequencer?: boolean;
|
|
13
|
-
}, dateProvider: DateProvider, bootstrapNodeEnr: string, numNodes: number, bootNodePort: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, indexOffset?: number): Promise<AztecNodeService[]>;
|
|
13
|
+
}, dateProvider: DateProvider, bootstrapNodeEnr: string, numNodes: number, bootNodePort: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, indexOffset?: number, validatorsPerNode?: number): Promise<AztecNodeService[]>;
|
|
14
14
|
/** Creates a P2P enabled instance of Aztec Node Service with a validator */
|
|
15
15
|
export declare function createNode(config: AztecNodeConfig & {
|
|
16
16
|
dontStartSequencer?: boolean;
|
|
17
|
-
}, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
|
|
17
|
+
}, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number | number[], prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
|
|
18
18
|
/** Creates a P2P enabled instance of Aztec Node Service without a validator */
|
|
19
19
|
export declare function createNonValidatorNode(baseConfig: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
|
|
20
20
|
export declare function createProverNode(config: AztecNodeConfig, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, proverNodeDeps: ProverNodeDeps & Required<Pick<ProverNodeDeps, 'dateProvider'>>, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<import("@aztec/prover-node").ProverNode>;
|
|
21
21
|
export declare function createP2PConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
22
|
-
export declare function createValidatorConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
23
|
-
//# sourceMappingURL=
|
|
22
|
+
export declare function createValidatorConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number | number[], dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfcDJwX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cF9wMnBfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFvQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBU3JELGVBQU8sTUFBTSxpQ0FBaUMsSUFBSSxDQUFDO0FBRW5ELHdCQUFnQixtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsS0FBSyxNQUFNLEVBQUUsRUFBRSxDQU83RjtBQUVELHdCQUFzQixXQUFXLENBQy9CLE1BQU0sRUFBRSxlQUFlLEdBQUc7SUFBRSxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFFLEVBQzFELFlBQVksRUFBRSxZQUFZLEVBQzFCLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsWUFBWSxFQUFFLE1BQU0sRUFDcEIsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFDcEIsV0FBVyxTQUFJLEVBQ2YsaUJBQWlCLFNBQUksR0FDcEIsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0F5QzdCO0FBRUQsNEVBQTRFO0FBQzVFLHdCQUFzQixVQUFVLENBQzlCLE1BQU0sRUFBRSxlQUFlLEdBQUc7SUFBRSxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFFLEVBQzFELFlBQVksRUFBRSxZQUFZLEVBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2pDLFlBQVksRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLEVBQy9CLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFDMUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLEVBQ3BCLGVBQWUsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyw2QkFZNUM7QUFFRCwrRUFBK0U7QUFDL0Usd0JBQXNCLHNCQUFzQixDQUMxQyxVQUFVLEVBQUUsZUFBZSxFQUMzQixZQUFZLEVBQUUsWUFBWSxFQUMxQixPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUNqQyxtQkFBbUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLEVBQzFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFDdEIsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUNwQixlQUFlLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsNkJBYzVDO0FBRUQsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsZUFBZSxFQUN2QixPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUNqQyxZQUFZLEVBQUUsTUFBTSxFQUNwQixjQUFjLEVBQUUsY0FBYyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLEVBQy9FLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFDMUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLEVBQ3BCLGVBQWUsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxvREF3QjVDO0FBRUQsd0JBQXNCLGVBQWUsQ0FDbkMsTUFBTSxFQUFFLGVBQWUsRUFDdkIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQ3pCLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixhQUFhLENBQUMsRUFBRSxNQUFNLDRCQWdCdkI7QUFFRCx3QkFBc0IscUJBQXFCLENBQ3pDLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxFQUN6QixJQUFJLENBQUMsRUFBRSxNQUFNLEVBQ2IsWUFBWSxHQUFFLE1BQU0sR0FBRyxNQUFNLEVBQU0sRUFDbkMsYUFBYSxDQUFDLEVBQUUsTUFBTSw0QkFtQnZCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup_p2p_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_p2p_test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup_p2p_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_p2p_test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,EAAE,CAO7F;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,eAAe,GAAG;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1D,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,SAAI,EACf,iBAAiB,SAAI,GACpB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyC7B;AAED,4EAA4E;AAC5E,wBAAsB,UAAU,CAC9B,MAAM,EAAE,eAAe,GAAG;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1D,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,6BAY5C;AAED,+EAA+E;AAC/E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,6BAc5C;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,EAC/E,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,oDAwB5C;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,4BAgBvB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,eAAe,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,GAAE,MAAM,GAAG,MAAM,EAAM,EACnC,aAAa,CAAC,EAAE,MAAM,4BAmBvB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Test fixtures and utilities to set up and run a test using multiple validators
|
|
3
3
|
*/ import { AztecNodeService } from '@aztec/aztec-node';
|
|
4
|
+
import { range } from '@aztec/foundation/array';
|
|
4
5
|
import { SecretValue } from '@aztec/foundation/config';
|
|
5
6
|
import { addLogNameHandler, removeLogNameHandler } from '@aztec/foundation/log';
|
|
6
7
|
import { bufferToHex } from '@aztec/foundation/string';
|
|
@@ -21,7 +22,7 @@ export function generatePrivateKeys(startIndex, numberOfKeys) {
|
|
|
21
22
|
}
|
|
22
23
|
return privateKeys;
|
|
23
24
|
}
|
|
24
|
-
export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNodes, bootNodePort, prefilledPublicData, dataDirectory, metricsPort, indexOffset = 0) {
|
|
25
|
+
export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNodes, bootNodePort, prefilledPublicData, dataDirectory, metricsPort, indexOffset = 0, validatorsPerNode = 1) {
|
|
25
26
|
const nodePromises = [];
|
|
26
27
|
const loggerIdStorage = new AsyncLocalStorage();
|
|
27
28
|
const logNameHandler = (module)=>loggerIdStorage.getStore() ? `${module}:${loggerIdStorage.getStore()}` : module;
|
|
@@ -30,8 +31,11 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
30
31
|
const index = indexOffset + i;
|
|
31
32
|
// We run on ports from the bootnode upwards
|
|
32
33
|
const port = bootNodePort + 1 + index;
|
|
34
|
+
// Determine validator indices for this node
|
|
35
|
+
const validatorIndices = validatorsPerNode === 1 ? index : range(validatorsPerNode, validatorsPerNode * index);
|
|
36
|
+
// Assign data directory
|
|
33
37
|
const dataDir = dataDirectory ? `${dataDirectory}-${index}` : undefined;
|
|
34
|
-
const nodePromise = createNode(config, dateProvider, port, bootstrapNodeEnr,
|
|
38
|
+
const nodePromise = createNode(config, dateProvider, port, bootstrapNodeEnr, validatorIndices, prefilledPublicData, dataDir, metricsPort, loggerIdStorage);
|
|
35
39
|
nodePromises.push(nodePromise);
|
|
36
40
|
}
|
|
37
41
|
const nodes = await Promise.all(nodePromises);
|
|
@@ -46,7 +50,7 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
46
50
|
/** Creates a P2P enabled instance of Aztec Node Service with a validator */ export async function createNode(config, dateProvider, tcpPort, bootstrapNode, addressIndex, prefilledPublicData, dataDirectory, metricsPort, loggerIdStorage) {
|
|
47
51
|
const createNode = async ()=>{
|
|
48
52
|
const validatorConfig = await createValidatorConfig(config, bootstrapNode, tcpPort, addressIndex, dataDirectory);
|
|
49
|
-
const telemetry = getEndToEndTestTelemetryClient(metricsPort);
|
|
53
|
+
const telemetry = await getEndToEndTestTelemetryClient(metricsPort);
|
|
50
54
|
return await AztecNodeService.createAndSync(validatorConfig, {
|
|
51
55
|
telemetry,
|
|
52
56
|
dateProvider
|
|
@@ -66,7 +70,7 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
66
70
|
validatorPrivateKeys: undefined,
|
|
67
71
|
publisherPrivateKeys: []
|
|
68
72
|
};
|
|
69
|
-
const telemetry = getEndToEndTestTelemetryClient(metricsPort);
|
|
73
|
+
const telemetry = await getEndToEndTestTelemetryClient(metricsPort);
|
|
70
74
|
return await AztecNodeService.createAndSync(config, {
|
|
71
75
|
telemetry,
|
|
72
76
|
dateProvider
|
|
@@ -79,7 +83,7 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
79
83
|
export async function createProverNode(config, tcpPort, bootstrapNode, addressIndex, proverNodeDeps, prefilledPublicData, dataDirectory, metricsPort, loggerIdStorage) {
|
|
80
84
|
const createProverNode = async ()=>{
|
|
81
85
|
const proverNodePrivateKey = getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + addressIndex);
|
|
82
|
-
const telemetry = getEndToEndTestTelemetryClient(metricsPort);
|
|
86
|
+
const telemetry = await getEndToEndTestTelemetryClient(metricsPort);
|
|
83
87
|
const proverConfig = await createP2PConfig(config, bootstrapNode, tcpPort, dataDirectory);
|
|
84
88
|
const aztecNodeRpcTxProvider = undefined;
|
|
85
89
|
return await createAndSyncProverNode(bufferToHex(proverNodePrivateKey), config, {
|
|
@@ -109,16 +113,20 @@ export async function createP2PConfig(config, bootstrapNodeEnr, port, dataDirect
|
|
|
109
113
|
return nodeConfig;
|
|
110
114
|
}
|
|
111
115
|
export async function createValidatorConfig(config, bootstrapNodeEnr, port, addressIndex = 1, dataDirectory) {
|
|
112
|
-
const
|
|
116
|
+
const addressIndices = Array.isArray(addressIndex) ? addressIndex : [
|
|
117
|
+
addressIndex
|
|
118
|
+
];
|
|
119
|
+
if (addressIndices.length === 0) {
|
|
120
|
+
throw new Error('At least one address index must be provided to create a validator config');
|
|
121
|
+
}
|
|
122
|
+
const attesterPrivateKeys = addressIndices.map((index)=>bufferToHex(getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + index)));
|
|
113
123
|
const p2pConfig = await createP2PConfig(config, bootstrapNodeEnr, port, dataDirectory);
|
|
114
124
|
const nodeConfig = {
|
|
115
125
|
...config,
|
|
116
126
|
...p2pConfig,
|
|
117
|
-
validatorPrivateKeys: new SecretValue(
|
|
118
|
-
attesterPrivateKey
|
|
119
|
-
]),
|
|
127
|
+
validatorPrivateKeys: new SecretValue(attesterPrivateKeys),
|
|
120
128
|
publisherPrivateKeys: [
|
|
121
|
-
new SecretValue(
|
|
129
|
+
new SecretValue(attesterPrivateKeys[0])
|
|
122
130
|
]
|
|
123
131
|
};
|
|
124
132
|
return nodeConfig;
|
|
@@ -6,7 +6,7 @@ import type { AztecNode } from '@aztec/aztec.js/node';
|
|
|
6
6
|
import type { Wallet } from '@aztec/aztec.js/wallet';
|
|
7
7
|
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
8
8
|
import { type BlobSinkServer } from '@aztec/blob-sink/server';
|
|
9
|
-
import {
|
|
9
|
+
import type { DeployL1ContractsArgs, DeployL1ContractsReturnType } from '@aztec/ethereum/deploy-l1-contracts';
|
|
10
10
|
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
11
11
|
import type { ProverNode } from '@aztec/prover-node';
|
|
12
12
|
import type { SequencerClient } from '@aztec/sequencer-client';
|
|
@@ -30,7 +30,7 @@ export type SubsystemsContext = {
|
|
|
30
30
|
initialFundedAccounts: InitialAccountData[];
|
|
31
31
|
directoryToCleanup?: string;
|
|
32
32
|
};
|
|
33
|
-
export declare function createSnapshotManager(testName: string, dataPath?: string, config?: Partial<SetupOptions>, deployL1ContractsArgs?: Partial<DeployL1ContractsArgs>):
|
|
33
|
+
export declare function createSnapshotManager(testName: string, dataPath?: string, config?: Partial<SetupOptions>, deployL1ContractsArgs?: Partial<DeployL1ContractsArgs>): MockSnapshotManager | SnapshotManager;
|
|
34
34
|
export interface ISnapshotManager {
|
|
35
35
|
snapshot<T>(name: string, apply: (context: SubsystemsContext) => Promise<T>, restore?: (snapshotData: T, context: SubsystemsContext) => Promise<void>): Promise<void>;
|
|
36
36
|
setup(): Promise<SubsystemsContext>;
|
|
@@ -92,4 +92,4 @@ export declare const deployAccounts: (numberOfAccounts: number, logger: Logger)
|
|
|
92
92
|
*/
|
|
93
93
|
export declare function publicDeployAccounts(wallet: Wallet, accountsToDeploy: AztecAddress[], waitUntilProven?: boolean, node?: AztecNode): Promise<void>;
|
|
94
94
|
export {};
|
|
95
|
-
//# sourceMappingURL=
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3RfbWFuYWdlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpeHR1cmVzL3NuYXBzaG90X21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQTJCLE1BQU0seUJBQXlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFFLGdCQUFnQixFQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxZQUFZLEVBQWMsTUFBTSwyQkFBMkIsQ0FBQztBQUlyRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUF3QixNQUFNLHlCQUF5QixDQUFDO0FBSXBGLE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFROUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3ZELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWV6QyxPQUFPLEVBQ0wsS0FBSyxZQUFZLEVBS2xCLE1BQU0sWUFBWSxDQUFDO0FBR3BCLE1BQU0sTUFBTSxpQkFBaUIs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
|