@aztec/end-to-end 3.0.0-nightly.20251212 → 3.0.0-nightly.20251214
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 +3 -3
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +1 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +4 -4
- 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 +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +0 -2
- package/dest/e2e_fees/fees_test.d.ts +3 -3
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.d.ts +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.js +3 -6
- package/dest/e2e_p2p/p2p_network.d.ts +4 -5
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +5 -7
- package/dest/fixtures/e2e_prover_test.d.ts +3 -3
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +0 -1
- package/dest/fixtures/snapshot_manager.d.ts +6 -6
- package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
- package/dest/fixtures/snapshot_manager.js +16 -8
- package/dest/fixtures/utils.d.ts +9 -459
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +19 -51
- package/dest/shared/cross_chain_test_harness.js +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts +3 -3
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +1 -1
- package/package.json +38 -38
- package/src/bench/client_flows/client_flows_benchmark.ts +3 -2
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +11 -7
- package/src/e2e_epochs/epochs_test.ts +0 -2
- package/src/e2e_fees/fees_test.ts +2 -2
- package/src/e2e_p2p/inactivity_slash_test.ts +3 -8
- package/src/e2e_p2p/p2p_network.ts +3 -9
- package/src/fixtures/e2e_prover_test.ts +3 -3
- package/src/fixtures/snapshot_manager.ts +32 -14
- package/src/fixtures/utils.ts +47 -100
- package/src/shared/cross_chain_test_harness.ts +1 -1
- package/src/shared/uniswap_l1_l2.ts +4 -3
- package/dest/fixtures/setup_l1_contracts.d.ts +0 -477
- package/dest/fixtures/setup_l1_contracts.d.ts.map +0 -1
- package/dest/fixtures/setup_l1_contracts.js +0 -17
- package/src/fixtures/setup_l1_contracts.ts +0 -27
package/dest/fixtures/utils.js
CHANGED
|
@@ -4,24 +4,21 @@ import { createArchiver } from '@aztec/archiver';
|
|
|
4
4
|
import { AztecNodeService, getConfigEnvVars } from '@aztec/aztec-node';
|
|
5
5
|
import { BatchCall } from '@aztec/aztec.js/contracts';
|
|
6
6
|
import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
|
|
7
|
+
import { Fr } from '@aztec/aztec.js/fields';
|
|
7
8
|
import { createLogger } from '@aztec/aztec.js/log';
|
|
8
9
|
import { createAztecNodeClient, waitForNode } from '@aztec/aztec.js/node';
|
|
9
10
|
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
10
11
|
import { createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
11
12
|
import { createBlobSinkServer } from '@aztec/blob-sink/server';
|
|
12
|
-
import {
|
|
13
|
+
import { SPONSORED_FPC_SALT } from '@aztec/constants';
|
|
13
14
|
import { isAnvilTestChain } from '@aztec/ethereum/chain';
|
|
14
15
|
import { createExtendedL1Client } from '@aztec/ethereum/client';
|
|
15
16
|
import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
|
|
16
17
|
import { NULL_KEY } from '@aztec/ethereum/constants';
|
|
17
|
-
import {
|
|
18
|
-
import { deployL1Contracts } from '@aztec/ethereum/deploy-l1-contracts';
|
|
19
|
-
import { FeeAssetArtifact } from '@aztec/ethereum/l1-artifacts';
|
|
18
|
+
import { deployAztecL1Contracts } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
20
19
|
import { DelayedTxUtils, EthCheatCodes, EthCheatCodesWithState, createDelayedL1TxUtilsFromViemWallet, startAnvil } from '@aztec/ethereum/test';
|
|
21
20
|
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
22
21
|
import { SecretValue } from '@aztec/foundation/config';
|
|
23
|
-
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
24
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
25
22
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
26
23
|
import { tryRmDir } from '@aztec/foundation/fs';
|
|
27
24
|
import { withLogNameSuffix } from '@aztec/foundation/log';
|
|
@@ -40,11 +37,11 @@ import { getConfigEnvVars as getTelemetryConfig, initTelemetryClient } from '@az
|
|
|
40
37
|
import { BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
|
|
41
38
|
import { TestWallet, deployFundedSchnorrAccounts } from '@aztec/test-wallet/server';
|
|
42
39
|
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
40
|
+
import { randomBytes } from 'crypto';
|
|
43
41
|
import fs from 'fs/promises';
|
|
44
42
|
import getPort from 'get-port';
|
|
45
43
|
import { tmpdir } from 'os';
|
|
46
44
|
import * as path from 'path';
|
|
47
|
-
import { getContract } from 'viem';
|
|
48
45
|
import { generatePrivateKey, mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
|
|
49
46
|
import { foundry } from 'viem/chains';
|
|
50
47
|
import { MNEMONIC, TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
|
|
@@ -78,22 +75,6 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
78
75
|
const privKeyRaw = hdAccount.getHdKey().privateKey;
|
|
79
76
|
return privKeyRaw === null ? null : Buffer.from(privKeyRaw);
|
|
80
77
|
};
|
|
81
|
-
export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, chain = foundry)=>{
|
|
82
|
-
const l1Data = await deployL1Contracts(l1RpcUrls, account, chain, logger, {
|
|
83
|
-
vkTreeRoot: getVKTreeRoot(),
|
|
84
|
-
protocolContractsHash,
|
|
85
|
-
genesisArchiveRoot: args.genesisArchiveRoot ?? new Fr(GENESIS_ARCHIVE_ROOT),
|
|
86
|
-
salt: args.salt,
|
|
87
|
-
initialValidators: args.initialValidators,
|
|
88
|
-
...getL1ContractsConfigEnvVars(),
|
|
89
|
-
realVerifier: false,
|
|
90
|
-
...args
|
|
91
|
-
}, {
|
|
92
|
-
priorityFeeBumpPercentage: 0,
|
|
93
|
-
priorityFeeRetryBumpPercentage: 0
|
|
94
|
-
});
|
|
95
|
-
return l1Data;
|
|
96
|
-
};
|
|
97
78
|
/**
|
|
98
79
|
* Sets up Private eXecution Environment (PXE) and returns the corresponding test wallet.
|
|
99
80
|
* @param aztecNode - An instance of Aztec Node.
|
|
@@ -245,12 +226,14 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
245
226
|
resetBlockInterval: true
|
|
246
227
|
});
|
|
247
228
|
}
|
|
248
|
-
let
|
|
229
|
+
let publisherPrivKeyHex = undefined;
|
|
249
230
|
let publisherHdAccount = undefined;
|
|
250
231
|
if (opts.l1PublisherKey && opts.l1PublisherKey.getValue() && opts.l1PublisherKey.getValue() != NULL_KEY) {
|
|
251
|
-
|
|
232
|
+
publisherPrivKeyHex = opts.l1PublisherKey.getValue();
|
|
233
|
+
publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
|
|
252
234
|
} else if (config.publisherPrivateKeys && config.publisherPrivateKeys.length > 0 && config.publisherPrivateKeys[0].getValue() != NULL_KEY) {
|
|
253
|
-
|
|
235
|
+
publisherPrivKeyHex = config.publisherPrivateKeys[0].getValue();
|
|
236
|
+
publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
|
|
254
237
|
} else if (!MNEMONIC) {
|
|
255
238
|
throw new Error(`Mnemonic not provided and no publisher private key`);
|
|
256
239
|
} else {
|
|
@@ -258,9 +241,10 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
258
241
|
addressIndex: 0
|
|
259
242
|
});
|
|
260
243
|
const publisherPrivKeyRaw = publisherHdAccount.getHdKey().privateKey;
|
|
261
|
-
publisherPrivKey = publisherPrivKeyRaw === null ? null : Buffer.from(publisherPrivKeyRaw);
|
|
244
|
+
const publisherPrivKey = publisherPrivKeyRaw === null ? null : Buffer.from(publisherPrivKeyRaw);
|
|
245
|
+
publisherPrivKeyHex = `0x${publisherPrivKey.toString('hex')}`;
|
|
262
246
|
config.publisherPrivateKeys = [
|
|
263
|
-
new SecretValue(
|
|
247
|
+
new SecretValue(publisherPrivKeyHex)
|
|
264
248
|
];
|
|
265
249
|
}
|
|
266
250
|
if (config.coinbase === undefined) {
|
|
@@ -278,34 +262,18 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
278
262
|
await ethCheatCodes.setAutomine(true);
|
|
279
263
|
}
|
|
280
264
|
const l1Client = createExtendedL1Client(config.l1RpcUrls, publisherHdAccount, chain);
|
|
281
|
-
await
|
|
282
|
-
|
|
265
|
+
const deployL1ContractsValues = await deployAztecL1Contracts(config.l1RpcUrls[0], publisherPrivKeyHex, chain.id, {
|
|
266
|
+
...getL1ContractsConfigEnvVars(),
|
|
283
267
|
...opts,
|
|
268
|
+
vkTreeRoot: getVKTreeRoot(),
|
|
269
|
+
protocolContractsHash,
|
|
284
270
|
genesisArchiveRoot,
|
|
271
|
+
initialValidators: opts.initialValidators,
|
|
285
272
|
feeJuicePortalInitialBalance: fundingNeeded,
|
|
286
|
-
|
|
287
|
-
}
|
|
273
|
+
realVerifier: false
|
|
274
|
+
});
|
|
288
275
|
config.l1Contracts = deployL1ContractsValues.l1ContractAddresses;
|
|
289
276
|
config.rollupVersion = deployL1ContractsValues.rollupVersion;
|
|
290
|
-
if (opts.fundRewardDistributor) {
|
|
291
|
-
// Mints block rewards for 10000 blocks to the rewardDistributor contract
|
|
292
|
-
const rollup = new RollupContract(deployL1ContractsValues.l1Client, deployL1ContractsValues.l1ContractAddresses.rollupAddress);
|
|
293
|
-
const blockReward = await rollup.getCheckpointReward();
|
|
294
|
-
const mintAmount = 10_000n * blockReward;
|
|
295
|
-
const feeJuice = getContract({
|
|
296
|
-
address: deployL1ContractsValues.l1ContractAddresses.feeJuiceAddress.toString(),
|
|
297
|
-
abi: FeeAssetArtifact.contractAbi,
|
|
298
|
-
client: deployL1ContractsValues.l1Client
|
|
299
|
-
});
|
|
300
|
-
const rewardDistributorMintTxHash = await feeJuice.write.mint([
|
|
301
|
-
deployL1ContractsValues.l1ContractAddresses.rewardDistributorAddress.toString(),
|
|
302
|
-
mintAmount
|
|
303
|
-
], {});
|
|
304
|
-
await deployL1ContractsValues.l1Client.waitForTransactionReceipt({
|
|
305
|
-
hash: rewardDistributorMintTxHash
|
|
306
|
-
});
|
|
307
|
-
logger.info(`Funding rewardDistributor in ${rewardDistributorMintTxHash}`);
|
|
308
|
-
}
|
|
309
277
|
if (enableAutomine) {
|
|
310
278
|
await ethCheatCodes.setAutomine(false);
|
|
311
279
|
await ethCheatCodes.setIntervalMining(config.ethereumSlotDuration);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EthAddress } from '@aztec/aztec.js/addresses';
|
|
2
2
|
import { L1TokenPortalManager } from '@aztec/aztec.js/ethereum';
|
|
3
3
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
4
|
-
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-
|
|
4
|
+
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
|
|
5
5
|
import { retryUntil } from '@aztec/foundation/retry';
|
|
6
6
|
import { TestERC20Abi, TokenPortalAbi, TokenPortalBytecode } from '@aztec/l1-artifacts';
|
|
7
7
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
@@ -2,7 +2,7 @@ import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
|
2
2
|
import type { Logger } from '@aztec/aztec.js/log';
|
|
3
3
|
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
4
4
|
import { CheatCodes } from '@aztec/aztec/testing';
|
|
5
|
-
import {
|
|
5
|
+
import type { DeployAztecL1ContractsReturnType } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
6
6
|
import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
|
|
7
7
|
import type { TestWallet } from '@aztec/test-wallet/server';
|
|
8
8
|
/** Objects to be returned by the uniswap setup function */
|
|
@@ -20,9 +20,9 @@ export type UniswapSetupContext = {
|
|
|
20
20
|
/** The sponsor wallet. */
|
|
21
21
|
sponsorAddress: AztecAddress;
|
|
22
22
|
/** */
|
|
23
|
-
deployL1ContractsValues:
|
|
23
|
+
deployL1ContractsValues: DeployAztecL1ContractsReturnType;
|
|
24
24
|
/** Cheat codes instance. */
|
|
25
25
|
cheatCodes: CheatCodes;
|
|
26
26
|
};
|
|
27
27
|
export declare const uniswapL1L2TestSuite: (setup: () => Promise<UniswapSetupContext>, cleanup: () => Promise<void>, expectedForkBlockNumber?: number) => void;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pc3dhcF9sMV9sMi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC91bmlzd2FwX2wxX2wyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWMsTUFBTSwyQkFBMkIsQ0FBQztBQUlyRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVsRyxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT3RFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBaUI1RCwyREFBMkQ7QUFDM0QsTUFBTSxNQUFNLG1CQUFtQixHQUFHO0lBQ2hDLDBCQUEwQjtJQUMxQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLGlEQUFpRDtJQUNqRCxNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsMERBQTBEO0lBQzFELFFBQVEsRUFBRSx3QkFBd0IsQ0FBQztJQUNuQyxrQkFBa0I7SUFDbEIsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQix5QkFBeUI7SUFDekIsWUFBWSxFQUFFLFlBQVksQ0FBQztJQUMzQiwwQkFBMEI7SUFDMUIsY0FBYyxFQUFFLFlBQVksQ0FBQztJQUM3QixPQUFPO0lBQ1AsdUJBQXVCLEVBQUUsZ0NBQWdDLENBQUM7SUFDMUQsNEJBQTRCO0lBQzVCLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDeEIsQ0FBQztBQUVGLGVBQU8sTUFBTSxvQkFBb0IscUhBbStCaEMsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,2BAA2B,CAAC;AAIrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,2BAA2B,CAAC;AAIrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAElG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAOtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAiB5D,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,gCAAgC,CAAC;IAC1D,4BAA4B;IAC5B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,qHAm+BhC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { computeAuthWitMessageHash } from '@aztec/aztec.js/authorization';
|
|
|
3
3
|
import { generateClaimSecret } from '@aztec/aztec.js/ethereum';
|
|
4
4
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
5
5
|
import { RollupContract } from '@aztec/ethereum/contracts';
|
|
6
|
-
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-
|
|
6
|
+
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
|
|
7
7
|
import { extractEvent } from '@aztec/ethereum/utils';
|
|
8
8
|
import { sha256ToField } from '@aztec/foundation/crypto/sha256';
|
|
9
9
|
import { InboxAbi, UniswapPortalAbi, UniswapPortalBytecode } from '@aztec/l1-artifacts';
|
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.20251214",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,43 +25,43 @@
|
|
|
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/bb.js": "3.0.0-nightly.
|
|
35
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
36
|
-
"@aztec/blob-sink": "3.0.0-nightly.
|
|
37
|
-
"@aztec/bot": "3.0.0-nightly.
|
|
38
|
-
"@aztec/cli": "3.0.0-nightly.
|
|
39
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
40
|
-
"@aztec/entrypoints": "3.0.0-nightly.
|
|
41
|
-
"@aztec/epoch-cache": "3.0.0-nightly.
|
|
42
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
43
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
44
|
-
"@aztec/kv-store": "3.0.0-nightly.
|
|
45
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
46
|
-
"@aztec/merkle-tree": "3.0.0-nightly.
|
|
47
|
-
"@aztec/node-keystore": "3.0.0-nightly.
|
|
48
|
-
"@aztec/noir-contracts.js": "3.0.0-nightly.
|
|
49
|
-
"@aztec/noir-noirc_abi": "3.0.0-nightly.
|
|
50
|
-
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.
|
|
51
|
-
"@aztec/noir-test-contracts.js": "3.0.0-nightly.
|
|
52
|
-
"@aztec/p2p": "3.0.0-nightly.
|
|
53
|
-
"@aztec/protocol-contracts": "3.0.0-nightly.
|
|
54
|
-
"@aztec/prover-client": "3.0.0-nightly.
|
|
55
|
-
"@aztec/prover-node": "3.0.0-nightly.
|
|
56
|
-
"@aztec/pxe": "3.0.0-nightly.
|
|
57
|
-
"@aztec/sequencer-client": "3.0.0-nightly.
|
|
58
|
-
"@aztec/simulator": "3.0.0-nightly.
|
|
59
|
-
"@aztec/slasher": "3.0.0-nightly.
|
|
60
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
61
|
-
"@aztec/telemetry-client": "3.0.0-nightly.
|
|
62
|
-
"@aztec/test-wallet": "3.0.0-nightly.
|
|
63
|
-
"@aztec/validator-client": "3.0.0-nightly.
|
|
64
|
-
"@aztec/world-state": "3.0.0-nightly.
|
|
28
|
+
"@aztec/accounts": "3.0.0-nightly.20251214",
|
|
29
|
+
"@aztec/archiver": "3.0.0-nightly.20251214",
|
|
30
|
+
"@aztec/aztec": "3.0.0-nightly.20251214",
|
|
31
|
+
"@aztec/aztec-node": "3.0.0-nightly.20251214",
|
|
32
|
+
"@aztec/aztec.js": "3.0.0-nightly.20251214",
|
|
33
|
+
"@aztec/bb-prover": "3.0.0-nightly.20251214",
|
|
34
|
+
"@aztec/bb.js": "3.0.0-nightly.20251214",
|
|
35
|
+
"@aztec/blob-lib": "3.0.0-nightly.20251214",
|
|
36
|
+
"@aztec/blob-sink": "3.0.0-nightly.20251214",
|
|
37
|
+
"@aztec/bot": "3.0.0-nightly.20251214",
|
|
38
|
+
"@aztec/cli": "3.0.0-nightly.20251214",
|
|
39
|
+
"@aztec/constants": "3.0.0-nightly.20251214",
|
|
40
|
+
"@aztec/entrypoints": "3.0.0-nightly.20251214",
|
|
41
|
+
"@aztec/epoch-cache": "3.0.0-nightly.20251214",
|
|
42
|
+
"@aztec/ethereum": "3.0.0-nightly.20251214",
|
|
43
|
+
"@aztec/foundation": "3.0.0-nightly.20251214",
|
|
44
|
+
"@aztec/kv-store": "3.0.0-nightly.20251214",
|
|
45
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20251214",
|
|
46
|
+
"@aztec/merkle-tree": "3.0.0-nightly.20251214",
|
|
47
|
+
"@aztec/node-keystore": "3.0.0-nightly.20251214",
|
|
48
|
+
"@aztec/noir-contracts.js": "3.0.0-nightly.20251214",
|
|
49
|
+
"@aztec/noir-noirc_abi": "3.0.0-nightly.20251214",
|
|
50
|
+
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251214",
|
|
51
|
+
"@aztec/noir-test-contracts.js": "3.0.0-nightly.20251214",
|
|
52
|
+
"@aztec/p2p": "3.0.0-nightly.20251214",
|
|
53
|
+
"@aztec/protocol-contracts": "3.0.0-nightly.20251214",
|
|
54
|
+
"@aztec/prover-client": "3.0.0-nightly.20251214",
|
|
55
|
+
"@aztec/prover-node": "3.0.0-nightly.20251214",
|
|
56
|
+
"@aztec/pxe": "3.0.0-nightly.20251214",
|
|
57
|
+
"@aztec/sequencer-client": "3.0.0-nightly.20251214",
|
|
58
|
+
"@aztec/simulator": "3.0.0-nightly.20251214",
|
|
59
|
+
"@aztec/slasher": "3.0.0-nightly.20251214",
|
|
60
|
+
"@aztec/stdlib": "3.0.0-nightly.20251214",
|
|
61
|
+
"@aztec/telemetry-client": "3.0.0-nightly.20251214",
|
|
62
|
+
"@aztec/test-wallet": "3.0.0-nightly.20251214",
|
|
63
|
+
"@aztec/validator-client": "3.0.0-nightly.20251214",
|
|
64
|
+
"@aztec/world-state": "3.0.0-nightly.20251214",
|
|
65
65
|
"@iarna/toml": "^2.2.5",
|
|
66
66
|
"@jest/globals": "^30.0.0",
|
|
67
67
|
"@noble/curves": "=1.0.0",
|
|
@@ -7,7 +7,8 @@ import type { Wallet } from '@aztec/aztec.js/wallet';
|
|
|
7
7
|
import { CheatCodes } from '@aztec/aztec/testing';
|
|
8
8
|
import { createExtendedL1Client } from '@aztec/ethereum/client';
|
|
9
9
|
import { RollupContract } from '@aztec/ethereum/contracts';
|
|
10
|
-
import
|
|
10
|
+
import type { DeployAztecL1ContractsArgs } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
11
|
+
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
|
|
11
12
|
import { ChainMonitor } from '@aztec/ethereum/test';
|
|
12
13
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
13
14
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
@@ -125,7 +126,7 @@ export class ClientFlowsBenchmark {
|
|
|
125
126
|
|
|
126
127
|
private proxyLogger: ProxyLogger;
|
|
127
128
|
|
|
128
|
-
constructor(testName?: string, setupOptions: Partial<SetupOptions &
|
|
129
|
+
constructor(testName?: string, setupOptions: Partial<SetupOptions & DeployAztecL1ContractsArgs> = {}) {
|
|
129
130
|
this.logger = createLogger(`bench:client_flows${testName ? `:${testName}` : ''}`);
|
|
130
131
|
this.snapshotManager = createSnapshotManager(
|
|
131
132
|
`bench_client_flows${testName ? `/${testName}` : ''}`,
|
|
@@ -4,11 +4,11 @@ import { type Logger, createLogger } from '@aztec/aztec.js/log';
|
|
|
4
4
|
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
5
5
|
import { CheatCodes } from '@aztec/aztec/testing';
|
|
6
6
|
import { createExtendedL1Client } from '@aztec/ethereum/client';
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
} from '@aztec/ethereum/deploy-l1-
|
|
7
|
+
import type {
|
|
8
|
+
DeployAztecL1ContractsArgs,
|
|
9
|
+
DeployAztecL1ContractsReturnType,
|
|
10
|
+
} from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
11
|
+
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
|
|
12
12
|
import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
|
|
13
13
|
import { InboxAbi, OutboxAbi, TestERC20Abi, TestERC20Bytecode } from '@aztec/l1-artifacts';
|
|
14
14
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
@@ -54,9 +54,13 @@ export class CrossChainMessagingTest {
|
|
|
54
54
|
outbox!: any; // GetContractReturnType<typeof OutboxAbi> | undefined;
|
|
55
55
|
cheatCodes!: CheatCodes;
|
|
56
56
|
|
|
57
|
-
deployL1ContractsValues!:
|
|
57
|
+
deployL1ContractsValues!: DeployAztecL1ContractsReturnType;
|
|
58
58
|
|
|
59
|
-
constructor(
|
|
59
|
+
constructor(
|
|
60
|
+
testName: string,
|
|
61
|
+
opts: SetupOptions = {},
|
|
62
|
+
deployL1ContractsArgs: Partial<DeployAztecL1ContractsArgs> = {},
|
|
63
|
+
) {
|
|
60
64
|
this.logger = createLogger(`e2e:e2e_cross_chain_messaging:${testName}`);
|
|
61
65
|
this.snapshotManager = createSnapshotManager(`e2e_cross_chain_messaging/${testName}`, dataPath, opts, {
|
|
62
66
|
initialValidators: [],
|
|
@@ -114,8 +114,6 @@ export class EpochsTestContext {
|
|
|
114
114
|
checkIntervalMs: 50,
|
|
115
115
|
archiverPollingIntervalMS: ARCHIVER_POLL_INTERVAL,
|
|
116
116
|
worldStateBlockCheckIntervalMS: WORLD_STATE_BLOCK_CHECK_INTERVAL,
|
|
117
|
-
skipProtocolContracts: true,
|
|
118
|
-
salt: 1,
|
|
119
117
|
aztecEpochDuration,
|
|
120
118
|
aztecSlotDuration,
|
|
121
119
|
ethereumSlotDuration,
|
|
@@ -4,7 +4,7 @@ import type { AztecNode } from '@aztec/aztec.js/node';
|
|
|
4
4
|
import { CheatCodes } from '@aztec/aztec/testing';
|
|
5
5
|
import { createExtendedL1Client } from '@aztec/ethereum/client';
|
|
6
6
|
import { RollupContract } from '@aztec/ethereum/contracts';
|
|
7
|
-
import type {
|
|
7
|
+
import type { DeployAztecL1ContractsArgs } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
8
8
|
import { ChainMonitor } from '@aztec/ethereum/test';
|
|
9
9
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
10
10
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
@@ -97,7 +97,7 @@ export class FeesTest {
|
|
|
97
97
|
constructor(
|
|
98
98
|
testName: string,
|
|
99
99
|
private numberOfAccounts = 3,
|
|
100
|
-
setupOptions: Partial<SetupOptions &
|
|
100
|
+
setupOptions: Partial<SetupOptions & DeployAztecL1ContractsArgs> = {},
|
|
101
101
|
) {
|
|
102
102
|
if (!numberOfAccounts) {
|
|
103
103
|
throw new Error('There must be at least 1 initial account.');
|
|
@@ -24,7 +24,7 @@ const SLASHING_UNIT = BigInt(1e18);
|
|
|
24
24
|
const SLASHING_AMOUNT = SLASHING_UNIT * 3n;
|
|
25
25
|
|
|
26
26
|
// How many epochs it may take to set everything up, so we dont slash during this period
|
|
27
|
-
const SETUP_EPOCH_DURATION =
|
|
27
|
+
const SETUP_EPOCH_DURATION = 8;
|
|
28
28
|
|
|
29
29
|
export class P2PInactivityTest {
|
|
30
30
|
public nodes!: AztecNodeService[];
|
|
@@ -151,13 +151,8 @@ export class P2PInactivityTest {
|
|
|
151
151
|
// This prevents race conditions where validators propose blocks before the network is ready
|
|
152
152
|
await this.test.waitForP2PMeshConnectivity(this.nodes, NUM_NODES);
|
|
153
153
|
|
|
154
|
-
|
|
155
|
-
this.test.
|
|
156
|
-
`Advancing to epoch ${SETUP_EPOCH_DURATION} (slashing will start after this epoch is complete)`,
|
|
157
|
-
);
|
|
158
|
-
await this.test.ctx.cheatCodes.rollup.advanceToEpoch(EpochNumber(SETUP_EPOCH_DURATION), {
|
|
159
|
-
offset: -ethereumSlotDuration,
|
|
160
|
-
});
|
|
154
|
+
this.test.logger.warn(`Advancing to epoch ${SETUP_EPOCH_DURATION - 1} (slashing will start after it is completed)`);
|
|
155
|
+
await this.test.ctx.cheatCodes.rollup.advanceToEpoch(EpochNumber(SETUP_EPOCH_DURATION - 1));
|
|
161
156
|
|
|
162
157
|
return this;
|
|
163
158
|
}
|
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
RollupContract,
|
|
10
10
|
type TallySlashingProposerContract,
|
|
11
11
|
} from '@aztec/ethereum/contracts';
|
|
12
|
-
import type { Operator } from '@aztec/ethereum/deploy-l1-contracts';
|
|
13
|
-
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-
|
|
12
|
+
import type { Operator } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
13
|
+
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
|
|
14
14
|
import { MultiAdderArtifact } from '@aztec/ethereum/l1-artifacts';
|
|
15
15
|
import { createL1TxUtilsFromViemWallet } from '@aztec/ethereum/l1-tx-utils';
|
|
16
16
|
import { ChainMonitor } from '@aztec/ethereum/test';
|
|
@@ -93,7 +93,6 @@ export class P2PNetworkTest {
|
|
|
93
93
|
// If set enable metrics collection
|
|
94
94
|
private metricsPort?: number,
|
|
95
95
|
startProverNode?: boolean,
|
|
96
|
-
mockZkPassportVerifier?: boolean,
|
|
97
96
|
) {
|
|
98
97
|
this.logger = createLogger(`e2e:e2e_p2p:${testName}`);
|
|
99
98
|
|
|
@@ -122,7 +121,6 @@ export class P2PNetworkTest {
|
|
|
122
121
|
initialValidatorConfig.slashingRoundSizeInEpochs ?? l1ContractsConfig.slashingRoundSizeInEpochs,
|
|
123
122
|
slasherFlavor: initialValidatorConfig.slasherFlavor ?? 'tally',
|
|
124
123
|
aztecTargetCommitteeSize: numberOfValidators,
|
|
125
|
-
salt: 420,
|
|
126
124
|
metricsPort: metricsPort,
|
|
127
125
|
numberOfInitialFundedAccounts: 2,
|
|
128
126
|
startProverNode,
|
|
@@ -141,7 +139,6 @@ export class P2PNetworkTest {
|
|
|
141
139
|
aztecTargetCommitteeSize: numberOfValidators,
|
|
142
140
|
initialValidators: [],
|
|
143
141
|
zkPassportArgs: {
|
|
144
|
-
mockZkPassportVerifier,
|
|
145
142
|
zkPassportDomain: zkPassportParams.domain,
|
|
146
143
|
zkPassportScope: zkPassportParams.scope,
|
|
147
144
|
},
|
|
@@ -157,7 +154,6 @@ export class P2PNetworkTest {
|
|
|
157
154
|
metricsPort,
|
|
158
155
|
initialConfig,
|
|
159
156
|
startProverNode,
|
|
160
|
-
mockZkPassportVerifier,
|
|
161
157
|
}: {
|
|
162
158
|
testName: string;
|
|
163
159
|
numberOfNodes: number;
|
|
@@ -166,7 +162,6 @@ export class P2PNetworkTest {
|
|
|
166
162
|
metricsPort?: number;
|
|
167
163
|
initialConfig?: SetupOptions;
|
|
168
164
|
startProverNode?: boolean;
|
|
169
|
-
mockZkPassportVerifier?: boolean;
|
|
170
165
|
}) {
|
|
171
166
|
const port = basePort || (await getPort());
|
|
172
167
|
|
|
@@ -187,7 +182,6 @@ export class P2PNetworkTest {
|
|
|
187
182
|
numberOfNodes,
|
|
188
183
|
metricsPort,
|
|
189
184
|
startProverNode,
|
|
190
|
-
mockZkPassportVerifier,
|
|
191
185
|
);
|
|
192
186
|
}
|
|
193
187
|
|
|
@@ -448,7 +442,7 @@ export class P2PNetworkTest {
|
|
|
448
442
|
slashFactory: SlashFactoryContract;
|
|
449
443
|
}> {
|
|
450
444
|
if (!this.ctx.deployL1ContractsValues) {
|
|
451
|
-
throw new Error('
|
|
445
|
+
throw new Error('DeployAztecL1ContractsValues not set');
|
|
452
446
|
}
|
|
453
447
|
|
|
454
448
|
const rollup = new RollupContract(
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import { BackendType, Barretenberg } from '@aztec/bb.js';
|
|
14
14
|
import { createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
15
15
|
import type { BlobSinkServer } from '@aztec/blob-sink/server';
|
|
16
|
-
import type {
|
|
16
|
+
import type { DeployAztecL1ContractsReturnType } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
17
17
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
18
18
|
import { SecretValue } from '@aztec/foundation/config';
|
|
19
19
|
import { FeeAssetHandlerAbi } from '@aztec/l1-artifacts';
|
|
@@ -78,7 +78,7 @@ export class FullProverTest {
|
|
|
78
78
|
private context!: SubsystemsContext;
|
|
79
79
|
private proverNode!: ProverNode;
|
|
80
80
|
private simulatedProverNode!: ProverNode;
|
|
81
|
-
public l1Contracts!:
|
|
81
|
+
public l1Contracts!: DeployAztecL1ContractsReturnType;
|
|
82
82
|
public proverAddress!: EthAddress;
|
|
83
83
|
|
|
84
84
|
constructor(
|
|
@@ -91,7 +91,7 @@ export class FullProverTest {
|
|
|
91
91
|
this.snapshotManager = createSnapshotManager(
|
|
92
92
|
`full_prover_integration/${testName}`,
|
|
93
93
|
dataPath,
|
|
94
|
-
{ startProverNode: true,
|
|
94
|
+
{ startProverNode: true, coinbase },
|
|
95
95
|
{
|
|
96
96
|
realVerifier: realProofs,
|
|
97
97
|
},
|
|
@@ -13,7 +13,11 @@ import { type BlobSinkServer, createBlobSinkServer } from '@aztec/blob-sink/serv
|
|
|
13
13
|
import { createExtendedL1Client } from '@aztec/ethereum/client';
|
|
14
14
|
import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
|
|
15
15
|
import { deployMulticall3 } from '@aztec/ethereum/contracts';
|
|
16
|
-
import
|
|
16
|
+
import {
|
|
17
|
+
type DeployAztecL1ContractsArgs,
|
|
18
|
+
type DeployAztecL1ContractsReturnType,
|
|
19
|
+
deployAztecL1Contracts,
|
|
20
|
+
} from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
17
21
|
import { EthCheatCodesWithState, startAnvil } from '@aztec/ethereum/test';
|
|
18
22
|
import { asyncMap } from '@aztec/foundation/async-map';
|
|
19
23
|
import { SecretValue } from '@aztec/foundation/config';
|
|
@@ -22,6 +26,8 @@ import { tryRmDir } from '@aztec/foundation/fs';
|
|
|
22
26
|
import { createLogger } from '@aztec/foundation/log';
|
|
23
27
|
import { resolver, reviver } from '@aztec/foundation/serialize';
|
|
24
28
|
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
29
|
+
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
30
|
+
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
25
31
|
import type { ProverNode } from '@aztec/prover-node';
|
|
26
32
|
import { getPXEConfig } from '@aztec/pxe/server';
|
|
27
33
|
import type { SequencerClient } from '@aztec/sequencer-client';
|
|
@@ -44,7 +50,6 @@ import { foundry } from 'viem/chains';
|
|
|
44
50
|
import { MNEMONIC, TEST_MAX_TX_POOL_SIZE, TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
|
|
45
51
|
import { getACVMConfig } from './get_acvm_config.js';
|
|
46
52
|
import { getBBConfig } from './get_bb_config.js';
|
|
47
|
-
import { setupL1Contracts } from './setup_l1_contracts.js';
|
|
48
53
|
import {
|
|
49
54
|
type SetupOptions,
|
|
50
55
|
createAndSyncProverNode,
|
|
@@ -61,7 +66,7 @@ export type SubsystemsContext = {
|
|
|
61
66
|
aztecNode: AztecNodeService;
|
|
62
67
|
aztecNodeConfig: AztecNodeConfig;
|
|
63
68
|
wallet: TestWallet;
|
|
64
|
-
deployL1ContractsValues:
|
|
69
|
+
deployL1ContractsValues: DeployAztecL1ContractsReturnType;
|
|
65
70
|
proverNode?: ProverNode;
|
|
66
71
|
watcher: AnvilTestWatcher;
|
|
67
72
|
cheatCodes: CheatCodes;
|
|
@@ -83,7 +88,7 @@ export function createSnapshotManager(
|
|
|
83
88
|
testName: string,
|
|
84
89
|
dataPath?: string,
|
|
85
90
|
config: Partial<SetupOptions> = {},
|
|
86
|
-
deployL1ContractsArgs: Partial<
|
|
91
|
+
deployL1ContractsArgs: Partial<DeployAztecL1ContractsArgs> = {
|
|
87
92
|
initialValidators: [],
|
|
88
93
|
},
|
|
89
94
|
) {
|
|
@@ -112,7 +117,7 @@ class MockSnapshotManager implements ISnapshotManager {
|
|
|
112
117
|
constructor(
|
|
113
118
|
testName: string,
|
|
114
119
|
private config: Partial<AztecNodeConfig> = {},
|
|
115
|
-
private deployL1ContractsArgs: Partial<
|
|
120
|
+
private deployL1ContractsArgs: Partial<DeployAztecL1ContractsArgs> = {},
|
|
116
121
|
) {
|
|
117
122
|
this.logger = createLogger(`e2e:snapshot_manager:${testName}`);
|
|
118
123
|
this.logger.warn(`No data path given, will not persist any snapshots.`);
|
|
@@ -160,7 +165,7 @@ class SnapshotManager implements ISnapshotManager {
|
|
|
160
165
|
testName: string,
|
|
161
166
|
private dataPath: string,
|
|
162
167
|
private config: Partial<SetupOptions> = {},
|
|
163
|
-
private deployL1ContractsArgs: Partial<
|
|
168
|
+
private deployL1ContractsArgs: Partial<DeployAztecL1ContractsArgs> = {},
|
|
164
169
|
) {
|
|
165
170
|
this.livePath = join(this.dataPath, 'live', testName);
|
|
166
171
|
this.logger = createLogger(`e2e:snapshot_manager:${testName}`);
|
|
@@ -286,7 +291,7 @@ async function setupFromFresh(
|
|
|
286
291
|
statePath: string | undefined,
|
|
287
292
|
logger: Logger,
|
|
288
293
|
{ numberOfInitialFundedAccounts = 10, ...opts }: SetupOptions = {},
|
|
289
|
-
deployL1ContractsArgs: Partial<
|
|
294
|
+
deployL1ContractsArgs: Partial<DeployAztecL1ContractsArgs> = {
|
|
290
295
|
initialValidators: [],
|
|
291
296
|
},
|
|
292
297
|
): Promise<SubsystemsContext> {
|
|
@@ -326,13 +331,14 @@ async function setupFromFresh(
|
|
|
326
331
|
const hdAccount = mnemonicToAccount(MNEMONIC, { addressIndex: 0 });
|
|
327
332
|
const publisherPrivKeyRaw = hdAccount.getHdKey().privateKey;
|
|
328
333
|
const publisherPrivKey = publisherPrivKeyRaw === null ? null : Buffer.from(publisherPrivKeyRaw);
|
|
334
|
+
const publisherPrivKeyHex = `0x${publisherPrivKey!.toString('hex')}` satisfies `0x${string}`;
|
|
329
335
|
|
|
330
336
|
const l1Client = createExtendedL1Client([aztecNodeConfig.l1RpcUrls[0]], hdAccount, foundry);
|
|
331
337
|
|
|
332
338
|
const validatorPrivKey = getPrivateKeyFromIndex(0);
|
|
333
339
|
const proverNodePrivateKey = getPrivateKeyFromIndex(0);
|
|
334
340
|
|
|
335
|
-
aztecNodeConfig.publisherPrivateKeys = [new SecretValue
|
|
341
|
+
aztecNodeConfig.publisherPrivateKeys = [new SecretValue(publisherPrivKeyHex)];
|
|
336
342
|
aztecNodeConfig.validatorPrivateKeys = new SecretValue([`0x${validatorPrivKey!.toString('hex')}`]);
|
|
337
343
|
aztecNodeConfig.coinbase = opts.coinbase ?? EthAddress.fromString(`${hdAccount.address}`);
|
|
338
344
|
|
|
@@ -348,7 +354,7 @@ async function setupFromFresh(
|
|
|
348
354
|
const ethCheatCodes = new EthCheatCodesWithState(aztecNodeConfig.l1RpcUrls, dateProvider);
|
|
349
355
|
|
|
350
356
|
// Deploy our L1 contracts.
|
|
351
|
-
logger.verbose('Deploying L1 contracts...');
|
|
357
|
+
logger.verbose('Deploying Aztec L1 contracts...');
|
|
352
358
|
if (opts.l1StartTime) {
|
|
353
359
|
await ethCheatCodes.warp(opts.l1StartTime, { resetBlockInterval: true });
|
|
354
360
|
}
|
|
@@ -360,16 +366,28 @@ async function setupFromFresh(
|
|
|
360
366
|
opts.initialAccountFeeJuice,
|
|
361
367
|
);
|
|
362
368
|
|
|
369
|
+
const vkTreeRoot = getVKTreeRoot();
|
|
363
370
|
await deployMulticall3(l1Client, logger);
|
|
364
371
|
|
|
365
|
-
|
|
372
|
+
// Define args, defaulted to our environment variables.
|
|
373
|
+
const args: DeployAztecL1ContractsArgs = {
|
|
366
374
|
...getL1ContractsConfigEnvVars(),
|
|
367
|
-
genesisArchiveRoot,
|
|
368
|
-
feeJuicePortalInitialBalance: fundingNeeded,
|
|
369
|
-
salt: opts.salt,
|
|
370
375
|
...deployL1ContractsArgs,
|
|
376
|
+
vkTreeRoot,
|
|
377
|
+
genesisArchiveRoot,
|
|
378
|
+
protocolContractsHash,
|
|
371
379
|
initialValidators: opts.initialValidators,
|
|
372
|
-
|
|
380
|
+
feeJuicePortalInitialBalance: fundingNeeded,
|
|
381
|
+
realVerifier: false,
|
|
382
|
+
};
|
|
383
|
+
|
|
384
|
+
const deployL1ContractsValues = await deployAztecL1Contracts(
|
|
385
|
+
aztecNodeConfig.l1RpcUrls[0],
|
|
386
|
+
publisherPrivKeyHex,
|
|
387
|
+
foundry.id,
|
|
388
|
+
args,
|
|
389
|
+
);
|
|
390
|
+
|
|
373
391
|
aztecNodeConfig.l1Contracts = deployL1ContractsValues.l1ContractAddresses;
|
|
374
392
|
aztecNodeConfig.rollupVersion = deployL1ContractsValues.rollupVersion;
|
|
375
393
|
|