@aztec/end-to-end 0.0.0-test.0 → 0.0.1-commit.21caa21
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 +61 -0
- package/dest/bench/client_flows/benchmark.d.ts.map +1 -0
- package/dest/bench/client_flows/benchmark.js +261 -0
- package/dest/bench/client_flows/client_flows_benchmark.d.ts +80 -0
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -0
- package/dest/bench/client_flows/client_flows_benchmark.js +334 -0
- package/dest/bench/client_flows/config.d.ts +14 -0
- package/dest/bench/client_flows/config.d.ts.map +1 -0
- package/dest/bench/client_flows/config.js +106 -0
- package/dest/bench/client_flows/data_extractor.d.ts +2 -0
- package/dest/bench/client_flows/data_extractor.d.ts.map +1 -0
- package/dest/bench/client_flows/data_extractor.js +77 -0
- package/dest/bench/utils.d.ts +12 -38
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +26 -66
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +21 -13
- 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 +85 -57
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +19 -25
- 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 +50 -70
- package/dest/e2e_deploy_contract/deploy_test.d.ts +16 -8
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_deploy_contract/deploy_test.js +13 -19
- package/dest/e2e_epochs/epochs_test.d.ts +59 -18
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +226 -44
- package/dest/e2e_fees/bridging_race.notest.d.ts +2 -0
- package/dest/e2e_fees/bridging_race.notest.d.ts.map +1 -0
- package/dest/e2e_fees/bridging_race.notest.js +63 -0
- package/dest/e2e_fees/fees_test.d.ts +21 -10
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +103 -109
- package/dest/e2e_l1_publisher/write_json.d.ts +10 -0
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -0
- package/dest/e2e_l1_publisher/write_json.js +58 -0
- package/dest/e2e_multi_validator/utils.d.ts +12 -0
- package/dest/e2e_multi_validator/utils.d.ts.map +1 -0
- package/dest/e2e_multi_validator/utils.js +214 -0
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +10 -7
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +24 -20
- package/dest/e2e_p2p/inactivity_slash_test.d.ts +31 -0
- package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -0
- package/dest/e2e_p2p/inactivity_slash_test.js +139 -0
- package/dest/e2e_p2p/p2p_network.d.ts +275 -23
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +184 -131
- package/dest/e2e_p2p/shared.d.ts +43 -7
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +164 -19
- package/dest/e2e_token_contract/token_contract_test.d.ts +12 -6
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +50 -26
- package/dest/fixtures/e2e_prover_test.d.ts +63 -0
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -0
- package/dest/{e2e_prover → fixtures}/e2e_prover_test.js +104 -105
- package/dest/fixtures/fixtures.d.ts +6 -7
- package/dest/fixtures/fixtures.d.ts.map +1 -1
- package/dest/fixtures/fixtures.js +4 -3
- package/dest/fixtures/get_acvm_config.d.ts +2 -2
- package/dest/fixtures/get_acvm_config.d.ts.map +1 -1
- package/dest/fixtures/get_acvm_config.js +2 -14
- package/dest/fixtures/get_bb_config.d.ts +2 -2
- package/dest/fixtures/get_bb_config.d.ts.map +1 -1
- package/dest/fixtures/get_bb_config.js +10 -17
- package/dest/fixtures/index.d.ts +1 -1
- package/dest/fixtures/l1_to_l2_messaging.d.ts +9 -6
- package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
- package/dest/fixtures/l1_to_l2_messaging.js +44 -18
- package/dest/fixtures/logging.d.ts +1 -1
- package/dest/fixtures/setup_l1_contracts.d.ts +476 -5
- package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
- package/dest/fixtures/setup_l1_contracts.js +4 -4
- package/dest/fixtures/setup_p2p_test.d.ts +15 -14
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +81 -21
- package/dest/fixtures/snapshot_manager.d.ts +17 -9
- package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
- package/dest/fixtures/snapshot_manager.js +147 -121
- package/dest/fixtures/token_utils.d.ts +10 -4
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +28 -12
- package/dest/fixtures/utils.d.ts +524 -40
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +464 -369
- package/dest/fixtures/web3signer.d.ts +5 -0
- package/dest/fixtures/web3signer.d.ts.map +1 -0
- package/dest/fixtures/web3signer.js +53 -0
- package/dest/fixtures/with_telemetry_utils.d.ts +1 -1
- package/dest/index.d.ts +1 -1
- package/dest/quality_of_service/alert_checker.d.ts +2 -2
- package/dest/quality_of_service/alert_checker.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.d.ts +39 -34
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +104 -50
- package/dest/shared/gas_portal_test_harness.d.ts +29 -31
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +51 -30
- package/dest/shared/index.d.ts +1 -1
- package/dest/shared/jest_setup.d.ts +1 -1
- package/dest/shared/jest_setup.js +1 -1
- package/dest/shared/submit-transactions.d.ts +6 -4
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/submit-transactions.js +8 -7
- package/dest/shared/uniswap_l1_l2.d.ts +14 -12
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +146 -116
- package/dest/simulators/index.d.ts +1 -1
- package/dest/simulators/lending_simulator.d.ts +7 -11
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +15 -16
- package/dest/simulators/token_simulator.d.ts +6 -3
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/simulators/token_simulator.js +16 -13
- package/dest/spartan/setup_test_wallets.d.ts +26 -11
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +201 -58
- package/dest/spartan/utils.d.ts +116 -313
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +434 -130
- package/package.json +65 -58
- package/src/bench/client_flows/benchmark.ts +341 -0
- package/src/bench/client_flows/client_flows_benchmark.ts +447 -0
- package/src/bench/client_flows/config.ts +61 -0
- package/src/bench/client_flows/data_extractor.ts +89 -0
- package/src/bench/utils.ts +22 -76
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +80 -77
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +65 -106
- package/src/e2e_deploy_contract/deploy_test.ts +24 -39
- package/src/e2e_epochs/epochs_test.ts +276 -55
- package/src/e2e_fees/bridging_race.notest.ts +80 -0
- package/src/e2e_fees/fees_test.ts +142 -138
- package/src/e2e_l1_publisher/write_json.ts +77 -0
- package/src/e2e_multi_validator/utils.ts +258 -0
- package/src/e2e_nested_contract/nested_contract_test.ts +29 -19
- package/src/e2e_p2p/inactivity_slash_test.ts +182 -0
- package/src/e2e_p2p/p2p_network.ts +279 -169
- package/src/e2e_p2p/shared.ts +247 -29
- package/src/e2e_token_contract/token_contract_test.ts +43 -39
- package/src/fixtures/dumps/epoch_proof_result.json +1 -1
- package/src/{e2e_prover → fixtures}/e2e_prover_test.ts +107 -152
- package/src/fixtures/fixtures.ts +4 -3
- package/src/fixtures/get_acvm_config.ts +3 -11
- package/src/fixtures/get_bb_config.ts +18 -13
- package/src/fixtures/l1_to_l2_messaging.ts +53 -23
- package/src/fixtures/setup_l1_contracts.ts +6 -7
- package/src/fixtures/setup_p2p_test.ts +126 -38
- package/src/fixtures/snapshot_manager.ts +187 -139
- package/src/fixtures/token_utils.ts +32 -15
- package/src/fixtures/utils.ts +580 -434
- package/src/fixtures/web3signer.ts +63 -0
- package/src/guides/up_quick_start.sh +7 -15
- package/src/quality_of_service/alert_checker.ts +1 -1
- package/src/shared/cross_chain_test_harness.ts +108 -79
- package/src/shared/gas_portal_test_harness.ts +59 -50
- package/src/shared/jest_setup.ts +1 -1
- package/src/shared/submit-transactions.ts +12 -8
- package/src/shared/uniswap_l1_l2.ts +181 -184
- package/src/simulators/lending_simulator.ts +14 -15
- package/src/simulators/token_simulator.ts +21 -13
- package/src/spartan/DEVELOP.md +121 -0
- package/src/spartan/setup_test_wallets.ts +251 -93
- package/src/spartan/utils.ts +490 -130
- package/dest/e2e_prover/e2e_prover_test.d.ts +0 -56
- package/dest/e2e_prover/e2e_prover_test.d.ts.map +0 -1
- package/dest/sample-dapp/connect.js +0 -12
- package/dest/sample-dapp/contracts.js +0 -10
- package/dest/sample-dapp/deploy.js +0 -35
- package/dest/sample-dapp/index.js +0 -98
- package/src/sample-dapp/connect.mjs +0 -16
- package/src/sample-dapp/contracts.mjs +0 -14
- package/src/sample-dapp/deploy.mjs +0 -40
- package/src/sample-dapp/index.mjs +0 -128
package/dest/fixtures/utils.d.ts
CHANGED
|
@@ -1,40 +1,490 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { type InitialAccountData } from '@aztec/accounts/testing';
|
|
4
2
|
import { type AztecNodeConfig } from '@aztec/aztec-node';
|
|
5
|
-
import {
|
|
6
|
-
import type
|
|
3
|
+
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
4
|
+
import { type ContractMethod } from '@aztec/aztec.js/contracts';
|
|
5
|
+
import { type Logger } from '@aztec/aztec.js/log';
|
|
6
|
+
import { type AztecNode } from '@aztec/aztec.js/node';
|
|
7
|
+
import type { Wallet } from '@aztec/aztec.js/wallet';
|
|
8
|
+
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
7
9
|
import { type BlobSinkServer } from '@aztec/blob-sink/server';
|
|
8
|
-
import { type DeployL1ContractsArgs,
|
|
9
|
-
import { startAnvil } from '@aztec/ethereum/test';
|
|
10
|
-
import {
|
|
10
|
+
import { type DeployL1ContractsArgs, type DeployL1ContractsReturnType, type Operator } from '@aztec/ethereum';
|
|
11
|
+
import { EthCheatCodes, startAnvil } from '@aztec/ethereum/test';
|
|
12
|
+
import { SecretValue } from '@aztec/foundation/config';
|
|
11
13
|
import { Fr } from '@aztec/foundation/fields';
|
|
12
14
|
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
+
import type { DataStoreConfig } from '@aztec/kv-store/config';
|
|
16
|
+
import { MockGossipSubNetwork } from '@aztec/p2p/test-helpers';
|
|
17
|
+
import { type ProverNode, type ProverNodeConfig, type ProverNodeDeps } from '@aztec/prover-node';
|
|
18
|
+
import { type PXEConfig } from '@aztec/pxe/server';
|
|
15
19
|
import type { SequencerClient } from '@aztec/sequencer-client';
|
|
20
|
+
import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
21
|
+
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
16
22
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
17
23
|
import { type TelemetryClient, type TelemetryClientConfig } from '@aztec/telemetry-client';
|
|
18
|
-
import {
|
|
24
|
+
import { TestWallet } from '@aztec/test-wallet/server';
|
|
25
|
+
import { type Chain } from 'viem';
|
|
19
26
|
export { deployAndInitializeTokenAndBridgeContracts } from '../shared/cross_chain_test_harness.js';
|
|
20
27
|
export { startAnvil };
|
|
21
|
-
export declare const getPrivateKeyFromIndex: (index: number) => Buffer | null;
|
|
22
|
-
export declare const setupL1Contracts: (l1RpcUrls: string[], account:
|
|
28
|
+
export declare const getPrivateKeyFromIndex: (index: number) => Buffer<ArrayBufferLike> | null;
|
|
29
|
+
export declare const setupL1Contracts: (l1RpcUrls: string[], account: {
|
|
30
|
+
address: `0x${string}`;
|
|
31
|
+
nonceManager?: import("viem").NonceManager | undefined;
|
|
32
|
+
sign: (parameters: {
|
|
33
|
+
hash: `0x${string}`;
|
|
34
|
+
}) => Promise<`0x${string}`>;
|
|
35
|
+
signAuthorization?: ((parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>) | undefined;
|
|
36
|
+
signMessage: ({ message }: {
|
|
37
|
+
message: import("viem").SignableMessage;
|
|
38
|
+
}) => Promise<`0x${string}`>;
|
|
39
|
+
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?: {
|
|
40
|
+
serializer?: serializer | undefined;
|
|
41
|
+
} | undefined) => Promise<`0x${string}`>;
|
|
42
|
+
signTypedData: <const typedData extends Record<string, unknown> | {
|
|
43
|
+
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
44
|
+
[x: `address[${string}]`]: undefined;
|
|
45
|
+
[x: `bool[${string}]`]: undefined;
|
|
46
|
+
[x: `bytes10[${string}]`]: undefined;
|
|
47
|
+
[x: `bytes11[${string}]`]: undefined;
|
|
48
|
+
[x: `bytes12[${string}]`]: undefined;
|
|
49
|
+
[x: `bytes13[${string}]`]: undefined;
|
|
50
|
+
[x: `bytes14[${string}]`]: undefined;
|
|
51
|
+
[x: `bytes15[${string}]`]: undefined;
|
|
52
|
+
[x: `bytes16[${string}]`]: undefined;
|
|
53
|
+
[x: `bytes17[${string}]`]: undefined;
|
|
54
|
+
[x: `bytes18[${string}]`]: undefined;
|
|
55
|
+
[x: `bytes19[${string}]`]: undefined;
|
|
56
|
+
[x: `bytes1[${string}]`]: undefined;
|
|
57
|
+
[x: `bytes20[${string}]`]: undefined;
|
|
58
|
+
[x: `bytes21[${string}]`]: undefined;
|
|
59
|
+
[x: `bytes22[${string}]`]: undefined;
|
|
60
|
+
[x: `bytes23[${string}]`]: undefined;
|
|
61
|
+
[x: `bytes24[${string}]`]: undefined;
|
|
62
|
+
[x: `bytes25[${string}]`]: undefined;
|
|
63
|
+
[x: `bytes26[${string}]`]: undefined;
|
|
64
|
+
[x: `bytes27[${string}]`]: undefined;
|
|
65
|
+
[x: `bytes28[${string}]`]: undefined;
|
|
66
|
+
[x: `bytes29[${string}]`]: undefined;
|
|
67
|
+
[x: `bytes2[${string}]`]: undefined;
|
|
68
|
+
[x: `bytes30[${string}]`]: undefined;
|
|
69
|
+
[x: `bytes31[${string}]`]: undefined;
|
|
70
|
+
[x: `bytes32[${string}]`]: undefined;
|
|
71
|
+
[x: `bytes3[${string}]`]: undefined;
|
|
72
|
+
[x: `bytes4[${string}]`]: undefined;
|
|
73
|
+
[x: `bytes5[${string}]`]: undefined;
|
|
74
|
+
[x: `bytes6[${string}]`]: undefined;
|
|
75
|
+
[x: `bytes7[${string}]`]: undefined;
|
|
76
|
+
[x: `bytes8[${string}]`]: undefined;
|
|
77
|
+
[x: `bytes9[${string}]`]: undefined;
|
|
78
|
+
[x: `bytes[${string}]`]: undefined;
|
|
79
|
+
[x: `function[${string}]`]: undefined;
|
|
80
|
+
[x: `int104[${string}]`]: undefined;
|
|
81
|
+
[x: `int112[${string}]`]: undefined;
|
|
82
|
+
[x: `int120[${string}]`]: undefined;
|
|
83
|
+
[x: `int128[${string}]`]: undefined;
|
|
84
|
+
[x: `int136[${string}]`]: undefined;
|
|
85
|
+
[x: `int144[${string}]`]: undefined;
|
|
86
|
+
[x: `int152[${string}]`]: undefined;
|
|
87
|
+
[x: `int160[${string}]`]: undefined;
|
|
88
|
+
[x: `int168[${string}]`]: undefined;
|
|
89
|
+
[x: `int16[${string}]`]: undefined;
|
|
90
|
+
[x: `int176[${string}]`]: undefined;
|
|
91
|
+
[x: `int184[${string}]`]: undefined;
|
|
92
|
+
[x: `int192[${string}]`]: undefined;
|
|
93
|
+
[x: `int200[${string}]`]: undefined;
|
|
94
|
+
[x: `int208[${string}]`]: undefined;
|
|
95
|
+
[x: `int216[${string}]`]: undefined;
|
|
96
|
+
[x: `int224[${string}]`]: undefined;
|
|
97
|
+
[x: `int232[${string}]`]: undefined;
|
|
98
|
+
[x: `int240[${string}]`]: undefined;
|
|
99
|
+
[x: `int248[${string}]`]: undefined;
|
|
100
|
+
[x: `int24[${string}]`]: undefined;
|
|
101
|
+
[x: `int256[${string}]`]: undefined;
|
|
102
|
+
[x: `int32[${string}]`]: undefined;
|
|
103
|
+
[x: `int40[${string}]`]: undefined;
|
|
104
|
+
[x: `int48[${string}]`]: undefined;
|
|
105
|
+
[x: `int56[${string}]`]: undefined;
|
|
106
|
+
[x: `int64[${string}]`]: undefined;
|
|
107
|
+
[x: `int72[${string}]`]: undefined;
|
|
108
|
+
[x: `int80[${string}]`]: undefined;
|
|
109
|
+
[x: `int88[${string}]`]: undefined;
|
|
110
|
+
[x: `int8[${string}]`]: undefined;
|
|
111
|
+
[x: `int96[${string}]`]: undefined;
|
|
112
|
+
[x: `int[${string}]`]: undefined;
|
|
113
|
+
[x: `string[${string}]`]: undefined;
|
|
114
|
+
[x: `uint104[${string}]`]: undefined;
|
|
115
|
+
[x: `uint112[${string}]`]: undefined;
|
|
116
|
+
[x: `uint120[${string}]`]: undefined;
|
|
117
|
+
[x: `uint128[${string}]`]: undefined;
|
|
118
|
+
[x: `uint136[${string}]`]: undefined;
|
|
119
|
+
[x: `uint144[${string}]`]: undefined;
|
|
120
|
+
[x: `uint152[${string}]`]: undefined;
|
|
121
|
+
[x: `uint160[${string}]`]: undefined;
|
|
122
|
+
[x: `uint168[${string}]`]: undefined;
|
|
123
|
+
[x: `uint16[${string}]`]: undefined;
|
|
124
|
+
[x: `uint176[${string}]`]: undefined;
|
|
125
|
+
[x: `uint184[${string}]`]: undefined;
|
|
126
|
+
[x: `uint192[${string}]`]: undefined;
|
|
127
|
+
[x: `uint200[${string}]`]: undefined;
|
|
128
|
+
[x: `uint208[${string}]`]: undefined;
|
|
129
|
+
[x: `uint216[${string}]`]: undefined;
|
|
130
|
+
[x: `uint224[${string}]`]: undefined;
|
|
131
|
+
[x: `uint232[${string}]`]: undefined;
|
|
132
|
+
[x: `uint240[${string}]`]: undefined;
|
|
133
|
+
[x: `uint248[${string}]`]: undefined;
|
|
134
|
+
[x: `uint24[${string}]`]: undefined;
|
|
135
|
+
[x: `uint256[${string}]`]: undefined;
|
|
136
|
+
[x: `uint32[${string}]`]: undefined;
|
|
137
|
+
[x: `uint40[${string}]`]: undefined;
|
|
138
|
+
[x: `uint48[${string}]`]: undefined;
|
|
139
|
+
[x: `uint56[${string}]`]: undefined;
|
|
140
|
+
[x: `uint64[${string}]`]: undefined;
|
|
141
|
+
[x: `uint72[${string}]`]: undefined;
|
|
142
|
+
[x: `uint80[${string}]`]: undefined;
|
|
143
|
+
[x: `uint88[${string}]`]: undefined;
|
|
144
|
+
[x: `uint8[${string}]`]: undefined;
|
|
145
|
+
[x: `uint96[${string}]`]: undefined;
|
|
146
|
+
[x: `uint[${string}]`]: undefined;
|
|
147
|
+
address?: undefined;
|
|
148
|
+
bool?: undefined;
|
|
149
|
+
bytes?: undefined;
|
|
150
|
+
bytes1?: undefined;
|
|
151
|
+
bytes10?: undefined;
|
|
152
|
+
bytes11?: undefined;
|
|
153
|
+
bytes12?: undefined;
|
|
154
|
+
bytes13?: undefined;
|
|
155
|
+
bytes14?: undefined;
|
|
156
|
+
bytes15?: undefined;
|
|
157
|
+
bytes16?: undefined;
|
|
158
|
+
bytes17?: undefined;
|
|
159
|
+
bytes18?: undefined;
|
|
160
|
+
bytes19?: undefined;
|
|
161
|
+
bytes2?: undefined;
|
|
162
|
+
bytes20?: undefined;
|
|
163
|
+
bytes21?: undefined;
|
|
164
|
+
bytes22?: undefined;
|
|
165
|
+
bytes23?: undefined;
|
|
166
|
+
bytes24?: undefined;
|
|
167
|
+
bytes25?: undefined;
|
|
168
|
+
bytes26?: undefined;
|
|
169
|
+
bytes27?: undefined;
|
|
170
|
+
bytes28?: undefined;
|
|
171
|
+
bytes29?: undefined;
|
|
172
|
+
bytes3?: undefined;
|
|
173
|
+
bytes30?: undefined;
|
|
174
|
+
bytes31?: undefined;
|
|
175
|
+
bytes32?: undefined;
|
|
176
|
+
bytes4?: undefined;
|
|
177
|
+
bytes5?: undefined;
|
|
178
|
+
bytes6?: undefined;
|
|
179
|
+
bytes7?: undefined;
|
|
180
|
+
bytes8?: undefined;
|
|
181
|
+
bytes9?: undefined;
|
|
182
|
+
int104?: undefined;
|
|
183
|
+
int112?: undefined;
|
|
184
|
+
int120?: undefined;
|
|
185
|
+
int128?: undefined;
|
|
186
|
+
int136?: undefined;
|
|
187
|
+
int144?: undefined;
|
|
188
|
+
int152?: undefined;
|
|
189
|
+
int16?: undefined;
|
|
190
|
+
int160?: undefined;
|
|
191
|
+
int168?: undefined;
|
|
192
|
+
int176?: undefined;
|
|
193
|
+
int184?: undefined;
|
|
194
|
+
int192?: undefined;
|
|
195
|
+
int200?: undefined;
|
|
196
|
+
int208?: undefined;
|
|
197
|
+
int216?: undefined;
|
|
198
|
+
int224?: undefined;
|
|
199
|
+
int232?: undefined;
|
|
200
|
+
int24?: undefined;
|
|
201
|
+
int240?: undefined;
|
|
202
|
+
int248?: undefined;
|
|
203
|
+
int256?: undefined;
|
|
204
|
+
int32?: undefined;
|
|
205
|
+
int40?: undefined;
|
|
206
|
+
int48?: undefined;
|
|
207
|
+
int56?: undefined;
|
|
208
|
+
int64?: undefined;
|
|
209
|
+
int72?: undefined;
|
|
210
|
+
int8?: undefined;
|
|
211
|
+
int80?: undefined;
|
|
212
|
+
int88?: undefined;
|
|
213
|
+
int96?: undefined;
|
|
214
|
+
string?: undefined;
|
|
215
|
+
uint104?: undefined;
|
|
216
|
+
uint112?: undefined;
|
|
217
|
+
uint120?: undefined;
|
|
218
|
+
uint128?: undefined;
|
|
219
|
+
uint136?: undefined;
|
|
220
|
+
uint144?: undefined;
|
|
221
|
+
uint152?: undefined;
|
|
222
|
+
uint16?: undefined;
|
|
223
|
+
uint160?: undefined;
|
|
224
|
+
uint168?: undefined;
|
|
225
|
+
uint176?: undefined;
|
|
226
|
+
uint184?: undefined;
|
|
227
|
+
uint192?: undefined;
|
|
228
|
+
uint200?: undefined;
|
|
229
|
+
uint208?: undefined;
|
|
230
|
+
uint216?: undefined;
|
|
231
|
+
uint224?: undefined;
|
|
232
|
+
uint232?: undefined;
|
|
233
|
+
uint24?: undefined;
|
|
234
|
+
uint240?: undefined;
|
|
235
|
+
uint248?: undefined;
|
|
236
|
+
uint256?: undefined;
|
|
237
|
+
uint32?: undefined;
|
|
238
|
+
uint40?: undefined;
|
|
239
|
+
uint48?: undefined;
|
|
240
|
+
uint56?: undefined;
|
|
241
|
+
uint64?: undefined;
|
|
242
|
+
uint72?: undefined;
|
|
243
|
+
uint8?: undefined;
|
|
244
|
+
uint80?: undefined;
|
|
245
|
+
uint88?: undefined;
|
|
246
|
+
uint96?: undefined;
|
|
247
|
+
}, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
|
|
248
|
+
publicKey: `0x${string}`;
|
|
249
|
+
source: "hd";
|
|
250
|
+
type: "local";
|
|
251
|
+
getHdKey: () => import("viem").HDKey;
|
|
252
|
+
} | {
|
|
253
|
+
address: `0x${string}`;
|
|
254
|
+
nonceManager?: import("viem").NonceManager | undefined;
|
|
255
|
+
sign: (parameters: {
|
|
256
|
+
hash: `0x${string}`;
|
|
257
|
+
}) => Promise<`0x${string}`>;
|
|
258
|
+
signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
|
|
259
|
+
signMessage: ({ message }: {
|
|
260
|
+
message: import("viem").SignableMessage;
|
|
261
|
+
}) => Promise<`0x${string}`>;
|
|
262
|
+
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?: {
|
|
263
|
+
serializer?: serializer | undefined;
|
|
264
|
+
} | undefined) => Promise<`0x${string}`>;
|
|
265
|
+
signTypedData: <const typedData extends Record<string, unknown> | {
|
|
266
|
+
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
267
|
+
[x: `address[${string}]`]: undefined;
|
|
268
|
+
[x: `bool[${string}]`]: undefined;
|
|
269
|
+
[x: `bytes10[${string}]`]: undefined;
|
|
270
|
+
[x: `bytes11[${string}]`]: undefined;
|
|
271
|
+
[x: `bytes12[${string}]`]: undefined;
|
|
272
|
+
[x: `bytes13[${string}]`]: undefined;
|
|
273
|
+
[x: `bytes14[${string}]`]: undefined;
|
|
274
|
+
[x: `bytes15[${string}]`]: undefined;
|
|
275
|
+
[x: `bytes16[${string}]`]: undefined;
|
|
276
|
+
[x: `bytes17[${string}]`]: undefined;
|
|
277
|
+
[x: `bytes18[${string}]`]: undefined;
|
|
278
|
+
[x: `bytes19[${string}]`]: undefined;
|
|
279
|
+
[x: `bytes1[${string}]`]: undefined;
|
|
280
|
+
[x: `bytes20[${string}]`]: undefined;
|
|
281
|
+
[x: `bytes21[${string}]`]: undefined;
|
|
282
|
+
[x: `bytes22[${string}]`]: undefined;
|
|
283
|
+
[x: `bytes23[${string}]`]: undefined;
|
|
284
|
+
[x: `bytes24[${string}]`]: undefined;
|
|
285
|
+
[x: `bytes25[${string}]`]: undefined;
|
|
286
|
+
[x: `bytes26[${string}]`]: undefined;
|
|
287
|
+
[x: `bytes27[${string}]`]: undefined;
|
|
288
|
+
[x: `bytes28[${string}]`]: undefined;
|
|
289
|
+
[x: `bytes29[${string}]`]: undefined;
|
|
290
|
+
[x: `bytes2[${string}]`]: undefined;
|
|
291
|
+
[x: `bytes30[${string}]`]: undefined;
|
|
292
|
+
[x: `bytes31[${string}]`]: undefined;
|
|
293
|
+
[x: `bytes32[${string}]`]: undefined;
|
|
294
|
+
[x: `bytes3[${string}]`]: undefined;
|
|
295
|
+
[x: `bytes4[${string}]`]: undefined;
|
|
296
|
+
[x: `bytes5[${string}]`]: undefined;
|
|
297
|
+
[x: `bytes6[${string}]`]: undefined;
|
|
298
|
+
[x: `bytes7[${string}]`]: undefined;
|
|
299
|
+
[x: `bytes8[${string}]`]: undefined;
|
|
300
|
+
[x: `bytes9[${string}]`]: undefined;
|
|
301
|
+
[x: `bytes[${string}]`]: undefined;
|
|
302
|
+
[x: `function[${string}]`]: undefined;
|
|
303
|
+
[x: `int104[${string}]`]: undefined;
|
|
304
|
+
[x: `int112[${string}]`]: undefined;
|
|
305
|
+
[x: `int120[${string}]`]: undefined;
|
|
306
|
+
[x: `int128[${string}]`]: undefined;
|
|
307
|
+
[x: `int136[${string}]`]: undefined;
|
|
308
|
+
[x: `int144[${string}]`]: undefined;
|
|
309
|
+
[x: `int152[${string}]`]: undefined;
|
|
310
|
+
[x: `int160[${string}]`]: undefined;
|
|
311
|
+
[x: `int168[${string}]`]: undefined;
|
|
312
|
+
[x: `int16[${string}]`]: undefined;
|
|
313
|
+
[x: `int176[${string}]`]: undefined;
|
|
314
|
+
[x: `int184[${string}]`]: undefined;
|
|
315
|
+
[x: `int192[${string}]`]: undefined;
|
|
316
|
+
[x: `int200[${string}]`]: undefined;
|
|
317
|
+
[x: `int208[${string}]`]: undefined;
|
|
318
|
+
[x: `int216[${string}]`]: undefined;
|
|
319
|
+
[x: `int224[${string}]`]: undefined;
|
|
320
|
+
[x: `int232[${string}]`]: undefined;
|
|
321
|
+
[x: `int240[${string}]`]: undefined;
|
|
322
|
+
[x: `int248[${string}]`]: undefined;
|
|
323
|
+
[x: `int24[${string}]`]: undefined;
|
|
324
|
+
[x: `int256[${string}]`]: undefined;
|
|
325
|
+
[x: `int32[${string}]`]: undefined;
|
|
326
|
+
[x: `int40[${string}]`]: undefined;
|
|
327
|
+
[x: `int48[${string}]`]: undefined;
|
|
328
|
+
[x: `int56[${string}]`]: undefined;
|
|
329
|
+
[x: `int64[${string}]`]: undefined;
|
|
330
|
+
[x: `int72[${string}]`]: undefined;
|
|
331
|
+
[x: `int80[${string}]`]: undefined;
|
|
332
|
+
[x: `int88[${string}]`]: undefined;
|
|
333
|
+
[x: `int8[${string}]`]: undefined;
|
|
334
|
+
[x: `int96[${string}]`]: undefined;
|
|
335
|
+
[x: `int[${string}]`]: undefined;
|
|
336
|
+
[x: `string[${string}]`]: undefined;
|
|
337
|
+
[x: `uint104[${string}]`]: undefined;
|
|
338
|
+
[x: `uint112[${string}]`]: undefined;
|
|
339
|
+
[x: `uint120[${string}]`]: undefined;
|
|
340
|
+
[x: `uint128[${string}]`]: undefined;
|
|
341
|
+
[x: `uint136[${string}]`]: undefined;
|
|
342
|
+
[x: `uint144[${string}]`]: undefined;
|
|
343
|
+
[x: `uint152[${string}]`]: undefined;
|
|
344
|
+
[x: `uint160[${string}]`]: undefined;
|
|
345
|
+
[x: `uint168[${string}]`]: undefined;
|
|
346
|
+
[x: `uint16[${string}]`]: undefined;
|
|
347
|
+
[x: `uint176[${string}]`]: undefined;
|
|
348
|
+
[x: `uint184[${string}]`]: undefined;
|
|
349
|
+
[x: `uint192[${string}]`]: undefined;
|
|
350
|
+
[x: `uint200[${string}]`]: undefined;
|
|
351
|
+
[x: `uint208[${string}]`]: undefined;
|
|
352
|
+
[x: `uint216[${string}]`]: undefined;
|
|
353
|
+
[x: `uint224[${string}]`]: undefined;
|
|
354
|
+
[x: `uint232[${string}]`]: undefined;
|
|
355
|
+
[x: `uint240[${string}]`]: undefined;
|
|
356
|
+
[x: `uint248[${string}]`]: undefined;
|
|
357
|
+
[x: `uint24[${string}]`]: undefined;
|
|
358
|
+
[x: `uint256[${string}]`]: undefined;
|
|
359
|
+
[x: `uint32[${string}]`]: undefined;
|
|
360
|
+
[x: `uint40[${string}]`]: undefined;
|
|
361
|
+
[x: `uint48[${string}]`]: undefined;
|
|
362
|
+
[x: `uint56[${string}]`]: undefined;
|
|
363
|
+
[x: `uint64[${string}]`]: undefined;
|
|
364
|
+
[x: `uint72[${string}]`]: undefined;
|
|
365
|
+
[x: `uint80[${string}]`]: undefined;
|
|
366
|
+
[x: `uint88[${string}]`]: undefined;
|
|
367
|
+
[x: `uint8[${string}]`]: undefined;
|
|
368
|
+
[x: `uint96[${string}]`]: undefined;
|
|
369
|
+
[x: `uint[${string}]`]: undefined;
|
|
370
|
+
address?: undefined;
|
|
371
|
+
bool?: undefined;
|
|
372
|
+
bytes?: undefined;
|
|
373
|
+
bytes1?: undefined;
|
|
374
|
+
bytes10?: undefined;
|
|
375
|
+
bytes11?: undefined;
|
|
376
|
+
bytes12?: undefined;
|
|
377
|
+
bytes13?: undefined;
|
|
378
|
+
bytes14?: undefined;
|
|
379
|
+
bytes15?: undefined;
|
|
380
|
+
bytes16?: undefined;
|
|
381
|
+
bytes17?: undefined;
|
|
382
|
+
bytes18?: undefined;
|
|
383
|
+
bytes19?: undefined;
|
|
384
|
+
bytes2?: undefined;
|
|
385
|
+
bytes20?: undefined;
|
|
386
|
+
bytes21?: undefined;
|
|
387
|
+
bytes22?: undefined;
|
|
388
|
+
bytes23?: undefined;
|
|
389
|
+
bytes24?: undefined;
|
|
390
|
+
bytes25?: undefined;
|
|
391
|
+
bytes26?: undefined;
|
|
392
|
+
bytes27?: undefined;
|
|
393
|
+
bytes28?: undefined;
|
|
394
|
+
bytes29?: undefined;
|
|
395
|
+
bytes3?: undefined;
|
|
396
|
+
bytes30?: undefined;
|
|
397
|
+
bytes31?: undefined;
|
|
398
|
+
bytes32?: undefined;
|
|
399
|
+
bytes4?: undefined;
|
|
400
|
+
bytes5?: undefined;
|
|
401
|
+
bytes6?: undefined;
|
|
402
|
+
bytes7?: undefined;
|
|
403
|
+
bytes8?: undefined;
|
|
404
|
+
bytes9?: undefined;
|
|
405
|
+
int104?: undefined;
|
|
406
|
+
int112?: undefined;
|
|
407
|
+
int120?: undefined;
|
|
408
|
+
int128?: undefined;
|
|
409
|
+
int136?: undefined;
|
|
410
|
+
int144?: undefined;
|
|
411
|
+
int152?: undefined;
|
|
412
|
+
int16?: undefined;
|
|
413
|
+
int160?: undefined;
|
|
414
|
+
int168?: undefined;
|
|
415
|
+
int176?: undefined;
|
|
416
|
+
int184?: undefined;
|
|
417
|
+
int192?: undefined;
|
|
418
|
+
int200?: undefined;
|
|
419
|
+
int208?: undefined;
|
|
420
|
+
int216?: undefined;
|
|
421
|
+
int224?: undefined;
|
|
422
|
+
int232?: undefined;
|
|
423
|
+
int24?: undefined;
|
|
424
|
+
int240?: undefined;
|
|
425
|
+
int248?: undefined;
|
|
426
|
+
int256?: undefined;
|
|
427
|
+
int32?: undefined;
|
|
428
|
+
int40?: undefined;
|
|
429
|
+
int48?: undefined;
|
|
430
|
+
int56?: undefined;
|
|
431
|
+
int64?: undefined;
|
|
432
|
+
int72?: undefined;
|
|
433
|
+
int8?: undefined;
|
|
434
|
+
int80?: undefined;
|
|
435
|
+
int88?: undefined;
|
|
436
|
+
int96?: undefined;
|
|
437
|
+
string?: undefined;
|
|
438
|
+
uint104?: undefined;
|
|
439
|
+
uint112?: undefined;
|
|
440
|
+
uint120?: undefined;
|
|
441
|
+
uint128?: undefined;
|
|
442
|
+
uint136?: undefined;
|
|
443
|
+
uint144?: undefined;
|
|
444
|
+
uint152?: undefined;
|
|
445
|
+
uint16?: undefined;
|
|
446
|
+
uint160?: undefined;
|
|
447
|
+
uint168?: undefined;
|
|
448
|
+
uint176?: undefined;
|
|
449
|
+
uint184?: undefined;
|
|
450
|
+
uint192?: undefined;
|
|
451
|
+
uint200?: undefined;
|
|
452
|
+
uint208?: undefined;
|
|
453
|
+
uint216?: undefined;
|
|
454
|
+
uint224?: undefined;
|
|
455
|
+
uint232?: undefined;
|
|
456
|
+
uint24?: undefined;
|
|
457
|
+
uint240?: undefined;
|
|
458
|
+
uint248?: undefined;
|
|
459
|
+
uint256?: undefined;
|
|
460
|
+
uint32?: undefined;
|
|
461
|
+
uint40?: undefined;
|
|
462
|
+
uint48?: undefined;
|
|
463
|
+
uint56?: undefined;
|
|
464
|
+
uint64?: undefined;
|
|
465
|
+
uint72?: undefined;
|
|
466
|
+
uint8?: undefined;
|
|
467
|
+
uint80?: undefined;
|
|
468
|
+
uint88?: undefined;
|
|
469
|
+
uint96?: undefined;
|
|
470
|
+
}, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
|
|
471
|
+
publicKey: `0x${string}`;
|
|
472
|
+
source: "privateKey";
|
|
473
|
+
type: "local";
|
|
474
|
+
}, logger: Logger, args?: Partial<DeployL1ContractsArgs>, chain?: Chain) => Promise<DeployL1ContractsReturnType>;
|
|
23
475
|
/**
|
|
24
|
-
* Sets up Private eXecution Environment (PXE).
|
|
476
|
+
* Sets up Private eXecution Environment (PXE) and returns the corresponding test wallet.
|
|
25
477
|
* @param aztecNode - An instance of Aztec Node.
|
|
26
|
-
* @param opts - Partial configuration for the PXE
|
|
27
|
-
* @param firstPrivKey - The private key of the first account to be created.
|
|
478
|
+
* @param opts - Partial configuration for the PXE.
|
|
28
479
|
* @param logger - The logger to be used.
|
|
29
480
|
* @param useLogSuffix - Whether to add a randomly generated suffix to the PXE debug logs.
|
|
30
|
-
* @
|
|
31
|
-
* @returns Private eXecution Environment (PXE), accounts, wallets and logger.
|
|
481
|
+
* @returns A test wallet, logger and teardown function.
|
|
32
482
|
*/
|
|
33
|
-
export declare function
|
|
483
|
+
export declare function setupPXEAndGetWallet(aztecNode: AztecNode, opts?: Partial<PXEConfig>, logger?: Logger, useLogSuffix?: boolean): Promise<{
|
|
34
484
|
/**
|
|
35
|
-
* The
|
|
485
|
+
* The wallet instance.
|
|
36
486
|
*/
|
|
37
|
-
|
|
487
|
+
wallet: TestWallet;
|
|
38
488
|
/**
|
|
39
489
|
* Logger instance named as the current test.
|
|
40
490
|
*/
|
|
@@ -63,7 +513,9 @@ export type SetupOptions = {
|
|
|
63
513
|
/** Salt to use in L1 contract deployment */
|
|
64
514
|
salt?: number;
|
|
65
515
|
/** An initial set of validators */
|
|
66
|
-
initialValidators?:
|
|
516
|
+
initialValidators?: (Operator & {
|
|
517
|
+
privateKey: `0x${string}`;
|
|
518
|
+
})[];
|
|
67
519
|
/** Anvil Start time */
|
|
68
520
|
l1StartTime?: number;
|
|
69
521
|
/** The anvil time where we should at the earliest be seeing L2 blocks */
|
|
@@ -78,31 +530,47 @@ export type SetupOptions = {
|
|
|
78
530
|
};
|
|
79
531
|
/** Public data that will be inserted in the tree in genesis */
|
|
80
532
|
genesisPublicData?: PublicDataTreeLeaf[];
|
|
533
|
+
/** Specific config for the prover node, if set. */
|
|
534
|
+
proverNodeConfig?: Partial<ProverNodeConfig>;
|
|
535
|
+
/** Whether to use a mock gossip sub network for p2p clients. */
|
|
536
|
+
mockGossipSubNetwork?: boolean;
|
|
537
|
+
/** Whether to disable the anvil test watcher (can still be manually started) */
|
|
538
|
+
disableAnvilTestWatcher?: boolean;
|
|
539
|
+
/** Whether to enable anvil automine during deployment of L1 contracts (consider defaulting this to true). */
|
|
540
|
+
automineL1Setup?: boolean;
|
|
541
|
+
/** How many accounts to seed and unlock in anvil. */
|
|
542
|
+
anvilAccounts?: number;
|
|
543
|
+
/** Port to start anvil (defaults to 8545) */
|
|
544
|
+
anvilPort?: number;
|
|
545
|
+
/** Key to use for publishing L1 contracts */
|
|
546
|
+
l1PublisherKey?: SecretValue<`0x${string}`>;
|
|
81
547
|
} & Partial<AztecNodeConfig>;
|
|
82
548
|
/** Context for an end-to-end test as returned by the `setup` function */
|
|
83
549
|
export type EndToEndContext = {
|
|
84
550
|
/** The Aztec Node service or client a connected to it. */
|
|
85
551
|
aztecNode: AztecNode;
|
|
552
|
+
/** Client to the Aztec Node admin interface (undefined if connected to remote environment) */
|
|
553
|
+
aztecNodeAdmin?: AztecNodeAdmin;
|
|
86
554
|
/** The prover node service (only set if startProverNode is true) */
|
|
87
555
|
proverNode: ProverNode | undefined;
|
|
88
556
|
/** A client to the sequencer service (undefined if connected to remote environment) */
|
|
89
557
|
sequencer: SequencerClient | undefined;
|
|
90
|
-
/** The Private eXecution Environment (PXE). */
|
|
91
|
-
pxe: PXE;
|
|
92
558
|
/** Return values from deployL1Contracts function. */
|
|
93
559
|
deployL1ContractsValues: DeployL1ContractsReturnType;
|
|
94
560
|
/** The Aztec Node configuration. */
|
|
95
561
|
config: AztecNodeConfig;
|
|
96
562
|
/** The data for the initial funded accounts. */
|
|
97
563
|
initialFundedAccounts: InitialAccountData[];
|
|
98
|
-
/** The
|
|
99
|
-
wallet:
|
|
564
|
+
/** The wallet to be used. */
|
|
565
|
+
wallet: TestWallet;
|
|
100
566
|
/** The wallets to be used. */
|
|
101
|
-
|
|
567
|
+
accounts: AztecAddress[];
|
|
102
568
|
/** Logger instance named as the current test. */
|
|
103
569
|
logger: Logger;
|
|
104
570
|
/** The cheat codes. */
|
|
105
571
|
cheatCodes: CheatCodes;
|
|
572
|
+
/** The cheat codes for L1 */
|
|
573
|
+
ethCheatCodes: EthCheatCodes;
|
|
106
574
|
/** The anvil test watcher (undefined if connected to remote environment) */
|
|
107
575
|
watcher: AnvilTestWatcher | undefined;
|
|
108
576
|
/** Allows tweaking current system time, used by the epoch cache only (undefined if connected to remote environment) */
|
|
@@ -111,6 +579,10 @@ export type EndToEndContext = {
|
|
|
111
579
|
blobSink: BlobSinkServer | undefined;
|
|
112
580
|
/** Telemetry client */
|
|
113
581
|
telemetryClient: TelemetryClient | undefined;
|
|
582
|
+
/** Mock gossip sub network used for gossipping messages (only if mockGossipSubNetwork was set to true in opts) */
|
|
583
|
+
mockGossipSubNetwork: MockGossipSubNetwork | undefined;
|
|
584
|
+
/** Prefilled public data used for setting up nodes. */
|
|
585
|
+
prefilledPublicData: PublicDataTreeLeaf[] | undefined;
|
|
114
586
|
/** Function to stop the started services. */
|
|
115
587
|
teardown: () => Promise<void>;
|
|
116
588
|
};
|
|
@@ -120,36 +592,48 @@ export type EndToEndContext = {
|
|
|
120
592
|
* @param opts - Options to pass to the node initialization and to the setup script.
|
|
121
593
|
* @param pxeOpts - Options to pass to the PXE initialization.
|
|
122
594
|
*/
|
|
123
|
-
export declare function setup(numberOfAccounts?: number, opts?: SetupOptions, pxeOpts?: Partial<
|
|
595
|
+
export declare function setup(numberOfAccounts?: number, opts?: SetupOptions, pxeOpts?: Partial<PXEConfig>, chain?: Chain): Promise<EndToEndContext>;
|
|
124
596
|
/**
|
|
125
597
|
* Registers the contract class used for test accounts and publicly deploys the instances requested.
|
|
126
598
|
* Use this when you need to make a public call to an account contract, such as for requesting a public authwit.
|
|
127
599
|
* @param sender - Wallet to send the deployment tx.
|
|
128
600
|
* @param accountsToDeploy - Which accounts to publicly deploy.
|
|
129
601
|
*/
|
|
130
|
-
export declare function
|
|
131
|
-
/**
|
|
132
|
-
* Sets the timestamp of the next block.
|
|
133
|
-
* @param rpcUrl - rpc url of the blockchain instance to connect to
|
|
134
|
-
* @param timestamp - the timestamp for the next block
|
|
135
|
-
*/
|
|
136
|
-
export declare function setNextBlockTimestamp(rpcUrl: string, timestamp: number): Promise<void>;
|
|
602
|
+
export declare function ensureAccountContractsPublished(wallet: Wallet, accountsToDeploy: AztecAddress[]): Promise<void>;
|
|
137
603
|
/**
|
|
138
604
|
* Returns a logger instance for the current test.
|
|
139
605
|
* @returns a logger instance for the current test.
|
|
140
606
|
*/
|
|
141
607
|
export declare function getLogger(): Logger;
|
|
142
608
|
export type BalancesFn = ReturnType<typeof getBalancesFn>;
|
|
143
|
-
export declare function getBalancesFn(symbol: string, method: ContractMethod, logger: any): (...addresses: (AztecAddress | {
|
|
609
|
+
export declare function getBalancesFn(symbol: string, method: ContractMethod, from: AztecAddress, logger: any): (...addresses: (AztecAddress | {
|
|
144
610
|
address: AztecAddress;
|
|
145
611
|
})[]) => Promise<bigint[]>;
|
|
146
612
|
export declare function expectMapping<K, V>(fn: (...k: K[]) => Promise<V[]>, inputs: K[], expectedOutputs: V[]): Promise<void>;
|
|
147
613
|
export declare function expectMappingDelta<K, V extends number | bigint>(initialValues: V[], fn: (...k: K[]) => Promise<V[]>, inputs: K[], expectedDiffs: V[]): Promise<void>;
|
|
148
614
|
/**
|
|
149
|
-
*
|
|
615
|
+
* Computes the address of the "canonical" SponsoredFPCContract. This is not a protocol contract
|
|
616
|
+
* but by conventions its address is computed with a salt of 0.
|
|
617
|
+
* @returns The address of the sponsored FPC contract
|
|
618
|
+
*/
|
|
619
|
+
export declare function getSponsoredFPCInstance(): Promise<ContractInstanceWithAddress>;
|
|
620
|
+
/**
|
|
621
|
+
* Computes the address of the "canonical" SponsoredFPCContract. This is not a protocol contract
|
|
622
|
+
* but by conventions its address is computed with a salt of 0.
|
|
623
|
+
* @returns The address of the sponsored FPC contract
|
|
624
|
+
*/
|
|
625
|
+
export declare function getSponsoredFPCAddress(): Promise<AztecAddress>;
|
|
626
|
+
/**
|
|
627
|
+
* Deploy a sponsored FPC contract to a running instance.
|
|
628
|
+
*/
|
|
629
|
+
export declare function setupSponsoredFPC(wallet: Wallet): Promise<ContractInstanceWithAddress>;
|
|
630
|
+
/**
|
|
631
|
+
* Registers the SponsoredFPC in this PXE instance
|
|
632
|
+
* @param wallet - The wallet
|
|
150
633
|
*/
|
|
151
|
-
export declare function
|
|
634
|
+
export declare function registerSponsoredFPC(wallet: Wallet): Promise<void>;
|
|
152
635
|
export declare function waitForProvenChain(node: AztecNode, targetBlock?: number, timeoutSec?: number, intervalSec?: number): Promise<void>;
|
|
153
|
-
export declare function createAndSyncProverNode(proverNodePrivateKey: `0x${string}`, aztecNodeConfig: AztecNodeConfig,
|
|
154
|
-
|
|
155
|
-
|
|
636
|
+
export declare function createAndSyncProverNode(proverNodePrivateKey: `0x${string}`, aztecNodeConfig: AztecNodeConfig, proverNodeConfig: Partial<ProverNodeConfig> & Pick<DataStoreConfig, 'dataDirectory'> & {
|
|
637
|
+
dontStart?: boolean;
|
|
638
|
+
}, aztecNode: AztecNode | undefined, prefilledPublicData?: PublicDataTreeLeaf[], proverNodeDeps?: ProverNodeDeps): Promise<ProverNode>;
|
|
639
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBdUQsTUFBTSx5QkFBeUIsQ0FBQztBQUV2SCxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNDLE1BQU0sbUJBQW1CLENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBYSxLQUFLLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQXNDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUYsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBd0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRixPQUFPLEVBQ0wsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSywyQkFBMkIsRUFHaEMsS0FBSyxRQUFRLEVBT2QsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBRUwsYUFBYSxFQUdiLFVBQVUsRUFDWCxNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFLOUMsT0FBTyxFQUFnQixnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTlELE9BQU8sRUFBRSxvQkFBb0IsRUFBa0Ms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
|