@aztec/end-to-end 3.0.0-nightly.20250922 → 3.0.0-nightly.20250924
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/client_flows_benchmark.d.ts +0 -1
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +5 -9
- package/dest/bench/utils.d.ts +1 -10
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +0 -25
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +1 -2
- 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 +1 -3
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +1 -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 -9
- package/dest/e2e_deploy_contract/deploy_test.d.ts +3 -3
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_deploy_contract/deploy_test.js +2 -3
- package/dest/e2e_fees/fees_test.d.ts +1 -2
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +5 -9
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -2
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +1 -3
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +2 -4
- package/dest/e2e_p2p/shared.d.ts +5 -4
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +26 -14
- package/dest/fixtures/e2e_prover_test.d.ts +0 -2
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +6 -9
- package/dest/fixtures/snapshot_manager.d.ts +0 -2
- package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
- package/dest/fixtures/snapshot_manager.js +9 -11
- package/dest/fixtures/utils.d.ts +12 -20
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +24 -42
- package/dest/shared/cross_chain_test_harness.d.ts +2 -6
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +3 -5
- package/dest/shared/gas_portal_test_harness.d.ts +5 -6
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +5 -5
- package/dest/shared/uniswap_l1_l2.d.ts +1 -3
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +3 -4
- package/dest/spartan/setup_test_wallets.d.ts +5 -5
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +19 -14
- package/package.json +37 -37
- package/src/bench/client_flows/client_flows_benchmark.ts +4 -8
- package/src/bench/utils.ts +1 -28
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +1 -4
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +5 -9
- package/src/e2e_deploy_contract/deploy_test.ts +4 -5
- package/src/e2e_fees/fees_test.ts +6 -9
- package/src/e2e_nested_contract/nested_contract_test.ts +2 -4
- package/src/e2e_p2p/p2p_network.ts +54 -60
- package/src/e2e_p2p/shared.ts +27 -15
- package/src/fixtures/e2e_prover_test.ts +7 -12
- package/src/fixtures/snapshot_manager.ts +12 -14
- package/src/fixtures/utils.ts +27 -53
- package/src/shared/cross_chain_test_harness.ts +0 -5
- package/src/shared/gas_portal_test_harness.ts +4 -6
- package/src/shared/uniswap_l1_l2.ts +1 -7
- package/src/spartan/setup_test_wallets.ts +13 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,UAAU,EACV,KAAK,QAAQ,EACb,EAAE,EAGF,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,MAAM,EACX,KAAK,
|
|
1
|
+
{"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,7 +75,6 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
75
75
|
* shared between cross chain tests.
|
|
76
76
|
*/ export class CrossChainTestHarness {
|
|
77
77
|
aztecNode;
|
|
78
|
-
pxeService;
|
|
79
78
|
logger;
|
|
80
79
|
l2Token;
|
|
81
80
|
l2Bridge;
|
|
@@ -86,20 +85,19 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
86
85
|
l1ContractAddresses;
|
|
87
86
|
wallet;
|
|
88
87
|
ownerAddress;
|
|
89
|
-
static async new(aztecNode,
|
|
88
|
+
static async new(aztecNode, l1Client, wallet, ownerAddress, logger, underlyingERC20Address) {
|
|
90
89
|
const ethAccount = EthAddress.fromString((await l1Client.getAddresses())[0]);
|
|
91
90
|
const l1ContractAddresses = (await aztecNode.getNodeInfo()).l1ContractAddresses;
|
|
92
91
|
// Deploy and initialize all required contracts
|
|
93
92
|
logger.info('Deploying and initializing token, portal and its bridge...');
|
|
94
93
|
const { token, bridge, tokenPortalAddress, underlyingERC20 } = await deployAndInitializeTokenAndBridgeContracts(wallet, l1Client, l1ContractAddresses.registryAddress, ownerAddress, underlyingERC20Address);
|
|
95
94
|
logger.info('Deployed and initialized token, portal and its bridge.');
|
|
96
|
-
return new CrossChainTestHarness(aztecNode,
|
|
95
|
+
return new CrossChainTestHarness(aztecNode, logger, token, bridge, ethAccount, tokenPortalAddress, underlyingERC20.address, l1Client, l1ContractAddresses, wallet, ownerAddress);
|
|
97
96
|
}
|
|
98
97
|
l1TokenManager;
|
|
99
98
|
l1TokenPortalManager;
|
|
100
|
-
constructor(/** Aztec node instance. */ aztecNode, /**
|
|
99
|
+
constructor(/** Aztec node instance. */ aztecNode, /** Logger. */ logger, /** L2 Token contract. */ l2Token, /** L2 Token bridge contract. */ l2Bridge, /** Eth account to interact with. */ ethAccount, /** Portal address. */ tokenPortalAddress, /** Underlying token for portal tests. */ underlyingERC20Address, /** Viem Extended client instance. */ l1Client, /** Deployment addresses for all L1 contracts */ l1ContractAddresses, /** Wallet to simulate and send txs from. */ wallet, /** Owner of the l2 token and bridge */ ownerAddress){
|
|
101
100
|
this.aztecNode = aztecNode;
|
|
102
|
-
this.pxeService = pxeService;
|
|
103
101
|
this.logger = logger;
|
|
104
102
|
this.l2Token = l2Token;
|
|
105
103
|
this.l2Bridge = l2Bridge;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AztecAddress, type AztecNode, EthAddress, L1FeeJuicePortalManager, type L1TokenManager, type L2AmountClaim, type Logger, type
|
|
1
|
+
import { AztecAddress, type AztecNode, EthAddress, L1FeeJuicePortalManager, type L1TokenManager, type L2AmountClaim, type Logger, type Wallet } from '@aztec/aztec.js';
|
|
2
2
|
import type { ExtendedViemWalletClient } from '@aztec/ethereum';
|
|
3
3
|
import { FeeJuiceContract } from '@aztec/noir-contracts.js/FeeJuice';
|
|
4
4
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
@@ -12,7 +12,6 @@ export interface IGasBridgingTestHarness {
|
|
|
12
12
|
export interface FeeJuicePortalTestingHarnessFactoryConfig {
|
|
13
13
|
aztecNode: AztecNode;
|
|
14
14
|
aztecNodeAdmin?: AztecNodeAdmin;
|
|
15
|
-
pxeService: PXE;
|
|
16
15
|
l1Client: ExtendedViemWalletClient;
|
|
17
16
|
wallet: Wallet;
|
|
18
17
|
logger: Logger;
|
|
@@ -33,8 +32,8 @@ export declare class GasBridgingTestHarness implements IGasBridgingTestHarness {
|
|
|
33
32
|
aztecNode: AztecNode;
|
|
34
33
|
/** Aztec node admin interface */
|
|
35
34
|
aztecNodeAdmin: AztecNodeAdmin | undefined;
|
|
36
|
-
/**
|
|
37
|
-
|
|
35
|
+
/** Wallet. */
|
|
36
|
+
wallet: Wallet;
|
|
38
37
|
/** Logger. */
|
|
39
38
|
logger: Logger;
|
|
40
39
|
/** L2 Token/Bridge contract. */
|
|
@@ -56,8 +55,8 @@ export declare class GasBridgingTestHarness implements IGasBridgingTestHarness {
|
|
|
56
55
|
aztecNode: AztecNode,
|
|
57
56
|
/** Aztec node admin interface */
|
|
58
57
|
aztecNodeAdmin: AztecNodeAdmin | undefined,
|
|
59
|
-
/**
|
|
60
|
-
|
|
58
|
+
/** Wallet. */
|
|
59
|
+
wallet: Wallet,
|
|
61
60
|
/** Logger. */
|
|
62
61
|
logger: Logger,
|
|
63
62
|
/** L2 Token/Bridge contract. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas_portal_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/gas_portal_test_harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EACd,UAAU,EAEV,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,
|
|
1
|
+
{"version":3,"file":"gas_portal_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/gas_portal_test_harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export class FeeJuicePortalTestingHarnessFactory {
|
|
|
7
7
|
this.config = config;
|
|
8
8
|
}
|
|
9
9
|
async createReal() {
|
|
10
|
-
const { aztecNode, aztecNodeAdmin,
|
|
10
|
+
const { aztecNode, aztecNodeAdmin, l1Client, wallet, logger } = this.config;
|
|
11
11
|
const ethAccount = EthAddress.fromString((await l1Client.getAddresses())[0]);
|
|
12
12
|
const l1ContractAddresses = (await aztecNode.getNodeInfo()).l1ContractAddresses;
|
|
13
13
|
const feeJuiceAddress = l1ContractAddresses.feeJuiceAddress;
|
|
@@ -16,7 +16,7 @@ export class FeeJuicePortalTestingHarnessFactory {
|
|
|
16
16
|
throw new Error('Fee Juice portal not deployed on L1');
|
|
17
17
|
}
|
|
18
18
|
const gasL2 = await FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, wallet);
|
|
19
|
-
return new GasBridgingTestHarness(aztecNode, aztecNodeAdmin,
|
|
19
|
+
return new GasBridgingTestHarness(aztecNode, aztecNodeAdmin, wallet, logger, gasL2, ethAccount, feeJuicePortalAddress, feeJuiceAddress, l1ContractAddresses.feeAssetHandlerAddress, l1Client);
|
|
20
20
|
}
|
|
21
21
|
static create(config) {
|
|
22
22
|
const factory = new FeeJuicePortalTestingHarnessFactory(config);
|
|
@@ -29,7 +29,7 @@ export class FeeJuicePortalTestingHarnessFactory {
|
|
|
29
29
|
*/ export class GasBridgingTestHarness {
|
|
30
30
|
aztecNode;
|
|
31
31
|
aztecNodeAdmin;
|
|
32
|
-
|
|
32
|
+
wallet;
|
|
33
33
|
logger;
|
|
34
34
|
feeJuice;
|
|
35
35
|
ethAccount;
|
|
@@ -39,10 +39,10 @@ export class FeeJuicePortalTestingHarnessFactory {
|
|
|
39
39
|
l1Client;
|
|
40
40
|
l1TokenManager;
|
|
41
41
|
feeJuicePortalManager;
|
|
42
|
-
constructor(/** Aztec node */ aztecNode, /** Aztec node admin interface */ aztecNodeAdmin, /**
|
|
42
|
+
constructor(/** Aztec node */ aztecNode, /** Aztec node admin interface */ aztecNodeAdmin, /** Wallet. */ wallet, /** Logger. */ logger, /** L2 Token/Bridge contract. */ feeJuice, /** Eth account to interact with. */ ethAccount, /** Portal address. */ feeJuicePortalAddress, /** Underlying token for portal tests. */ l1FeeJuiceAddress, /** Fee asset handler address. */ feeAssetHandlerAddress, /** Viem Extended client instance. */ l1Client){
|
|
43
43
|
this.aztecNode = aztecNode;
|
|
44
44
|
this.aztecNodeAdmin = aztecNodeAdmin;
|
|
45
|
-
this.
|
|
45
|
+
this.wallet = wallet;
|
|
46
46
|
this.logger = logger;
|
|
47
47
|
this.feeJuice = feeJuice;
|
|
48
48
|
this.ethAccount = ethAccount;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AztecAddress, type AztecNode, type Logger
|
|
1
|
+
import { AztecAddress, type AztecNode, type Logger } from '@aztec/aztec.js';
|
|
2
2
|
import { CheatCodes } from '@aztec/aztec/testing';
|
|
3
3
|
import { type DeployL1ContractsReturnType, type ExtendedViemWalletClient } from '@aztec/ethereum';
|
|
4
4
|
import type { TestWallet } from '@aztec/test-wallet';
|
|
@@ -6,8 +6,6 @@ import type { TestWallet } from '@aztec/test-wallet';
|
|
|
6
6
|
export type UniswapSetupContext = {
|
|
7
7
|
/** Aztec Node instance */
|
|
8
8
|
aztecNode: AztecNode;
|
|
9
|
-
/** The Private eXecution Environment (PXE). */
|
|
10
|
-
pxe: PXE;
|
|
11
9
|
/** Logger instance named as the current test. */
|
|
12
10
|
logger: Logger;
|
|
13
11
|
/** The L1 wallet client, extended with public actions. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EAGd,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EAGd,KAAK,MAAM,EAGZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAI9B,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAkBrD,2DAA2D;AAC3D,MAAM,MAAM,mBAAmB,GAAG;IAChC,0BAA0B;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,wBAAwB,CAAC;IACnC,kBAAkB;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,yBAAyB;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,0BAA0B;IAC1B,cAAc,EAAE,YAAY,CAAC;IAC7B,OAAO;IACP,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,4BAA4B;IAC5B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,OAAO,CAAC,mBAAmB,CAAC,EACzC,SAAS,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,gCAAkC,SAi+BnC,CAAC"}
|
|
@@ -25,7 +25,6 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
25
25
|
const WETH9_ADDRESS = EthAddress.fromString('0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2');
|
|
26
26
|
const DAI_ADDRESS = EthAddress.fromString('0x6B175474E89094C44Da98b954EedeAC495271d0F');
|
|
27
27
|
let aztecNode;
|
|
28
|
-
let pxe;
|
|
29
28
|
let logger;
|
|
30
29
|
let l1Client;
|
|
31
30
|
let wallet;
|
|
@@ -46,7 +45,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
46
45
|
let cheatCodes;
|
|
47
46
|
let version;
|
|
48
47
|
beforeAll(async ()=>{
|
|
49
|
-
({ aztecNode,
|
|
48
|
+
({ aztecNode, logger, l1Client, wallet, ownerAddress, sponsorAddress, deployL1ContractsValues, cheatCodes } = await setup());
|
|
50
49
|
if (Number(await l1Client.getBlockNumber()) < expectedForkBlockNumber) {
|
|
51
50
|
throw new Error('This test must be run on a fork of mainnet with the expected fork block');
|
|
52
51
|
}
|
|
@@ -58,9 +57,9 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
58
57
|
sponsorAddress
|
|
59
58
|
]);
|
|
60
59
|
logger.info('Deploying DAI Portal, initializing and deploying l2 contract...');
|
|
61
|
-
daiCrossChainHarness = await CrossChainTestHarness.new(aztecNode,
|
|
60
|
+
daiCrossChainHarness = await CrossChainTestHarness.new(aztecNode, deployL1ContractsValues.l1Client, wallet, ownerAddress, logger, DAI_ADDRESS);
|
|
62
61
|
logger.info('Deploying WETH Portal, initializing and deploying l2 contract...');
|
|
63
|
-
wethCrossChainHarness = await CrossChainTestHarness.new(aztecNode,
|
|
62
|
+
wethCrossChainHarness = await CrossChainTestHarness.new(aztecNode, l1Client, wallet, ownerAddress, logger, WETH9_ADDRESS);
|
|
64
63
|
logger.info('Deploy Uniswap portal on L1 and L2...');
|
|
65
64
|
uniswapPortalAddress = await deployL1Contract(l1Client, UniswapPortalAbi, UniswapPortalBytecode).then(({ address })=>address);
|
|
66
65
|
uniswapPortal = getContract({
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { type AztecAddress, type AztecNode, type FeePaymentMethod
|
|
1
|
+
import { type AztecAddress, type AztecNode, type FeePaymentMethod } from '@aztec/aztec.js';
|
|
2
2
|
import type { Logger } from '@aztec/foundation/log';
|
|
3
3
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
4
4
|
import { TestWallet } from '@aztec/test-wallet';
|
|
5
5
|
export interface TestAccounts {
|
|
6
|
-
pxe: PXE;
|
|
7
6
|
aztecNode: AztecNode;
|
|
8
7
|
wallet: TestWallet;
|
|
9
8
|
accounts: AztecAddress[];
|
|
@@ -14,7 +13,7 @@ export interface TestAccounts {
|
|
|
14
13
|
tokenAddress: AztecAddress;
|
|
15
14
|
}
|
|
16
15
|
export declare function setupTestAccountsWithTokens(pxeUrl: string, nodeUrl: string, mintAmount: bigint, logger: Logger): Promise<TestAccounts>;
|
|
17
|
-
export declare function deploySponsoredTestAccounts(
|
|
16
|
+
export declare function deploySponsoredTestAccounts(wallet: TestWallet, aztecNode: AztecNode, mintAmount: bigint, logger: Logger, numberOfFundedWallets?: number): Promise<TestAccounts>;
|
|
18
17
|
export declare function deployTestAccountsWithTokens(pxeUrl: string, nodeUrl: string, l1RpcUrls: string[], mnemonicOrPrivateKey: string, mintAmount: bigint, logger: Logger, numberOfFundedWallets?: number): Promise<TestAccounts>;
|
|
19
18
|
export declare function performTransfers({ testAccounts, rounds, transferAmount, logger, feePaymentMethod, }: {
|
|
20
19
|
testAccounts: TestAccounts;
|
|
@@ -23,8 +22,9 @@ export declare function performTransfers({ testAccounts, rounds, transferAmount,
|
|
|
23
22
|
logger: Logger;
|
|
24
23
|
feePaymentMethod?: FeePaymentMethod;
|
|
25
24
|
}): Promise<void>;
|
|
26
|
-
export declare function
|
|
27
|
-
|
|
25
|
+
export declare function createWalletAndAztecNodeClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<{
|
|
26
|
+
wallet: TestWallet;
|
|
27
|
+
aztecNode: AztecNode;
|
|
28
28
|
cleanup: () => Promise<void>;
|
|
29
29
|
}>;
|
|
30
30
|
//# sourceMappingURL=setup_test_wallets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,gBAAgB,EAQtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMhD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAMD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CA8BvB;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CAqCvB;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CAiDvB;AA+ED,wBAAsB,gBAAgB,CAAC,EACrC,YAAY,EACZ,MAAM,EACN,cAAc,EACd,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,iBAiBA;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAqBrF"}
|
|
@@ -15,12 +15,11 @@ export async function setupTestAccountsWithTokens(pxeUrl, nodeUrl, mintAmount, l
|
|
|
15
15
|
const pxe = await createCompatibleClient(pxeUrl, logger);
|
|
16
16
|
const aztecNode = createAztecNodeClient(nodeUrl);
|
|
17
17
|
const wallet = new TestWallet(pxe, aztecNode);
|
|
18
|
-
const [recipientAccount, ...accounts] = (await getDeployedTestAccounts(
|
|
18
|
+
const [recipientAccount, ...accounts] = (await getDeployedTestAccounts(wallet)).slice(0, ACCOUNT_COUNT + 1);
|
|
19
19
|
const tokenAdmin = accounts[0];
|
|
20
20
|
const tokenAddress = await deployTokenAndMint(wallet, accounts.map((acc)=>acc.address), tokenAdmin.address, mintAmount, undefined, logger);
|
|
21
21
|
const tokenContract = await TokenContract.at(tokenAddress, wallet);
|
|
22
22
|
return {
|
|
23
|
-
pxe,
|
|
24
23
|
aztecNode,
|
|
25
24
|
accounts: accounts.map((acc)=>acc.address),
|
|
26
25
|
wallet,
|
|
@@ -31,15 +30,21 @@ export async function setupTestAccountsWithTokens(pxeUrl, nodeUrl, mintAmount, l
|
|
|
31
30
|
recipientAddress: recipientAccount.address
|
|
32
31
|
};
|
|
33
32
|
}
|
|
34
|
-
export async function deploySponsoredTestAccounts(
|
|
35
|
-
const wallet = new TestWallet(pxe, aztecNode);
|
|
33
|
+
export async function deploySponsoredTestAccounts(wallet, aztecNode, mintAmount, logger, numberOfFundedWallets = 1) {
|
|
36
34
|
const [recipient, ...funded] = await generateSchnorrAccounts(numberOfFundedWallets + 1);
|
|
37
35
|
const recipientAccount = await wallet.createSchnorrAccount(recipient.secret, recipient.salt);
|
|
38
36
|
const fundedAccounts = await Promise.all(funded.map((a)=>wallet.createSchnorrAccount(a.secret, a.salt)));
|
|
39
37
|
await registerSponsoredFPC(wallet);
|
|
38
|
+
const paymentMethod = new SponsoredFeePaymentMethod(await getSponsoredFPCAddress());
|
|
39
|
+
await recipientAccount.deploy({
|
|
40
|
+
fee: {
|
|
41
|
+
paymentMethod
|
|
42
|
+
}
|
|
43
|
+
}).wait({
|
|
44
|
+
timeout: 2400
|
|
45
|
+
});
|
|
40
46
|
await Promise.all(fundedAccounts.map(async (a)=>{
|
|
41
|
-
|
|
42
|
-
await recipientAccount.deploy({
|
|
47
|
+
await a.deploy({
|
|
43
48
|
fee: {
|
|
44
49
|
paymentMethod
|
|
45
50
|
}
|
|
@@ -52,7 +57,6 @@ export async function deploySponsoredTestAccounts(pxe, aztecNode, mintAmount, lo
|
|
|
52
57
|
const tokenAddress = await deployTokenAndMint(wallet, fundedAccounts.map((acc)=>acc.getAddress()), tokenAdmin.getAddress(), mintAmount, new SponsoredFeePaymentMethod(await getSponsoredFPCAddress()), logger);
|
|
53
58
|
const tokenContract = await TokenContract.at(tokenAddress, wallet);
|
|
54
59
|
return {
|
|
55
|
-
pxe,
|
|
56
60
|
aztecNode,
|
|
57
61
|
wallet,
|
|
58
62
|
accounts: fundedAccounts.map((acc)=>acc.getAddress()),
|
|
@@ -70,7 +74,7 @@ export async function deployTestAccountsWithTokens(pxeUrl, nodeUrl, l1RpcUrls, m
|
|
|
70
74
|
const [recipient, ...funded] = await generateSchnorrAccounts(numberOfFundedWallets + 1);
|
|
71
75
|
const recipientAccount = await wallet.createSchnorrAccount(recipient.secret, recipient.salt);
|
|
72
76
|
const fundedAccounts = await Promise.all(funded.map((a)=>wallet.createSchnorrAccount(a.secret, a.salt)));
|
|
73
|
-
const claims = await Promise.all(fundedAccounts.map((a)=>bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey,
|
|
77
|
+
const claims = await Promise.all(fundedAccounts.map((a)=>bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, aztecNode, a.getAddress(), undefined, logger)));
|
|
74
78
|
// Progress by 3 L2 blocks so that the l1ToL2Message added above will be available to use on L2.
|
|
75
79
|
await advanceL2Block(aztecNode);
|
|
76
80
|
await advanceL2Block(aztecNode);
|
|
@@ -88,7 +92,6 @@ export async function deployTestAccountsWithTokens(pxeUrl, nodeUrl, l1RpcUrls, m
|
|
|
88
92
|
const tokenAddress = await deployTokenAndMint(wallet, fundedAccounts.map((acc)=>acc.getAddress()), tokenAdmin.getAddress(), mintAmount, undefined, logger);
|
|
89
93
|
const tokenContract = await TokenContract.at(tokenAddress, wallet);
|
|
90
94
|
return {
|
|
91
|
-
pxe,
|
|
92
95
|
aztecNode,
|
|
93
96
|
wallet,
|
|
94
97
|
accounts: fundedAccounts.map((acc)=>acc.getAddress()),
|
|
@@ -99,7 +102,7 @@ export async function deployTestAccountsWithTokens(pxeUrl, nodeUrl, l1RpcUrls, m
|
|
|
99
102
|
recipientAddress: recipientAccount.getAddress()
|
|
100
103
|
};
|
|
101
104
|
}
|
|
102
|
-
async function bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey,
|
|
105
|
+
async function bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, aztecNode, recipient, amount, log) {
|
|
103
106
|
const { l1ChainId } = await aztecNode.getNodeInfo();
|
|
104
107
|
const chain = createEthereumChain(l1RpcUrls, l1ChainId);
|
|
105
108
|
const l1Client = createExtendedL1Client(chain.rpcUrls, mnemonicOrPrivateKey, chain.chainInfo);
|
|
@@ -169,21 +172,23 @@ export async function performTransfers({ testAccounts, rounds, transferAmount, l
|
|
|
169
172
|
logger.info(`Completed round ${i + 1} / ${rounds}`);
|
|
170
173
|
}
|
|
171
174
|
}
|
|
172
|
-
export async function
|
|
173
|
-
const
|
|
175
|
+
export async function createWalletAndAztecNodeClient(nodeUrl, proverEnabled, logger) {
|
|
176
|
+
const aztecNode = createAztecNodeClient(nodeUrl);
|
|
174
177
|
const [bbConfig, acvmConfig] = await Promise.all([
|
|
175
178
|
getBBConfig(logger),
|
|
176
179
|
getACVMConfig(logger)
|
|
177
180
|
]);
|
|
178
|
-
const pxe = await createPXEService(
|
|
181
|
+
const pxe = await createPXEService(aztecNode, {
|
|
179
182
|
dataDirectory: undefined,
|
|
180
183
|
dataStoreMapSizeKB: 1024 * 1024,
|
|
181
184
|
...bbConfig,
|
|
182
185
|
...acvmConfig,
|
|
183
186
|
proverEnabled
|
|
184
187
|
});
|
|
188
|
+
const wallet = new TestWallet(pxe, aztecNode);
|
|
185
189
|
return {
|
|
186
|
-
|
|
190
|
+
wallet,
|
|
191
|
+
aztecNode,
|
|
187
192
|
async cleanup () {
|
|
188
193
|
await pxe.stop();
|
|
189
194
|
await bbConfig?.cleanup();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20250924",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,42 +25,42 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "3.0.0-nightly.
|
|
29
|
-
"@aztec/archiver": "3.0.0-nightly.
|
|
30
|
-
"@aztec/aztec": "3.0.0-nightly.
|
|
31
|
-
"@aztec/aztec-node": "3.0.0-nightly.
|
|
32
|
-
"@aztec/aztec.js": "3.0.0-nightly.
|
|
33
|
-
"@aztec/bb-prover": "3.0.0-nightly.
|
|
34
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
35
|
-
"@aztec/blob-sink": "3.0.0-nightly.
|
|
36
|
-
"@aztec/bot": "3.0.0-nightly.
|
|
37
|
-
"@aztec/cli": "3.0.0-nightly.
|
|
38
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
39
|
-
"@aztec/entrypoints": "3.0.0-nightly.
|
|
40
|
-
"@aztec/epoch-cache": "3.0.0-nightly.
|
|
41
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
42
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
43
|
-
"@aztec/kv-store": "3.0.0-nightly.
|
|
44
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
45
|
-
"@aztec/merkle-tree": "3.0.0-nightly.
|
|
46
|
-
"@aztec/node-keystore": "3.0.0-nightly.
|
|
47
|
-
"@aztec/noir-contracts.js": "3.0.0-nightly.
|
|
48
|
-
"@aztec/noir-noirc_abi": "3.0.0-nightly.
|
|
49
|
-
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.
|
|
50
|
-
"@aztec/noir-test-contracts.js": "3.0.0-nightly.
|
|
51
|
-
"@aztec/p2p": "3.0.0-nightly.
|
|
52
|
-
"@aztec/protocol-contracts": "3.0.0-nightly.
|
|
53
|
-
"@aztec/prover-client": "3.0.0-nightly.
|
|
54
|
-
"@aztec/prover-node": "3.0.0-nightly.
|
|
55
|
-
"@aztec/pxe": "3.0.0-nightly.
|
|
56
|
-
"@aztec/sequencer-client": "3.0.0-nightly.
|
|
57
|
-
"@aztec/simulator": "3.0.0-nightly.
|
|
58
|
-
"@aztec/slasher": "3.0.0-nightly.
|
|
59
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
60
|
-
"@aztec/telemetry-client": "3.0.0-nightly.
|
|
61
|
-
"@aztec/test-wallet": "3.0.0-nightly.
|
|
62
|
-
"@aztec/validator-client": "3.0.0-nightly.
|
|
63
|
-
"@aztec/world-state": "3.0.0-nightly.
|
|
28
|
+
"@aztec/accounts": "3.0.0-nightly.20250924",
|
|
29
|
+
"@aztec/archiver": "3.0.0-nightly.20250924",
|
|
30
|
+
"@aztec/aztec": "3.0.0-nightly.20250924",
|
|
31
|
+
"@aztec/aztec-node": "3.0.0-nightly.20250924",
|
|
32
|
+
"@aztec/aztec.js": "3.0.0-nightly.20250924",
|
|
33
|
+
"@aztec/bb-prover": "3.0.0-nightly.20250924",
|
|
34
|
+
"@aztec/blob-lib": "3.0.0-nightly.20250924",
|
|
35
|
+
"@aztec/blob-sink": "3.0.0-nightly.20250924",
|
|
36
|
+
"@aztec/bot": "3.0.0-nightly.20250924",
|
|
37
|
+
"@aztec/cli": "3.0.0-nightly.20250924",
|
|
38
|
+
"@aztec/constants": "3.0.0-nightly.20250924",
|
|
39
|
+
"@aztec/entrypoints": "3.0.0-nightly.20250924",
|
|
40
|
+
"@aztec/epoch-cache": "3.0.0-nightly.20250924",
|
|
41
|
+
"@aztec/ethereum": "3.0.0-nightly.20250924",
|
|
42
|
+
"@aztec/foundation": "3.0.0-nightly.20250924",
|
|
43
|
+
"@aztec/kv-store": "3.0.0-nightly.20250924",
|
|
44
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20250924",
|
|
45
|
+
"@aztec/merkle-tree": "3.0.0-nightly.20250924",
|
|
46
|
+
"@aztec/node-keystore": "3.0.0-nightly.20250924",
|
|
47
|
+
"@aztec/noir-contracts.js": "3.0.0-nightly.20250924",
|
|
48
|
+
"@aztec/noir-noirc_abi": "3.0.0-nightly.20250924",
|
|
49
|
+
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20250924",
|
|
50
|
+
"@aztec/noir-test-contracts.js": "3.0.0-nightly.20250924",
|
|
51
|
+
"@aztec/p2p": "3.0.0-nightly.20250924",
|
|
52
|
+
"@aztec/protocol-contracts": "3.0.0-nightly.20250924",
|
|
53
|
+
"@aztec/prover-client": "3.0.0-nightly.20250924",
|
|
54
|
+
"@aztec/prover-node": "3.0.0-nightly.20250924",
|
|
55
|
+
"@aztec/pxe": "3.0.0-nightly.20250924",
|
|
56
|
+
"@aztec/sequencer-client": "3.0.0-nightly.20250924",
|
|
57
|
+
"@aztec/simulator": "3.0.0-nightly.20250924",
|
|
58
|
+
"@aztec/slasher": "3.0.0-nightly.20250924",
|
|
59
|
+
"@aztec/stdlib": "3.0.0-nightly.20250924",
|
|
60
|
+
"@aztec/telemetry-client": "3.0.0-nightly.20250924",
|
|
61
|
+
"@aztec/test-wallet": "3.0.0-nightly.20250924",
|
|
62
|
+
"@aztec/validator-client": "3.0.0-nightly.20250924",
|
|
63
|
+
"@aztec/world-state": "3.0.0-nightly.20250924",
|
|
64
64
|
"@iarna/toml": "^2.2.5",
|
|
65
65
|
"@jest/globals": "^30.0.0",
|
|
66
66
|
"@noble/curves": "=1.0.0",
|
|
@@ -57,7 +57,6 @@ export class ClientFlowsBenchmark {
|
|
|
57
57
|
private snapshotManager: ISnapshotManager;
|
|
58
58
|
|
|
59
59
|
public logger: Logger;
|
|
60
|
-
private pxe!: PXE;
|
|
61
60
|
public aztecNode!: AztecNode;
|
|
62
61
|
public cheatCodes!: CheatCodes;
|
|
63
62
|
public context!: SubsystemsContext;
|
|
@@ -202,12 +201,11 @@ export class ClientFlowsBenchmark {
|
|
|
202
201
|
deployAccounts(2, this.logger),
|
|
203
202
|
async (
|
|
204
203
|
{ deployedAccounts: [{ address: adminAddress }, { address: sequencerAddress }] },
|
|
205
|
-
{ wallet,
|
|
204
|
+
{ wallet, aztecNode, cheatCodes },
|
|
206
205
|
) => {
|
|
207
|
-
this.pxe = pxe;
|
|
208
206
|
this.adminWallet = wallet;
|
|
209
207
|
this.aztecNode = aztecNode;
|
|
210
|
-
this.cheatCodes =
|
|
208
|
+
this.cheatCodes = cheatCodes;
|
|
211
209
|
|
|
212
210
|
this.adminAddress = adminAddress;
|
|
213
211
|
this.sequencerAddress = sequencerAddress;
|
|
@@ -246,7 +244,6 @@ export class ClientFlowsBenchmark {
|
|
|
246
244
|
this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
|
|
247
245
|
aztecNode: context.aztecNode,
|
|
248
246
|
aztecNodeAdmin: context.aztecNode,
|
|
249
|
-
pxeService: context.pxe,
|
|
250
247
|
l1Client: context.deployL1ContractsValues.l1Client,
|
|
251
248
|
wallet: this.adminWallet,
|
|
252
249
|
logger: this.logger,
|
|
@@ -292,7 +289,7 @@ export class ClientFlowsBenchmark {
|
|
|
292
289
|
'fpc_setup',
|
|
293
290
|
async context => {
|
|
294
291
|
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
295
|
-
expect((await context.
|
|
292
|
+
expect((await context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
296
293
|
|
|
297
294
|
const bananaCoin = this.bananaCoin;
|
|
298
295
|
const bananaFPC = await FPCContract.deploy(this.adminWallet, bananaCoin.address, this.adminAddress)
|
|
@@ -315,7 +312,7 @@ export class ClientFlowsBenchmark {
|
|
|
315
312
|
await this.snapshotManager.snapshot(
|
|
316
313
|
'deploy_sponsored_fpc',
|
|
317
314
|
async () => {
|
|
318
|
-
const sponsoredFPC = await setupSponsoredFPC(this.
|
|
315
|
+
const sponsoredFPC = await setupSponsoredFPC(this.adminWallet);
|
|
319
316
|
this.logger.info(`SponsoredFPC at ${sponsoredFPC.address}`);
|
|
320
317
|
return { sponsoredFPCAddress: sponsoredFPC.address };
|
|
321
318
|
},
|
|
@@ -337,7 +334,6 @@ export class ClientFlowsBenchmark {
|
|
|
337
334
|
this.logger.verbose(`Setting up cross chain harness...`);
|
|
338
335
|
const crossChainTestHarness = await CrossChainTestHarness.new(
|
|
339
336
|
this.aztecNode,
|
|
340
|
-
this.pxe,
|
|
341
337
|
l1Client,
|
|
342
338
|
this.adminWallet,
|
|
343
339
|
owner,
|
package/src/bench/utils.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { AztecNodeService } from '@aztec/aztec-node';
|
|
2
|
-
import {
|
|
2
|
+
import { BatchCall, type SentTx, type WaitOpts } from '@aztec/aztec.js';
|
|
3
3
|
import { mean, stdDev, times } from '@aztec/foundation/collection';
|
|
4
4
|
import { BenchmarkingContract } from '@aztec/noir-test-contracts.js/Benchmarking';
|
|
5
|
-
import { type PXEService, type PXEServiceConfig, createPXEService } from '@aztec/pxe/server';
|
|
6
5
|
import type { MetricsType } from '@aztec/telemetry-client';
|
|
7
6
|
import type { BenchmarkDataPoint, BenchmarkMetricsType, BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
|
|
8
7
|
|
|
@@ -150,32 +149,6 @@ export async function waitTxs(txs: SentTx[], context: EndToEndContext, txWaitOpt
|
|
|
150
149
|
context.logger.info(`All ${txs.length} txs have been mined`);
|
|
151
150
|
}
|
|
152
151
|
|
|
153
|
-
/**
|
|
154
|
-
* Creates a new PXE
|
|
155
|
-
* @param node - Node to connect the pxe to.
|
|
156
|
-
* @param contract - Benchmark contract to add to the pxe.
|
|
157
|
-
* @param startingBlock - First l2 block to process.
|
|
158
|
-
* @returns The new PXE.
|
|
159
|
-
*/
|
|
160
|
-
export async function createNewPXE(node: AztecNode, contract: BenchmarkingContract): Promise<PXEService> {
|
|
161
|
-
const l1Contracts = await node.getL1ContractAddresses();
|
|
162
|
-
const { l1ChainId, rollupVersion } = await node.getNodeInfo();
|
|
163
|
-
const pxeConfig = {
|
|
164
|
-
l2BlockBatchSize: 50,
|
|
165
|
-
l2BlockPollingIntervalMS: 100,
|
|
166
|
-
dataDirectory: undefined,
|
|
167
|
-
dataStoreMapSizeKB: 1024 * 1024,
|
|
168
|
-
l1Contracts,
|
|
169
|
-
l1ChainId,
|
|
170
|
-
rollupVersion,
|
|
171
|
-
} as PXEServiceConfig;
|
|
172
|
-
// docs:start:PXEcreate
|
|
173
|
-
const pxe = await createPXEService(node, pxeConfig);
|
|
174
|
-
// docs:end:PXEcreate
|
|
175
|
-
await pxe.registerContract(contract);
|
|
176
|
-
return pxe;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
152
|
function randomBytesAsBigInts(length: number): bigint[] {
|
|
180
153
|
return [...Array(length)].map(_ => BigInt(Math.floor(Math.random() * 255)));
|
|
181
154
|
}
|
|
@@ -3,7 +3,6 @@ import {
|
|
|
3
3
|
type AztecNode,
|
|
4
4
|
Fr,
|
|
5
5
|
type Logger,
|
|
6
|
-
type PXE,
|
|
7
6
|
type TxHash,
|
|
8
7
|
computeSecretHash,
|
|
9
8
|
createLogger,
|
|
@@ -62,7 +61,6 @@ export class BlacklistTokenContractTest {
|
|
|
62
61
|
private snapshotManager: ISnapshotManager;
|
|
63
62
|
logger: Logger;
|
|
64
63
|
wallet!: TestWallet;
|
|
65
|
-
pxe!: PXE;
|
|
66
64
|
asset!: TokenBlacklistContract;
|
|
67
65
|
tokenSim!: TokenSimulator;
|
|
68
66
|
badAccount!: InvalidAccountContract;
|
|
@@ -99,8 +97,7 @@ export class BlacklistTokenContractTest {
|
|
|
99
97
|
await this.snapshotManager.snapshot(
|
|
100
98
|
'3_accounts',
|
|
101
99
|
deployAccounts(3, this.logger),
|
|
102
|
-
({ deployedAccounts }, {
|
|
103
|
-
this.pxe = pxe;
|
|
100
|
+
({ deployedAccounts }, { cheatCodes, aztecNode, sequencer, wallet }) => {
|
|
104
101
|
this.cheatCodes = cheatCodes;
|
|
105
102
|
this.aztecNode = aztecNode;
|
|
106
103
|
this.sequencer = sequencer;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AztecNodeConfig } from '@aztec/aztec-node';
|
|
2
|
-
import { AztecAddress, type AztecNode, EthAddress, type Logger,
|
|
2
|
+
import { AztecAddress, type AztecNode, EthAddress, type Logger, createLogger } from '@aztec/aztec.js';
|
|
3
3
|
import { CheatCodes } from '@aztec/aztec/testing';
|
|
4
4
|
import {
|
|
5
5
|
type DeployL1ContractsArgs,
|
|
@@ -33,7 +33,6 @@ export class CrossChainMessagingTest {
|
|
|
33
33
|
private snapshotManager: ISnapshotManager;
|
|
34
34
|
logger: Logger;
|
|
35
35
|
aztecNode!: AztecNode;
|
|
36
|
-
pxe!: PXE;
|
|
37
36
|
aztecNodeConfig!: AztecNodeConfig;
|
|
38
37
|
aztecNodeAdmin!: AztecNodeAdmin;
|
|
39
38
|
ctx!: SubsystemsContext;
|
|
@@ -70,9 +69,9 @@ export class CrossChainMessagingTest {
|
|
|
70
69
|
async setup() {
|
|
71
70
|
this.ctx = await this.snapshotManager.setup();
|
|
72
71
|
this.aztecNode = this.ctx.aztecNode;
|
|
73
|
-
this.
|
|
72
|
+
this.wallet = this.ctx.wallet;
|
|
74
73
|
this.aztecNodeConfig = this.ctx.aztecNodeConfig;
|
|
75
|
-
this.cheatCodes =
|
|
74
|
+
this.cheatCodes = this.ctx.cheatCodes;
|
|
76
75
|
this.deployL1ContractsValues = this.ctx.deployL1ContractsValues;
|
|
77
76
|
this.aztecNodeAdmin = this.ctx.aztecNode;
|
|
78
77
|
}
|
|
@@ -88,15 +87,14 @@ export class CrossChainMessagingTest {
|
|
|
88
87
|
}
|
|
89
88
|
|
|
90
89
|
async applyBaseSnapshots() {
|
|
91
|
-
// Note that we are using the same `
|
|
90
|
+
// Note that we are using the same `wallet`, `aztecNodeConfig` and `aztecNode` across all snapshots.
|
|
92
91
|
// This is to not have issues with different networks.
|
|
93
92
|
|
|
94
93
|
await this.snapshotManager.snapshot(
|
|
95
94
|
'3_accounts',
|
|
96
95
|
deployAccounts(3, this.logger),
|
|
97
|
-
({ deployedAccounts }, {
|
|
96
|
+
({ deployedAccounts }, { wallet, aztecNodeConfig, aztecNode }) => {
|
|
98
97
|
[this.ownerAddress, this.user1Address, this.user2Address] = deployedAccounts.map(a => a.address);
|
|
99
|
-
this.pxe = pxe;
|
|
100
98
|
this.wallet = wallet;
|
|
101
99
|
this.aztecNode = aztecNode;
|
|
102
100
|
this.aztecNodeConfig = aztecNodeConfig;
|
|
@@ -123,7 +121,6 @@ export class CrossChainMessagingTest {
|
|
|
123
121
|
this.logger.verbose(`Setting up cross chain harness...`);
|
|
124
122
|
this.crossChainTestHarness = await CrossChainTestHarness.new(
|
|
125
123
|
this.aztecNode,
|
|
126
|
-
this.pxe,
|
|
127
124
|
this.l1Client,
|
|
128
125
|
this.wallet,
|
|
129
126
|
this.ownerAddress,
|
|
@@ -158,7 +155,6 @@ export class CrossChainMessagingTest {
|
|
|
158
155
|
|
|
159
156
|
this.crossChainTestHarness = new CrossChainTestHarness(
|
|
160
157
|
this.aztecNode,
|
|
161
|
-
this.pxe,
|
|
162
158
|
this.logger,
|
|
163
159
|
this.l2Token,
|
|
164
160
|
this.l2Bridge,
|