@aztec/end-to-end 0.86.0-nightly.20250513 → 0.86.0-nightly.20250515
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/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +5 -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 +8 -4
- package/dest/e2e_p2p/p2p_network.js +1 -1
- package/dest/fixtures/l1_to_l2_messaging.d.ts +5 -1
- package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
- package/dest/fixtures/l1_to_l2_messaging.js +5 -4
- package/dest/fixtures/setup_p2p_test.d.ts +1 -1
- package/dest/fixtures/setup_p2p_test.js +3 -3
- package/package.json +34 -34
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +16 -5
- package/src/e2e_p2p/p2p_network.ts +1 -1
- package/src/fixtures/l1_to_l2_messaging.ts +1 -1
- package/src/fixtures/setup_p2p_test.ts +3 -3
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { AztecNodeConfig } from '@aztec/aztec-node';
|
|
2
2
|
import { type AccountWallet, AztecAddress, type AztecNode, type CompleteAddress, EthAddress, type Logger, type PXE } from '@aztec/aztec.js';
|
|
3
3
|
import { CheatCodes } from '@aztec/aztec.js/testing';
|
|
4
|
-
import { type ExtendedViemWalletClient } from '@aztec/ethereum';
|
|
4
|
+
import { type DeployL1ContractsReturnType, type ExtendedViemWalletClient } from '@aztec/ethereum';
|
|
5
5
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
6
6
|
import { TokenBridgeContract } from '@aztec/noir-contracts.js/TokenBridge';
|
|
7
|
+
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
7
8
|
import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
|
|
8
9
|
import { CrossChainTestHarness } from '../shared/cross_chain_test_harness.js';
|
|
9
10
|
export declare class CrossChainMessagingTest {
|
|
@@ -14,6 +15,7 @@ export declare class CrossChainMessagingTest {
|
|
|
14
15
|
aztecNode: AztecNode;
|
|
15
16
|
pxe: PXE;
|
|
16
17
|
aztecNodeConfig: AztecNodeConfig;
|
|
18
|
+
aztecNodeAdmin: AztecNodeAdmin;
|
|
17
19
|
l1Client: ExtendedViemWalletClient | undefined;
|
|
18
20
|
user1Wallet: AccountWallet;
|
|
19
21
|
user2Wallet: AccountWallet;
|
|
@@ -24,7 +26,8 @@ export declare class CrossChainMessagingTest {
|
|
|
24
26
|
l2Bridge: TokenBridgeContract;
|
|
25
27
|
inbox: any;
|
|
26
28
|
outbox: any;
|
|
27
|
-
|
|
29
|
+
cheatCodes: CheatCodes;
|
|
30
|
+
deployL1ContractsValues: DeployL1ContractsReturnType;
|
|
28
31
|
constructor(testName: string);
|
|
29
32
|
assumeProven(): Promise<void>;
|
|
30
33
|
setup(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross_chain_messaging_test.d.ts","sourceRoot":"","sources":["../../src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,UAAU,EACV,KAAK,MAAM,EACX,KAAK,GAAG,EAET,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"cross_chain_messaging_test.d.ts","sourceRoot":"","sources":["../../src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,UAAU,EACV,KAAK,MAAM,EACX,KAAK,GAAG,EAET,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAG9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAKtE,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAI9E,qBAAa,uBAAuB;IAClC,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAM;IAC9B,QAAQ,EAAE,eAAe,EAAE,CAAM;IACjC,SAAS,EAAG,SAAS,CAAC;IACtB,GAAG,EAAG,GAAG,CAAC;IACV,eAAe,EAAG,eAAe,CAAC;IAClC,cAAc,EAAG,cAAc,CAAC;IAEhC,QAAQ,EAAG,wBAAwB,GAAG,SAAS,CAAC;IAEhD,WAAW,EAAG,aAAa,CAAC;IAC5B,WAAW,EAAG,aAAa,CAAC;IAC5B,qBAAqB,EAAG,qBAAqB,CAAC;IAC9C,UAAU,EAAG,UAAU,CAAC;IACxB,YAAY,EAAG,YAAY,CAAC;IAC5B,OAAO,EAAG,aAAa,CAAC;IACxB,QAAQ,EAAG,mBAAmB,CAAC;IAE/B,KAAK,EAAG,GAAG,CAAC;IACZ,MAAM,EAAG,GAAG,CAAC;IACb,UAAU,EAAG,UAAU,CAAC;IAExB,uBAAuB,EAAG,2BAA2B,CAAC;gBAE1C,QAAQ,EAAE,MAAM;IAKtB,YAAY;IAIZ,KAAK;IAUX,QAAQ,YACA,MAAM,SACL,CAAC,OAAO,EAAE,iBAAiB,KAAK,QAAQ,CAAC,CAAC,YACxC,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,QAAQ,IAAI,CAAC,KACtE,QAAQ,IAAI,CAAC,CAAwD;IAElE,QAAQ;IAIR,kBAAkB;CA6FzB"}
|
|
@@ -18,6 +18,7 @@ export class CrossChainMessagingTest {
|
|
|
18
18
|
aztecNode;
|
|
19
19
|
pxe;
|
|
20
20
|
aztecNodeConfig;
|
|
21
|
+
aztecNodeAdmin;
|
|
21
22
|
l1Client;
|
|
22
23
|
user1Wallet;
|
|
23
24
|
user2Wallet;
|
|
@@ -28,20 +29,23 @@ export class CrossChainMessagingTest {
|
|
|
28
29
|
l2Bridge;
|
|
29
30
|
inbox;
|
|
30
31
|
outbox;
|
|
31
|
-
|
|
32
|
+
cheatCodes;
|
|
33
|
+
deployL1ContractsValues;
|
|
32
34
|
constructor(testName){
|
|
33
35
|
this.logger = createLogger(`e2e:e2e_cross_chain_messaging:${testName}`);
|
|
34
36
|
this.snapshotManager = createSnapshotManager(`e2e_cross_chain_messaging/${testName}`, dataPath);
|
|
35
37
|
}
|
|
36
38
|
async assumeProven() {
|
|
37
|
-
await this.
|
|
39
|
+
await this.cheatCodes.rollup.markAsProven();
|
|
38
40
|
}
|
|
39
41
|
async setup() {
|
|
40
|
-
const { aztecNode, pxe, aztecNodeConfig } = await this.snapshotManager.setup();
|
|
42
|
+
const { aztecNode, pxe, aztecNodeConfig, deployL1ContractsValues } = await this.snapshotManager.setup();
|
|
41
43
|
this.aztecNode = aztecNode;
|
|
42
44
|
this.pxe = pxe;
|
|
43
45
|
this.aztecNodeConfig = aztecNodeConfig;
|
|
44
|
-
this.
|
|
46
|
+
this.cheatCodes = await CheatCodes.create(this.aztecNodeConfig.l1RpcUrls, this.pxe);
|
|
47
|
+
this.deployL1ContractsValues = deployL1ContractsValues;
|
|
48
|
+
this.aztecNodeAdmin = aztecNode;
|
|
45
49
|
}
|
|
46
50
|
snapshot = (name, apply, restore = ()=>Promise.resolve())=>this.snapshotManager.snapshot(name, apply, restore);
|
|
47
51
|
async teardown() {
|
|
@@ -58,7 +58,7 @@ export class P2PNetworkTest {
|
|
|
58
58
|
this.prefilledPublicData = [];
|
|
59
59
|
this.logger = createLogger(`e2e:e2e_p2p:${testName}`);
|
|
60
60
|
// Set up the base account and node private keys for the initial network deployment
|
|
61
|
-
this.baseAccountPrivateKey = `0x${getPrivateKeyFromIndex(
|
|
61
|
+
this.baseAccountPrivateKey = `0x${getPrivateKeyFromIndex(1).toString('hex')}`;
|
|
62
62
|
this.baseAccount = privateKeyToAccount(this.baseAccountPrivateKey);
|
|
63
63
|
this.proposerPrivateKeys = generatePrivateKeys(PROPOSER_PRIVATE_KEYS_START_INDEX, numberOfNodes);
|
|
64
64
|
this.attesterPrivateKeys = generatePrivateKeys(ATTESTER_PRIVATE_KEYS_START_INDEX, numberOfNodes);
|
|
@@ -8,5 +8,9 @@ export declare function sendL1ToL2Message(message: {
|
|
|
8
8
|
}, ctx: {
|
|
9
9
|
l1Client: ExtendedViemWalletClient;
|
|
10
10
|
l1ContractAddresses: Pick<L1ContractAddresses, 'inboxAddress' | 'rollupAddress'>;
|
|
11
|
-
}): Promise<
|
|
11
|
+
}): Promise<{
|
|
12
|
+
msgHash: Fr;
|
|
13
|
+
globalLeafIndex: Fr;
|
|
14
|
+
txReceipt: import("viem").TransactionReceipt;
|
|
15
|
+
}>;
|
|
12
16
|
//# sourceMappingURL=l1_to_l2_messaging.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_to_l2_messaging.d.ts","sourceRoot":"","sources":["../../src/fixtures/l1_to_l2_messaging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,mBAAmB,EAAkB,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE;IAAE,SAAS,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;IAAC,UAAU,EAAE,EAAE,CAAA;CAAE,EACjE,GAAG,EAAE;IACH,QAAQ,EAAE,wBAAwB,CAAC;IACnC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,eAAe,CAAC,CAAC;CAClF
|
|
1
|
+
{"version":3,"file":"l1_to_l2_messaging.d.ts","sourceRoot":"","sources":["../../src/fixtures/l1_to_l2_messaging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,mBAAmB,EAAkB,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE;IAAE,SAAS,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;IAAC,UAAU,EAAE,EAAE,CAAA;CAAE,EACjE,GAAG,EAAE;IACH,QAAQ,EAAE,wBAAwB,CAAC;IACnC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,eAAe,CAAC,CAAC;CAClF;;;;GAoCF"}
|
|
@@ -35,8 +35,9 @@ export async function sendL1ToL2Message(message, ctx) {
|
|
|
35
35
|
});
|
|
36
36
|
const receivedMsgHash = topics.args.hash;
|
|
37
37
|
const receivedGlobalLeafIndex = topics.args.index;
|
|
38
|
-
return
|
|
39
|
-
Fr.fromHexString(receivedMsgHash),
|
|
40
|
-
new Fr(receivedGlobalLeafIndex)
|
|
41
|
-
|
|
38
|
+
return {
|
|
39
|
+
msgHash: Fr.fromHexString(receivedMsgHash),
|
|
40
|
+
globalLeafIndex: new Fr(receivedGlobalLeafIndex),
|
|
41
|
+
txReceipt
|
|
42
|
+
};
|
|
42
43
|
}
|
|
@@ -8,7 +8,7 @@ import type { DateProvider } from '@aztec/foundation/timer';
|
|
|
8
8
|
import type { PXEService } from '@aztec/pxe/server';
|
|
9
9
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
10
10
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
11
|
-
export declare const PROPOSER_PRIVATE_KEYS_START_INDEX =
|
|
11
|
+
export declare const PROPOSER_PRIVATE_KEYS_START_INDEX = 2;
|
|
12
12
|
export declare const ATTESTER_PRIVATE_KEYS_START_INDEX = 1001;
|
|
13
13
|
export interface NodeContext {
|
|
14
14
|
node: AztecNodeService;
|
|
@@ -7,9 +7,9 @@ import { AsyncLocalStorage } from 'node:async_hooks';
|
|
|
7
7
|
import { TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
|
|
8
8
|
import { getPrivateKeyFromIndex } from './utils.js';
|
|
9
9
|
import { getEndToEndTestTelemetryClient } from './with_telemetry_utils.js';
|
|
10
|
-
// Setup snapshots will create a node with index 0,
|
|
11
|
-
// need to start from
|
|
12
|
-
export const PROPOSER_PRIVATE_KEYS_START_INDEX =
|
|
10
|
+
// Setup snapshots will create a node with index 0, and run extra bootstrap with
|
|
11
|
+
// index 1, so all of our loops here need to start from 2 to avoid running validators with the same key
|
|
12
|
+
export const PROPOSER_PRIVATE_KEYS_START_INDEX = 2;
|
|
13
13
|
export const ATTESTER_PRIVATE_KEYS_START_INDEX = 1001;
|
|
14
14
|
export function generatePrivateKeys(startIndex, numberOfKeys) {
|
|
15
15
|
const privateKeys = [];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "0.86.0-nightly.
|
|
3
|
+
"version": "0.86.0-nightly.20250515",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,39 +25,39 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "0.86.0-nightly.
|
|
29
|
-
"@aztec/archiver": "0.86.0-nightly.
|
|
30
|
-
"@aztec/aztec": "0.86.0-nightly.
|
|
31
|
-
"@aztec/aztec-node": "0.86.0-nightly.
|
|
32
|
-
"@aztec/aztec.js": "0.86.0-nightly.
|
|
33
|
-
"@aztec/bb-prover": "0.86.0-nightly.
|
|
34
|
-
"@aztec/blob-lib": "0.86.0-nightly.
|
|
35
|
-
"@aztec/blob-sink": "0.86.0-nightly.
|
|
36
|
-
"@aztec/bot": "0.86.0-nightly.
|
|
37
|
-
"@aztec/cli": "0.86.0-nightly.
|
|
38
|
-
"@aztec/constants": "0.86.0-nightly.
|
|
39
|
-
"@aztec/entrypoints": "0.86.0-nightly.
|
|
40
|
-
"@aztec/epoch-cache": "0.86.0-nightly.
|
|
41
|
-
"@aztec/ethereum": "0.86.0-nightly.
|
|
42
|
-
"@aztec/foundation": "0.86.0-nightly.
|
|
43
|
-
"@aztec/kv-store": "0.86.0-nightly.
|
|
44
|
-
"@aztec/l1-artifacts": "0.86.0-nightly.
|
|
45
|
-
"@aztec/merkle-tree": "0.86.0-nightly.
|
|
46
|
-
"@aztec/noir-contracts.js": "0.86.0-nightly.
|
|
47
|
-
"@aztec/noir-noirc_abi": "0.86.0-nightly.
|
|
48
|
-
"@aztec/noir-protocol-circuits-types": "0.86.0-nightly.
|
|
49
|
-
"@aztec/noir-test-contracts.js": "0.86.0-nightly.
|
|
50
|
-
"@aztec/p2p": "0.86.0-nightly.
|
|
51
|
-
"@aztec/protocol-contracts": "0.86.0-nightly.
|
|
52
|
-
"@aztec/prover-client": "0.86.0-nightly.
|
|
53
|
-
"@aztec/prover-node": "0.86.0-nightly.
|
|
54
|
-
"@aztec/pxe": "0.86.0-nightly.
|
|
55
|
-
"@aztec/sequencer-client": "0.86.0-nightly.
|
|
56
|
-
"@aztec/simulator": "0.86.0-nightly.
|
|
57
|
-
"@aztec/stdlib": "0.86.0-nightly.
|
|
58
|
-
"@aztec/telemetry-client": "0.86.0-nightly.
|
|
59
|
-
"@aztec/validator-client": "0.86.0-nightly.
|
|
60
|
-
"@aztec/world-state": "0.86.0-nightly.
|
|
28
|
+
"@aztec/accounts": "0.86.0-nightly.20250515",
|
|
29
|
+
"@aztec/archiver": "0.86.0-nightly.20250515",
|
|
30
|
+
"@aztec/aztec": "0.86.0-nightly.20250515",
|
|
31
|
+
"@aztec/aztec-node": "0.86.0-nightly.20250515",
|
|
32
|
+
"@aztec/aztec.js": "0.86.0-nightly.20250515",
|
|
33
|
+
"@aztec/bb-prover": "0.86.0-nightly.20250515",
|
|
34
|
+
"@aztec/blob-lib": "0.86.0-nightly.20250515",
|
|
35
|
+
"@aztec/blob-sink": "0.86.0-nightly.20250515",
|
|
36
|
+
"@aztec/bot": "0.86.0-nightly.20250515",
|
|
37
|
+
"@aztec/cli": "0.86.0-nightly.20250515",
|
|
38
|
+
"@aztec/constants": "0.86.0-nightly.20250515",
|
|
39
|
+
"@aztec/entrypoints": "0.86.0-nightly.20250515",
|
|
40
|
+
"@aztec/epoch-cache": "0.86.0-nightly.20250515",
|
|
41
|
+
"@aztec/ethereum": "0.86.0-nightly.20250515",
|
|
42
|
+
"@aztec/foundation": "0.86.0-nightly.20250515",
|
|
43
|
+
"@aztec/kv-store": "0.86.0-nightly.20250515",
|
|
44
|
+
"@aztec/l1-artifacts": "0.86.0-nightly.20250515",
|
|
45
|
+
"@aztec/merkle-tree": "0.86.0-nightly.20250515",
|
|
46
|
+
"@aztec/noir-contracts.js": "0.86.0-nightly.20250515",
|
|
47
|
+
"@aztec/noir-noirc_abi": "0.86.0-nightly.20250515",
|
|
48
|
+
"@aztec/noir-protocol-circuits-types": "0.86.0-nightly.20250515",
|
|
49
|
+
"@aztec/noir-test-contracts.js": "0.86.0-nightly.20250515",
|
|
50
|
+
"@aztec/p2p": "0.86.0-nightly.20250515",
|
|
51
|
+
"@aztec/protocol-contracts": "0.86.0-nightly.20250515",
|
|
52
|
+
"@aztec/prover-client": "0.86.0-nightly.20250515",
|
|
53
|
+
"@aztec/prover-node": "0.86.0-nightly.20250515",
|
|
54
|
+
"@aztec/pxe": "0.86.0-nightly.20250515",
|
|
55
|
+
"@aztec/sequencer-client": "0.86.0-nightly.20250515",
|
|
56
|
+
"@aztec/simulator": "0.86.0-nightly.20250515",
|
|
57
|
+
"@aztec/stdlib": "0.86.0-nightly.20250515",
|
|
58
|
+
"@aztec/telemetry-client": "0.86.0-nightly.20250515",
|
|
59
|
+
"@aztec/validator-client": "0.86.0-nightly.20250515",
|
|
60
|
+
"@aztec/world-state": "0.86.0-nightly.20250515",
|
|
61
61
|
"@iarna/toml": "^2.2.5",
|
|
62
62
|
"@jest/globals": "^29.5.0",
|
|
63
63
|
"@noble/curves": "^1.0.0",
|
|
@@ -11,10 +11,16 @@ import {
|
|
|
11
11
|
createLogger,
|
|
12
12
|
} from '@aztec/aztec.js';
|
|
13
13
|
import { CheatCodes } from '@aztec/aztec.js/testing';
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
type DeployL1ContractsReturnType,
|
|
16
|
+
type ExtendedViemWalletClient,
|
|
17
|
+
createExtendedL1Client,
|
|
18
|
+
deployL1Contract,
|
|
19
|
+
} from '@aztec/ethereum';
|
|
15
20
|
import { InboxAbi, OutboxAbi, TestERC20Abi, TestERC20Bytecode } from '@aztec/l1-artifacts';
|
|
16
21
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
17
22
|
import { TokenBridgeContract } from '@aztec/noir-contracts.js/TokenBridge';
|
|
23
|
+
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
18
24
|
|
|
19
25
|
import { getContract } from 'viem';
|
|
20
26
|
|
|
@@ -38,6 +44,7 @@ export class CrossChainMessagingTest {
|
|
|
38
44
|
aztecNode!: AztecNode;
|
|
39
45
|
pxe!: PXE;
|
|
40
46
|
aztecNodeConfig!: AztecNodeConfig;
|
|
47
|
+
aztecNodeAdmin!: AztecNodeAdmin;
|
|
41
48
|
|
|
42
49
|
l1Client!: ExtendedViemWalletClient | undefined;
|
|
43
50
|
|
|
@@ -51,7 +58,9 @@ export class CrossChainMessagingTest {
|
|
|
51
58
|
|
|
52
59
|
inbox!: any; // GetContractReturnType<typeof InboxAbi> | undefined;
|
|
53
60
|
outbox!: any; // GetContractReturnType<typeof OutboxAbi> | undefined;
|
|
54
|
-
|
|
61
|
+
cheatCodes!: CheatCodes;
|
|
62
|
+
|
|
63
|
+
deployL1ContractsValues!: DeployL1ContractsReturnType;
|
|
55
64
|
|
|
56
65
|
constructor(testName: string) {
|
|
57
66
|
this.logger = createLogger(`e2e:e2e_cross_chain_messaging:${testName}`);
|
|
@@ -59,15 +68,17 @@ export class CrossChainMessagingTest {
|
|
|
59
68
|
}
|
|
60
69
|
|
|
61
70
|
async assumeProven() {
|
|
62
|
-
await this.
|
|
71
|
+
await this.cheatCodes.rollup.markAsProven();
|
|
63
72
|
}
|
|
64
73
|
|
|
65
74
|
async setup() {
|
|
66
|
-
const { aztecNode, pxe, aztecNodeConfig } = await this.snapshotManager.setup();
|
|
75
|
+
const { aztecNode, pxe, aztecNodeConfig, deployL1ContractsValues } = await this.snapshotManager.setup();
|
|
67
76
|
this.aztecNode = aztecNode;
|
|
68
77
|
this.pxe = pxe;
|
|
69
78
|
this.aztecNodeConfig = aztecNodeConfig;
|
|
70
|
-
this.
|
|
79
|
+
this.cheatCodes = await CheatCodes.create(this.aztecNodeConfig.l1RpcUrls, this.pxe);
|
|
80
|
+
this.deployL1ContractsValues = deployL1ContractsValues;
|
|
81
|
+
this.aztecNodeAdmin = aztecNode;
|
|
71
82
|
}
|
|
72
83
|
|
|
73
84
|
snapshot = <T>(
|
|
@@ -85,7 +85,7 @@ export class P2PNetworkTest {
|
|
|
85
85
|
this.logger = createLogger(`e2e:e2e_p2p:${testName}`);
|
|
86
86
|
|
|
87
87
|
// Set up the base account and node private keys for the initial network deployment
|
|
88
|
-
this.baseAccountPrivateKey = `0x${getPrivateKeyFromIndex(
|
|
88
|
+
this.baseAccountPrivateKey = `0x${getPrivateKeyFromIndex(1)!.toString('hex')}`;
|
|
89
89
|
this.baseAccount = privateKeyToAccount(this.baseAccountPrivateKey);
|
|
90
90
|
this.proposerPrivateKeys = generatePrivateKeys(PROPOSER_PRIVATE_KEYS_START_INDEX, numberOfNodes);
|
|
91
91
|
this.attesterPrivateKeys = generatePrivateKeys(ATTESTER_PRIVATE_KEYS_START_INDEX, numberOfNodes);
|
|
@@ -46,5 +46,5 @@ export async function sendL1ToL2Message(
|
|
|
46
46
|
const receivedMsgHash = topics.args.hash;
|
|
47
47
|
const receivedGlobalLeafIndex = topics.args.index;
|
|
48
48
|
|
|
49
|
-
return
|
|
49
|
+
return { msgHash: Fr.fromHexString(receivedMsgHash), globalLeafIndex: new Fr(receivedGlobalLeafIndex), txReceipt };
|
|
50
50
|
}
|
|
@@ -15,9 +15,9 @@ import { TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
|
|
|
15
15
|
import { getPrivateKeyFromIndex } from './utils.js';
|
|
16
16
|
import { getEndToEndTestTelemetryClient } from './with_telemetry_utils.js';
|
|
17
17
|
|
|
18
|
-
// Setup snapshots will create a node with index 0,
|
|
19
|
-
// need to start from
|
|
20
|
-
export const PROPOSER_PRIVATE_KEYS_START_INDEX =
|
|
18
|
+
// Setup snapshots will create a node with index 0, and run extra bootstrap with
|
|
19
|
+
// index 1, so all of our loops here need to start from 2 to avoid running validators with the same key
|
|
20
|
+
export const PROPOSER_PRIVATE_KEYS_START_INDEX = 2;
|
|
21
21
|
export const ATTESTER_PRIVATE_KEYS_START_INDEX = 1001;
|
|
22
22
|
|
|
23
23
|
export interface NodeContext {
|