@aztec/end-to-end 1.0.0-nightly.20250709 → 1.0.0-nightly.20250710
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.js +1 -1
- package/dest/e2e_deploy_contract/deploy_test.js +2 -2
- package/dest/e2e_epochs/epochs_test.js +2 -2
- package/dest/e2e_fees/fees_test.js +4 -4
- package/dest/e2e_p2p/shared.js +2 -2
- package/dest/fixtures/snapshot_manager.js +3 -3
- package/dest/fixtures/utils.d.ts +1 -1
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +8 -8
- package/dest/shared/uniswap_l1_l2.js +2 -2
- package/package.json +35 -35
- package/src/bench/client_flows/client_flows_benchmark.ts +1 -1
- package/src/e2e_deploy_contract/deploy_test.ts +2 -2
- package/src/e2e_epochs/epochs_test.ts +2 -2
- package/src/e2e_fees/fees_test.ts +4 -4
- package/src/e2e_p2p/shared.ts +2 -2
- package/src/fixtures/snapshot_manager.ts +3 -3
- package/src/fixtures/utils.ts +8 -8
- package/src/shared/uniswap_l1_l2.ts +2 -2
|
@@ -212,7 +212,7 @@ export class ClientFlowsBenchmark {
|
|
|
212
212
|
async applyFPCSetupSnapshot() {
|
|
213
213
|
await this.snapshotManager.snapshot('fpc_setup', async (context)=>{
|
|
214
214
|
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
215
|
-
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).
|
|
215
|
+
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
216
216
|
const bananaCoin = this.bananaCoin;
|
|
217
217
|
const bananaFPC = await FPCContract.deploy(this.adminWallet, bananaCoin.address, this.adminAddress).send().deployed();
|
|
218
218
|
this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getSchnorrWallet } from '@aztec/accounts/schnorr';
|
|
2
|
-
import { Fr, createLogger,
|
|
2
|
+
import { Fr, createLogger, getContractInstanceFromInstantiationParams } from '@aztec/aztec.js';
|
|
3
3
|
import { createSnapshotManager, deployAccounts } from '../fixtures/snapshot_manager.js';
|
|
4
4
|
const { E2E_DATA_PATH: dataPath } = process.env;
|
|
5
5
|
export class DeployTest {
|
|
@@ -33,7 +33,7 @@ export class DeployTest {
|
|
|
33
33
|
}
|
|
34
34
|
async registerContract(wallet, contractArtifact, opts = {}) {
|
|
35
35
|
const { salt, publicKeys, initArgs, constructorName, deployer } = opts;
|
|
36
|
-
const instance = await
|
|
36
|
+
const instance = await getContractInstanceFromInstantiationParams(contractArtifact.artifact, {
|
|
37
37
|
constructorArgs: initArgs ?? [],
|
|
38
38
|
constructorArtifact: constructorName,
|
|
39
39
|
salt,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AztecNodeService } from '@aztec/aztec-node';
|
|
2
|
-
import { Fr, MerkleTreeId,
|
|
2
|
+
import { Fr, MerkleTreeId, getContractInstanceFromInstantiationParams, getTimestampRangeForEpoch, retryUntil, sleep } from '@aztec/aztec.js';
|
|
3
3
|
import { createExtendedL1Client } from '@aztec/ethereum';
|
|
4
4
|
import { RollupContract } from '@aztec/ethereum/contracts';
|
|
5
5
|
import { ChainMonitor, DelayedTxUtils, waitUntilL1Timestamp, withDelayer } from '@aztec/ethereum/test';
|
|
@@ -239,7 +239,7 @@ export const ARCHIVER_POLL_INTERVAL = 50;
|
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
/** Registers the SpamContract on the given wallet. */ async registerSpamContract(wallet, salt = Fr.ZERO) {
|
|
242
|
-
const instance = await
|
|
242
|
+
const instance = await getContractInstanceFromInstantiationParams(SpamContract.artifact, {
|
|
243
243
|
constructorArgs: [],
|
|
244
244
|
constructorArtifact: undefined,
|
|
245
245
|
salt,
|
|
@@ -19,7 +19,7 @@ import { getContract } from 'viem';
|
|
|
19
19
|
import { MNEMONIC } from '../fixtures/fixtures.js';
|
|
20
20
|
import { createSnapshotManager, deployAccounts } from '../fixtures/snapshot_manager.js';
|
|
21
21
|
import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
22
|
-
import {
|
|
22
|
+
import { ensureAccountContractsPublished, getBalancesFn, setupSponsoredFPC } from '../fixtures/utils.js';
|
|
23
23
|
import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_harness.js';
|
|
24
24
|
const { E2E_DATA_PATH: dataPath } = process.env;
|
|
25
25
|
/**
|
|
@@ -158,7 +158,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
158
158
|
});
|
|
159
159
|
}
|
|
160
160
|
async applyPublicDeployAccountsSnapshot() {
|
|
161
|
-
await this.snapshotManager.snapshot('public_deploy_accounts', ()=>
|
|
161
|
+
await this.snapshotManager.snapshot('public_deploy_accounts', ()=>ensureAccountContractsPublished(this.aliceWallet, this.wallets));
|
|
162
162
|
}
|
|
163
163
|
async applySetupFeeJuiceSnapshot() {
|
|
164
164
|
await this.snapshotManager.snapshot('setup_fee_juice', async ()=>{}, async (_data, context)=>{
|
|
@@ -192,7 +192,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
192
192
|
async applyFPCSetupSnapshot() {
|
|
193
193
|
await this.snapshotManager.snapshot('fpc_setup', async (context)=>{
|
|
194
194
|
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
195
|
-
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).
|
|
195
|
+
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
196
196
|
const bananaCoin = this.bananaCoin;
|
|
197
197
|
const bananaFPC = await FPCContract.deploy(this.aliceWallet, bananaCoin.address, this.fpcAdmin).send().deployed();
|
|
198
198
|
this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
|
|
@@ -245,7 +245,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
245
245
|
async applySponsoredFPCSetupSnapshot() {
|
|
246
246
|
await this.snapshotManager.snapshot('sponsored_fpc_setup', async (context)=>{
|
|
247
247
|
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
248
|
-
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).
|
|
248
|
+
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
249
249
|
const sponsoredFPC = await setupSponsoredFPC(context.pxe);
|
|
250
250
|
this.logger.info(`SponsoredFPC at ${sponsoredFPC.address}`);
|
|
251
251
|
return {
|
package/dest/e2e_p2p/shared.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getSchnorrAccount } from '@aztec/accounts/schnorr';
|
|
2
|
-
import { Fr, TxStatus,
|
|
2
|
+
import { Fr, TxStatus, getContractInstanceFromInstantiationParams, retryUntil } from '@aztec/aztec.js';
|
|
3
3
|
import { timesAsync } from '@aztec/foundation/collection';
|
|
4
4
|
import { TestContract, TestContractArtifact } from '@aztec/noir-test-contracts.js/Test';
|
|
5
5
|
import { createPXEService, getPXEServiceConfig as getRpcConfig } from '@aztec/pxe/server';
|
|
@@ -50,7 +50,7 @@ export async function createPXEServiceAndPrepareTransactions(logger, node, numTx
|
|
|
50
50
|
const account = await getSchnorrAccount(pxe, fundedAccount.secret, fundedAccount.signingKey, fundedAccount.salt);
|
|
51
51
|
await account.register();
|
|
52
52
|
const wallet = await account.getWallet();
|
|
53
|
-
const testContractInstance = await
|
|
53
|
+
const testContractInstance = await getContractInstanceFromInstantiationParams(TestContractArtifact, {});
|
|
54
54
|
await wallet.registerContract({
|
|
55
55
|
instance: testContractInstance,
|
|
56
56
|
artifact: TestContractArtifact
|
|
@@ -2,7 +2,7 @@ import { SchnorrAccountContractArtifact } from '@aztec/accounts/schnorr';
|
|
|
2
2
|
import { deployFundedSchnorrAccounts, generateSchnorrAccounts } from '@aztec/accounts/testing';
|
|
3
3
|
import { AztecNodeService, getConfigEnvVars } from '@aztec/aztec-node';
|
|
4
4
|
import { BatchCall, DefaultWaitForProvenOpts, getContractClassFromArtifact, waitForProven } from '@aztec/aztec.js';
|
|
5
|
-
import {
|
|
5
|
+
import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
|
|
6
6
|
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
7
7
|
import { createBlobSinkServer } from '@aztec/blob-sink/server';
|
|
8
8
|
import { createExtendedL1Client, deployMulticall3, getL1ContractsConfigEnvVars, l1Artifacts } from '@aztec/ethereum';
|
|
@@ -492,9 +492,9 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
|
|
|
492
492
|
const alreadyRegistered = (await sender.getContractClassMetadata(contractClass.id)).isContractClassPubliclyRegistered;
|
|
493
493
|
const calls = await Promise.all([
|
|
494
494
|
...!alreadyRegistered ? [
|
|
495
|
-
|
|
495
|
+
publishContractClass(sender, SchnorrAccountContractArtifact)
|
|
496
496
|
] : [],
|
|
497
|
-
...instances.map((instance)=>
|
|
497
|
+
...instances.map((instance)=>publishInstance(sender, instance))
|
|
498
498
|
]);
|
|
499
499
|
const batch = new BatchCall(sender, calls);
|
|
500
500
|
const txReceipt = await batch.send().wait();
|
package/dest/fixtures/utils.d.ts
CHANGED
|
@@ -142,7 +142,7 @@ export declare function setup(numberOfAccounts?: number, opts?: SetupOptions, px
|
|
|
142
142
|
* @param sender - Wallet to send the deployment tx.
|
|
143
143
|
* @param accountsToDeploy - Which accounts to publicly deploy.
|
|
144
144
|
*/
|
|
145
|
-
export declare function
|
|
145
|
+
export declare function ensureAccountContractsPublished(sender: Wallet, accountsToDeploy: Wallet[]): Promise<void>;
|
|
146
146
|
/**
|
|
147
147
|
* Sets the timestamp of the next block.
|
|
148
148
|
* @param rpcUrl - rpc url of the blockchain instance to connect to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":"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"}
|
package/dest/fixtures/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ import { deployFundedSchnorrAccounts, generateSchnorrAccounts, getDeployedTestAc
|
|
|
3
3
|
import { createArchiver } from '@aztec/archiver';
|
|
4
4
|
import { AztecNodeService, getConfigEnvVars } from '@aztec/aztec-node';
|
|
5
5
|
import { BatchCall, createAztecNodeClient, createLogger, createPXEClient, makeFetch, sleep, waitForPXE } from '@aztec/aztec.js';
|
|
6
|
-
import {
|
|
6
|
+
import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
|
|
7
7
|
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
8
8
|
import { createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
9
9
|
import { createBlobSinkServer } from '@aztec/blob-sink/server';
|
|
@@ -26,7 +26,7 @@ import { createProverNode } from '@aztec/prover-node';
|
|
|
26
26
|
import { createPXEServiceWithSimulator, getPXEServiceConfig } from '@aztec/pxe/server';
|
|
27
27
|
import { MemoryCircuitRecorder, SimulatorRecorderWrapper, WASMSimulator } from '@aztec/simulator/client';
|
|
28
28
|
import { FileCircuitRecorder } from '@aztec/simulator/testing';
|
|
29
|
-
import { getContractClassFromArtifact,
|
|
29
|
+
import { getContractClassFromArtifact, getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
|
|
30
30
|
import { tryStop } from '@aztec/stdlib/interfaces/server';
|
|
31
31
|
import { getConfigEnvVars as getTelemetryConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
32
32
|
import { BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
|
|
@@ -476,22 +476,22 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
476
476
|
* @param sender - Wallet to send the deployment tx.
|
|
477
477
|
* @param accountsToDeploy - Which accounts to publicly deploy.
|
|
478
478
|
*/ // docs:start:public_deploy_accounts
|
|
479
|
-
export async function
|
|
479
|
+
export async function ensureAccountContractsPublished(sender, accountsToDeploy) {
|
|
480
480
|
// We have to check whether the accounts are already deployed. This can happen if the test runs against
|
|
481
481
|
// the sandbox and the test accounts exist
|
|
482
482
|
const accountsAndAddresses = await Promise.all(accountsToDeploy.map(async (account)=>{
|
|
483
483
|
const address = account.getAddress();
|
|
484
484
|
return {
|
|
485
485
|
address,
|
|
486
|
-
deployed: (await sender.getContractMetadata(address)).
|
|
486
|
+
deployed: (await sender.getContractMetadata(address)).isContractPublished
|
|
487
487
|
};
|
|
488
488
|
}));
|
|
489
489
|
const instances = (await Promise.all(accountsAndAddresses.filter(({ deployed })=>!deployed).map(({ address })=>sender.getContractMetadata(address)))).map((contractMetadata)=>contractMetadata.contractInstance);
|
|
490
490
|
const contractClass = await getContractClassFromArtifact(SchnorrAccountContractArtifact);
|
|
491
491
|
if (!(await sender.getContractClassMetadata(contractClass.id, true)).isContractClassPubliclyRegistered) {
|
|
492
|
-
await (await
|
|
492
|
+
await (await publishContractClass(sender, SchnorrAccountContractArtifact)).send().wait();
|
|
493
493
|
}
|
|
494
|
-
const requests = await Promise.all(instances.map(async (instance)=>await
|
|
494
|
+
const requests = await Promise.all(instances.map(async (instance)=>await publishInstance(sender, instance)));
|
|
495
495
|
const batch = new BatchCall(sender, requests);
|
|
496
496
|
await batch.send().wait();
|
|
497
497
|
}
|
|
@@ -550,7 +550,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
|
|
|
550
550
|
* but by conventions its address is computed with a salt of 0.
|
|
551
551
|
* @returns The address of the sponsored FPC contract
|
|
552
552
|
*/ export function getSponsoredFPCInstance() {
|
|
553
|
-
return Promise.resolve(
|
|
553
|
+
return Promise.resolve(getContractInstanceFromInstantiationParams(SponsoredFPCContract.artifact, {
|
|
554
554
|
salt: new Fr(SPONSORED_FPC_SALT)
|
|
555
555
|
}));
|
|
556
556
|
}
|
|
@@ -565,7 +565,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
|
|
|
565
565
|
/**
|
|
566
566
|
* Deploy a sponsored FPC contract to a running instance.
|
|
567
567
|
*/ export async function setupSponsoredFPC(pxe) {
|
|
568
|
-
const instance = await
|
|
568
|
+
const instance = await getContractInstanceFromInstantiationParams(SponsoredFPCContract.artifact, {
|
|
569
569
|
salt: new Fr(SPONSORED_FPC_SALT)
|
|
570
570
|
});
|
|
571
571
|
await pxe.registerContract({
|
|
@@ -7,7 +7,7 @@ import { computeL2ToL1MessageHash } from '@aztec/stdlib/hash';
|
|
|
7
7
|
import { computeL2ToL1MembershipWitness } from '@aztec/stdlib/messaging';
|
|
8
8
|
import { jest } from '@jest/globals';
|
|
9
9
|
import { getContract, parseEther, toFunctionSelector } from 'viem';
|
|
10
|
-
import {
|
|
10
|
+
import { ensureAccountContractsPublished } from '../fixtures/utils.js';
|
|
11
11
|
import { CrossChainTestHarness } from './cross_chain_test_harness.js';
|
|
12
12
|
// PSA: This tests works on forked mainnet. There is a dump of the data in `dumpedState` such that we
|
|
13
13
|
// don't need to burn through RPC requests.
|
|
@@ -56,7 +56,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
56
56
|
ownerAddress = ownerWallet.getAddress();
|
|
57
57
|
// sponsorAddress = sponsorWallet.getAddress();
|
|
58
58
|
ownerEthAddress = EthAddress.fromString((await l1Client.getAddresses())[0]);
|
|
59
|
-
await
|
|
59
|
+
await ensureAccountContractsPublished(ownerWallet, [
|
|
60
60
|
ownerWallet,
|
|
61
61
|
sponsorWallet
|
|
62
62
|
]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "1.0.0-nightly.
|
|
3
|
+
"version": "1.0.0-nightly.20250710",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,40 +25,40 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "1.0.0-nightly.
|
|
29
|
-
"@aztec/archiver": "1.0.0-nightly.
|
|
30
|
-
"@aztec/aztec": "1.0.0-nightly.
|
|
31
|
-
"@aztec/aztec-node": "1.0.0-nightly.
|
|
32
|
-
"@aztec/aztec.js": "1.0.0-nightly.
|
|
33
|
-
"@aztec/bb-prover": "1.0.0-nightly.
|
|
34
|
-
"@aztec/blob-lib": "1.0.0-nightly.
|
|
35
|
-
"@aztec/blob-sink": "1.0.0-nightly.
|
|
36
|
-
"@aztec/bot": "1.0.0-nightly.
|
|
37
|
-
"@aztec/cli": "1.0.0-nightly.
|
|
38
|
-
"@aztec/constants": "1.0.0-nightly.
|
|
39
|
-
"@aztec/entrypoints": "1.0.0-nightly.
|
|
40
|
-
"@aztec/epoch-cache": "1.0.0-nightly.
|
|
41
|
-
"@aztec/ethereum": "1.0.0-nightly.
|
|
42
|
-
"@aztec/foundation": "1.0.0-nightly.
|
|
43
|
-
"@aztec/kv-store": "1.0.0-nightly.
|
|
44
|
-
"@aztec/l1-artifacts": "1.0.0-nightly.
|
|
45
|
-
"@aztec/merkle-tree": "1.0.0-nightly.
|
|
46
|
-
"@aztec/noir-contracts.js": "1.0.0-nightly.
|
|
47
|
-
"@aztec/noir-noirc_abi": "1.0.0-nightly.
|
|
48
|
-
"@aztec/noir-protocol-circuits-types": "1.0.0-nightly.
|
|
49
|
-
"@aztec/noir-test-contracts.js": "1.0.0-nightly.
|
|
50
|
-
"@aztec/p2p": "1.0.0-nightly.
|
|
51
|
-
"@aztec/protocol-contracts": "1.0.0-nightly.
|
|
52
|
-
"@aztec/prover-client": "1.0.0-nightly.
|
|
53
|
-
"@aztec/prover-node": "1.0.0-nightly.
|
|
54
|
-
"@aztec/pxe": "1.0.0-nightly.
|
|
55
|
-
"@aztec/sequencer-client": "1.0.0-nightly.
|
|
56
|
-
"@aztec/simulator": "1.0.0-nightly.
|
|
57
|
-
"@aztec/slasher": "1.0.0-nightly.
|
|
58
|
-
"@aztec/stdlib": "1.0.0-nightly.
|
|
59
|
-
"@aztec/telemetry-client": "1.0.0-nightly.
|
|
60
|
-
"@aztec/validator-client": "1.0.0-nightly.
|
|
61
|
-
"@aztec/world-state": "1.0.0-nightly.
|
|
28
|
+
"@aztec/accounts": "1.0.0-nightly.20250710",
|
|
29
|
+
"@aztec/archiver": "1.0.0-nightly.20250710",
|
|
30
|
+
"@aztec/aztec": "1.0.0-nightly.20250710",
|
|
31
|
+
"@aztec/aztec-node": "1.0.0-nightly.20250710",
|
|
32
|
+
"@aztec/aztec.js": "1.0.0-nightly.20250710",
|
|
33
|
+
"@aztec/bb-prover": "1.0.0-nightly.20250710",
|
|
34
|
+
"@aztec/blob-lib": "1.0.0-nightly.20250710",
|
|
35
|
+
"@aztec/blob-sink": "1.0.0-nightly.20250710",
|
|
36
|
+
"@aztec/bot": "1.0.0-nightly.20250710",
|
|
37
|
+
"@aztec/cli": "1.0.0-nightly.20250710",
|
|
38
|
+
"@aztec/constants": "1.0.0-nightly.20250710",
|
|
39
|
+
"@aztec/entrypoints": "1.0.0-nightly.20250710",
|
|
40
|
+
"@aztec/epoch-cache": "1.0.0-nightly.20250710",
|
|
41
|
+
"@aztec/ethereum": "1.0.0-nightly.20250710",
|
|
42
|
+
"@aztec/foundation": "1.0.0-nightly.20250710",
|
|
43
|
+
"@aztec/kv-store": "1.0.0-nightly.20250710",
|
|
44
|
+
"@aztec/l1-artifacts": "1.0.0-nightly.20250710",
|
|
45
|
+
"@aztec/merkle-tree": "1.0.0-nightly.20250710",
|
|
46
|
+
"@aztec/noir-contracts.js": "1.0.0-nightly.20250710",
|
|
47
|
+
"@aztec/noir-noirc_abi": "1.0.0-nightly.20250710",
|
|
48
|
+
"@aztec/noir-protocol-circuits-types": "1.0.0-nightly.20250710",
|
|
49
|
+
"@aztec/noir-test-contracts.js": "1.0.0-nightly.20250710",
|
|
50
|
+
"@aztec/p2p": "1.0.0-nightly.20250710",
|
|
51
|
+
"@aztec/protocol-contracts": "1.0.0-nightly.20250710",
|
|
52
|
+
"@aztec/prover-client": "1.0.0-nightly.20250710",
|
|
53
|
+
"@aztec/prover-node": "1.0.0-nightly.20250710",
|
|
54
|
+
"@aztec/pxe": "1.0.0-nightly.20250710",
|
|
55
|
+
"@aztec/sequencer-client": "1.0.0-nightly.20250710",
|
|
56
|
+
"@aztec/simulator": "1.0.0-nightly.20250710",
|
|
57
|
+
"@aztec/slasher": "1.0.0-nightly.20250710",
|
|
58
|
+
"@aztec/stdlib": "1.0.0-nightly.20250710",
|
|
59
|
+
"@aztec/telemetry-client": "1.0.0-nightly.20250710",
|
|
60
|
+
"@aztec/validator-client": "1.0.0-nightly.20250710",
|
|
61
|
+
"@aztec/world-state": "1.0.0-nightly.20250710",
|
|
62
62
|
"@iarna/toml": "^2.2.5",
|
|
63
63
|
"@jest/globals": "^30.0.0",
|
|
64
64
|
"@noble/curves": "^1.0.0",
|
|
@@ -291,7 +291,7 @@ export class ClientFlowsBenchmark {
|
|
|
291
291
|
'fpc_setup',
|
|
292
292
|
async context => {
|
|
293
293
|
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
294
|
-
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).
|
|
294
|
+
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
295
295
|
|
|
296
296
|
const bananaCoin = this.bananaCoin;
|
|
297
297
|
const bananaFPC = await FPCContract.deploy(this.adminWallet, bananaCoin.address, this.adminAddress)
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
type PublicKeys,
|
|
12
12
|
type Wallet,
|
|
13
13
|
createLogger,
|
|
14
|
-
|
|
14
|
+
getContractInstanceFromInstantiationParams,
|
|
15
15
|
} from '@aztec/aztec.js';
|
|
16
16
|
import type { StatefulTestContract } from '@aztec/noir-test-contracts.js/StatefulTest';
|
|
17
17
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
@@ -71,7 +71,7 @@ export class DeployTest {
|
|
|
71
71
|
} = {},
|
|
72
72
|
): Promise<T> {
|
|
73
73
|
const { salt, publicKeys, initArgs, constructorName, deployer } = opts;
|
|
74
|
-
const instance = await
|
|
74
|
+
const instance = await getContractInstanceFromInstantiationParams(contractArtifact.artifact, {
|
|
75
75
|
constructorArgs: initArgs ?? [],
|
|
76
76
|
constructorArtifact: constructorName,
|
|
77
77
|
salt,
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
type Logger,
|
|
5
5
|
MerkleTreeId,
|
|
6
6
|
type Wallet,
|
|
7
|
-
|
|
7
|
+
getContractInstanceFromInstantiationParams,
|
|
8
8
|
getTimestampRangeForEpoch,
|
|
9
9
|
retryUntil,
|
|
10
10
|
sleep,
|
|
@@ -324,7 +324,7 @@ export class EpochsTestContext {
|
|
|
324
324
|
|
|
325
325
|
/** Registers the SpamContract on the given wallet. */
|
|
326
326
|
public async registerSpamContract(wallet: Wallet, salt = Fr.ZERO) {
|
|
327
|
-
const instance = await
|
|
327
|
+
const instance = await getContractInstanceFromInstantiationParams(SpamContract.artifact, {
|
|
328
328
|
constructorArgs: [],
|
|
329
329
|
constructorArtifact: undefined,
|
|
330
330
|
salt,
|
|
@@ -43,7 +43,7 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
43
43
|
import {
|
|
44
44
|
type BalancesFn,
|
|
45
45
|
type SetupOptions,
|
|
46
|
-
|
|
46
|
+
ensureAccountContractsPublished,
|
|
47
47
|
getBalancesFn,
|
|
48
48
|
setupSponsoredFPC,
|
|
49
49
|
} from '../fixtures/utils.js';
|
|
@@ -216,7 +216,7 @@ export class FeesTest {
|
|
|
216
216
|
|
|
217
217
|
async applyPublicDeployAccountsSnapshot() {
|
|
218
218
|
await this.snapshotManager.snapshot('public_deploy_accounts', () =>
|
|
219
|
-
|
|
219
|
+
ensureAccountContractsPublished(this.aliceWallet, this.wallets),
|
|
220
220
|
);
|
|
221
221
|
}
|
|
222
222
|
|
|
@@ -271,7 +271,7 @@ export class FeesTest {
|
|
|
271
271
|
'fpc_setup',
|
|
272
272
|
async context => {
|
|
273
273
|
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
274
|
-
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).
|
|
274
|
+
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
275
275
|
|
|
276
276
|
const bananaCoin = this.bananaCoin;
|
|
277
277
|
const bananaFPC = await FPCContract.deploy(this.aliceWallet, bananaCoin.address, this.fpcAdmin)
|
|
@@ -347,7 +347,7 @@ export class FeesTest {
|
|
|
347
347
|
'sponsored_fpc_setup',
|
|
348
348
|
async context => {
|
|
349
349
|
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
350
|
-
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).
|
|
350
|
+
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
351
351
|
|
|
352
352
|
const sponsoredFPC = await setupSponsoredFPC(context.pxe);
|
|
353
353
|
this.logger.info(`SponsoredFPC at ${sponsoredFPC.address}`);
|
package/src/e2e_p2p/shared.ts
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
ProvenTx,
|
|
8
8
|
type SentTx,
|
|
9
9
|
TxStatus,
|
|
10
|
-
|
|
10
|
+
getContractInstanceFromInstantiationParams,
|
|
11
11
|
retryUntil,
|
|
12
12
|
} from '@aztec/aztec.js';
|
|
13
13
|
import type { RollupCheatCodes } from '@aztec/aztec/testing';
|
|
@@ -92,7 +92,7 @@ export async function createPXEServiceAndPrepareTransactions(
|
|
|
92
92
|
await account.register();
|
|
93
93
|
const wallet = await account.getWallet();
|
|
94
94
|
|
|
95
|
-
const testContractInstance = await
|
|
95
|
+
const testContractInstance = await getContractInstanceFromInstantiationParams(TestContractArtifact, {});
|
|
96
96
|
await wallet.registerContract({ instance: testContractInstance, artifact: TestContractArtifact });
|
|
97
97
|
const contract = await TestContract.at(testContractInstance.address, wallet);
|
|
98
98
|
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
getContractClassFromArtifact,
|
|
15
15
|
waitForProven,
|
|
16
16
|
} from '@aztec/aztec.js';
|
|
17
|
-
import {
|
|
17
|
+
import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
|
|
18
18
|
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
19
19
|
import { type BlobSinkServer, createBlobSinkServer } from '@aztec/blob-sink/server';
|
|
20
20
|
import {
|
|
@@ -657,8 +657,8 @@ export async function publicDeployAccounts(
|
|
|
657
657
|
const alreadyRegistered = (await sender.getContractClassMetadata(contractClass.id)).isContractClassPubliclyRegistered;
|
|
658
658
|
|
|
659
659
|
const calls: ContractFunctionInteraction[] = await Promise.all([
|
|
660
|
-
...(!alreadyRegistered ? [
|
|
661
|
-
...instances.map(instance =>
|
|
660
|
+
...(!alreadyRegistered ? [publishContractClass(sender, SchnorrAccountContractArtifact)] : []),
|
|
661
|
+
...instances.map(instance => publishInstance(sender, instance!)),
|
|
662
662
|
]);
|
|
663
663
|
|
|
664
664
|
const batch = new BatchCall(sender, calls);
|
package/src/fixtures/utils.ts
CHANGED
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
sleep,
|
|
26
26
|
waitForPXE,
|
|
27
27
|
} from '@aztec/aztec.js';
|
|
28
|
-
import {
|
|
28
|
+
import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
|
|
29
29
|
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
30
30
|
import { createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
31
31
|
import { type BlobSinkServer, createBlobSinkServer } from '@aztec/blob-sink/server';
|
|
@@ -71,7 +71,7 @@ import { FileCircuitRecorder } from '@aztec/simulator/testing';
|
|
|
71
71
|
import {
|
|
72
72
|
type ContractInstanceWithAddress,
|
|
73
73
|
getContractClassFromArtifact,
|
|
74
|
-
|
|
74
|
+
getContractInstanceFromInstantiationParams,
|
|
75
75
|
} from '@aztec/stdlib/contract';
|
|
76
76
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
77
77
|
import { tryStop } from '@aztec/stdlib/interfaces/server';
|
|
@@ -722,7 +722,7 @@ export async function setup(
|
|
|
722
722
|
*/
|
|
723
723
|
|
|
724
724
|
// docs:start:public_deploy_accounts
|
|
725
|
-
export async function
|
|
725
|
+
export async function ensureAccountContractsPublished(sender: Wallet, accountsToDeploy: Wallet[]) {
|
|
726
726
|
// We have to check whether the accounts are already deployed. This can happen if the test runs against
|
|
727
727
|
// the sandbox and the test accounts exist
|
|
728
728
|
const accountsAndAddresses = await Promise.all(
|
|
@@ -730,7 +730,7 @@ export async function ensureAccountsPubliclyDeployed(sender: Wallet, accountsToD
|
|
|
730
730
|
const address = account.getAddress();
|
|
731
731
|
return {
|
|
732
732
|
address,
|
|
733
|
-
deployed: (await sender.getContractMetadata(address)).
|
|
733
|
+
deployed: (await sender.getContractMetadata(address)).isContractPublished,
|
|
734
734
|
};
|
|
735
735
|
}),
|
|
736
736
|
);
|
|
@@ -743,9 +743,9 @@ export async function ensureAccountsPubliclyDeployed(sender: Wallet, accountsToD
|
|
|
743
743
|
).map(contractMetadata => contractMetadata.contractInstance);
|
|
744
744
|
const contractClass = await getContractClassFromArtifact(SchnorrAccountContractArtifact);
|
|
745
745
|
if (!(await sender.getContractClassMetadata(contractClass.id, true)).isContractClassPubliclyRegistered) {
|
|
746
|
-
await (await
|
|
746
|
+
await (await publishContractClass(sender, SchnorrAccountContractArtifact)).send().wait();
|
|
747
747
|
}
|
|
748
|
-
const requests = await Promise.all(instances.map(async instance => await
|
|
748
|
+
const requests = await Promise.all(instances.map(async instance => await publishInstance(sender, instance!)));
|
|
749
749
|
const batch = new BatchCall(sender, requests);
|
|
750
750
|
await batch.send().wait();
|
|
751
751
|
}
|
|
@@ -833,7 +833,7 @@ export async function expectMappingDelta<K, V extends number | bigint>(
|
|
|
833
833
|
*/
|
|
834
834
|
export function getSponsoredFPCInstance(): Promise<ContractInstanceWithAddress> {
|
|
835
835
|
return Promise.resolve(
|
|
836
|
-
|
|
836
|
+
getContractInstanceFromInstantiationParams(SponsoredFPCContract.artifact, {
|
|
837
837
|
salt: new Fr(SPONSORED_FPC_SALT),
|
|
838
838
|
}),
|
|
839
839
|
);
|
|
@@ -853,7 +853,7 @@ export async function getSponsoredFPCAddress() {
|
|
|
853
853
|
* Deploy a sponsored FPC contract to a running instance.
|
|
854
854
|
*/
|
|
855
855
|
export async function setupSponsoredFPC(pxe: PXE) {
|
|
856
|
-
const instance = await
|
|
856
|
+
const instance = await getContractInstanceFromInstantiationParams(SponsoredFPCContract.artifact, {
|
|
857
857
|
salt: new Fr(SPONSORED_FPC_SALT),
|
|
858
858
|
});
|
|
859
859
|
|
|
@@ -26,7 +26,7 @@ import { computeL2ToL1MembershipWitness } from '@aztec/stdlib/messaging';
|
|
|
26
26
|
import { jest } from '@jest/globals';
|
|
27
27
|
import { type GetContractReturnType, getContract, parseEther, toFunctionSelector } from 'viem';
|
|
28
28
|
|
|
29
|
-
import {
|
|
29
|
+
import { ensureAccountContractsPublished } from '../fixtures/utils.js';
|
|
30
30
|
import { CrossChainTestHarness } from './cross_chain_test_harness.js';
|
|
31
31
|
|
|
32
32
|
// PSA: This tests works on forked mainnet. There is a dump of the data in `dumpedState` such that we
|
|
@@ -117,7 +117,7 @@ export const uniswapL1L2TestSuite = (
|
|
|
117
117
|
// sponsorAddress = sponsorWallet.getAddress();
|
|
118
118
|
ownerEthAddress = EthAddress.fromString((await l1Client.getAddresses())[0]);
|
|
119
119
|
|
|
120
|
-
await
|
|
120
|
+
await ensureAccountContractsPublished(ownerWallet, [ownerWallet, sponsorWallet]);
|
|
121
121
|
|
|
122
122
|
logger.info('Deploying DAI Portal, initializing and deploying l2 contract...');
|
|
123
123
|
daiCrossChainHarness = await CrossChainTestHarness.new(
|