@aztec/end-to-end 0.86.0 → 0.87.0
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/bench/client_flows/config.d.ts +1 -1
- package/dest/bench/client_flows/config.d.ts.map +1 -1
- package/dest/bench/client_flows/config.js +22 -3
- package/dest/bench/client_flows/data_extractor.d.ts.map +1 -1
- package/dest/bench/client_flows/data_extractor.js +23 -12
- package/dest/bench/utils.d.ts +1 -1
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +9 -5
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +1 -1
- 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 -1
- 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_deploy_contract/deploy_test.d.ts +1 -1
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts +13 -5
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +41 -16
- package/dest/e2e_fees/bridging_race.notest.d.ts +2 -0
- package/dest/e2e_fees/bridging_race.notest.d.ts.map +1 -0
- package/dest/e2e_fees/bridging_race.notest.js +60 -0
- package/dest/e2e_fees/fees_test.d.ts +1 -1
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +15 -9
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +2 -2
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +2 -2
- package/dest/e2e_p2p/p2p_network.d.ts +10 -214
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +20 -23
- package/dest/e2e_p2p/shared.d.ts +1 -1
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +3 -7
- package/dest/e2e_prover/e2e_prover_test.d.ts.map +1 -1
- package/dest/e2e_prover/e2e_prover_test.js +2 -1
- package/dest/e2e_token_contract/token_contract_test.d.ts +1 -1
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +1 -1
- package/dest/fixtures/fixtures.d.ts +4 -6
- package/dest/fixtures/fixtures.d.ts.map +1 -1
- package/dest/fixtures/fixtures.js +2 -2
- package/dest/fixtures/get_bb_config.d.ts.map +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_l1_contracts.d.ts +1 -1
- package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.d.ts +1 -2
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +3 -3
- package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
- package/dest/fixtures/snapshot_manager.js +6 -2
- package/dest/fixtures/utils.d.ts +6 -6
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +64 -63
- package/dest/shared/capture_private_execution_steps.d.ts.map +1 -1
- package/dest/shared/capture_private_execution_steps.js +8 -4
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +1 -1
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/simulators/token_simulator.js +1 -1
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/utils.d.ts +0 -1
- package/dest/spartan/utils.d.ts.map +1 -1
- package/package.json +38 -37
- package/src/bench/client_flows/client_flows_benchmark.ts +1 -1
- package/src/bench/client_flows/config.ts +12 -4
- package/src/bench/client_flows/data_extractor.ts +40 -20
- package/src/bench/utils.ts +7 -3
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +1 -1
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +16 -5
- package/src/e2e_deploy_contract/deploy_test.ts +1 -1
- package/src/e2e_epochs/epochs_test.ts +51 -18
- package/src/e2e_fees/bridging_race.notest.ts +74 -0
- package/src/e2e_fees/fees_test.ts +24 -9
- package/src/e2e_nested_contract/nested_contract_test.ts +6 -3
- package/src/e2e_p2p/p2p_network.ts +27 -21
- package/src/e2e_p2p/shared.ts +4 -6
- package/src/e2e_prover/e2e_prover_test.ts +1 -0
- package/src/e2e_token_contract/token_contract_test.ts +1 -1
- package/src/fixtures/dumps/epoch_proof_result.json +1 -1
- package/src/fixtures/fixtures.ts +2 -2
- package/src/fixtures/l1_to_l2_messaging.ts +1 -1
- package/src/fixtures/setup_p2p_test.ts +3 -3
- package/src/fixtures/snapshot_manager.ts +2 -2
- package/src/fixtures/utils.ts +57 -66
- package/src/shared/capture_private_execution_steps.ts +9 -2
- package/src/shared/uniswap_l1_l2.ts +1 -1
- package/src/simulators/token_simulator.ts +0 -1
- package/src/spartan/setup_test_wallets.ts +6 -3
|
@@ -7,11 +7,11 @@ import { ChainMonitor } from '@aztec/ethereum/test';
|
|
|
7
7
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
8
8
|
import { TestERC20Abi } from '@aztec/l1-artifacts';
|
|
9
9
|
import { AppSubscriptionContract } from '@aztec/noir-contracts.js/AppSubscription';
|
|
10
|
-
import { CounterContract } from '@aztec/noir-contracts.js/Counter';
|
|
11
10
|
import { FPCContract } from '@aztec/noir-contracts.js/FPC';
|
|
12
11
|
import { FeeJuiceContract } from '@aztec/noir-contracts.js/FeeJuice';
|
|
13
12
|
import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
|
|
14
13
|
import { TokenContract as BananaCoin } from '@aztec/noir-contracts.js/Token';
|
|
14
|
+
import { CounterContract } from '@aztec/noir-test-contracts.js/Counter';
|
|
15
15
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
16
16
|
import { getCanonicalFeeJuice } from '@aztec/protocol-contracts/fee-juice';
|
|
17
17
|
import { GasSettings } from '@aztec/stdlib/gas';
|
|
@@ -223,15 +223,22 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
223
223
|
return await rollup.getSequencerRewards(this.coinbase);
|
|
224
224
|
};
|
|
225
225
|
this.getProverFee = async (blockNumber)=>{
|
|
226
|
+
const block = await this.pxe.getBlock(blockNumber);
|
|
226
227
|
const publicClient = getPublicClient({
|
|
227
228
|
l1RpcUrls: context.aztecNodeConfig.l1RpcUrls,
|
|
228
229
|
l1ChainId: context.aztecNodeConfig.l1ChainId
|
|
229
230
|
});
|
|
230
231
|
const rollup = new RollupContract(publicClient, data.rollupAddress);
|
|
231
|
-
|
|
232
|
-
|
|
232
|
+
// @todo @lherskind As we deal with #13601
|
|
233
|
+
// Right now the value is from `FeeLib.sol`
|
|
234
|
+
const L1_GAS_PER_EPOCH_VERIFIED = 1000000n;
|
|
235
|
+
// We round up
|
|
236
|
+
const mulDiv = (a, b, c)=>a * b / c + (a * b % c > 0n ? 1n : 0n);
|
|
237
|
+
const { baseFee } = await rollup.getL1FeesAt(block.header.globalVariables.timestamp.toBigInt());
|
|
238
|
+
const proverCost = mulDiv(mulDiv(L1_GAS_PER_EPOCH_VERIFIED, baseFee, await rollup.getEpochDuration()), 1n, await rollup.getManaTarget()) + await rollup.getProvingCostPerMana();
|
|
239
|
+
const price = await rollup.getFeeAssetPerEth();
|
|
233
240
|
const mana = block.header.totalManaUsed.toBigInt();
|
|
234
|
-
return mana *
|
|
241
|
+
return mulDiv(mana * proverCost, price, 10n ** 9n);
|
|
235
242
|
};
|
|
236
243
|
});
|
|
237
244
|
}
|
|
@@ -239,14 +246,13 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
239
246
|
await this.snapshotManager.snapshot('sponsored_fpc_setup', async (context)=>{
|
|
240
247
|
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
241
248
|
expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).isContractPubliclyDeployed).toBe(true);
|
|
242
|
-
|
|
243
|
-
this.logger.info(`SponsoredFPC
|
|
249
|
+
const sponsoredFPC = await setupSponsoredFPC(context.pxe);
|
|
250
|
+
this.logger.info(`SponsoredFPC at ${sponsoredFPC.address}`);
|
|
244
251
|
return {
|
|
245
|
-
sponsoredFPCAddress:
|
|
252
|
+
sponsoredFPCAddress: sponsoredFPC.address
|
|
246
253
|
};
|
|
247
254
|
}, async (data)=>{
|
|
248
|
-
|
|
249
|
-
this.sponsoredFPC = sponsoredFPC;
|
|
255
|
+
this.sponsoredFPC = await SponsoredFPCContract.at(data.sponsoredFPCAddress, this.aliceWallet);
|
|
250
256
|
});
|
|
251
257
|
}
|
|
252
258
|
async applyFundAliceWithBananas() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AccountWallet, type CompleteAddress, type Logger, type PXE } from '@aztec/aztec.js';
|
|
2
|
-
import { ChildContract } from '@aztec/noir-contracts.js/Child';
|
|
3
|
-
import { ParentContract } from '@aztec/noir-contracts.js/Parent';
|
|
2
|
+
import { ChildContract } from '@aztec/noir-test-contracts.js/Child';
|
|
3
|
+
import { ParentContract } from '@aztec/noir-test-contracts.js/Parent';
|
|
4
4
|
import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
|
|
5
5
|
export declare class NestedContractTest {
|
|
6
6
|
private numberOfAccounts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_nested_contract/nested_contract_test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,KAAK,GAAG,EAAgB,MAAM,iBAAiB,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"nested_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_nested_contract/nested_contract_test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,KAAK,GAAG,EAAgB,MAAM,iBAAiB,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,iCAAiC,CAAC;AAIzC,qBAAa,kBAAkB;IAY3B,OAAO,CAAC,gBAAgB;IAX1B,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAM;IAC9B,QAAQ,EAAE,eAAe,EAAE,CAAM;IACjC,GAAG,EAAG,GAAG,CAAC;IAEV,cAAc,EAAG,cAAc,CAAC;IAChC,aAAa,EAAG,aAAa,CAAC;gBAG5B,QAAQ,EAAE,MAAM,EACR,gBAAgB,SAAI;IAM9B;;;;OAIG;IACG,kBAAkB;IAsBlB,KAAK;IAIL,QAAQ;IAId,QAAQ,GAAI,CAAC,EACX,MAAM,MAAM,EACZ,OAAO,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,UAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAA2B,KAChG,OAAO,CAAC,IAAI,CAAC,CAAwD;IAElE,oBAAoB;CAc3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getSchnorrWallet } from '@aztec/accounts/schnorr';
|
|
2
2
|
import { createLogger } from '@aztec/aztec.js';
|
|
3
|
-
import { ChildContract } from '@aztec/noir-contracts.js/Child';
|
|
4
|
-
import { ParentContract } from '@aztec/noir-contracts.js/Parent';
|
|
3
|
+
import { ChildContract } from '@aztec/noir-test-contracts.js/Child';
|
|
4
|
+
import { ParentContract } from '@aztec/noir-test-contracts.js/Parent';
|
|
5
5
|
import { createSnapshotManager, deployAccounts, publicDeployAccounts } from '../fixtures/snapshot_manager.js';
|
|
6
6
|
const { E2E_DATA_PATH: dataPath } = process.env;
|
|
7
7
|
export class NestedContractTest {
|
|
@@ -3,14 +3,15 @@ import type { AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
|
3
3
|
import type { AccountWalletWithSecretKey } from '@aztec/aztec.js';
|
|
4
4
|
import { ChainMonitor } from '@aztec/ethereum/test';
|
|
5
5
|
import { type Logger } from '@aztec/foundation/log';
|
|
6
|
-
import { SpamContract } from '@aztec/noir-contracts.js/Spam';
|
|
6
|
+
import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
|
|
7
7
|
import type { BootstrapNode } from '@aztec/p2p/bootstrap';
|
|
8
8
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
9
9
|
import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
|
|
10
10
|
export declare const WAIT_FOR_TX_TIMEOUT: number;
|
|
11
|
-
export declare const
|
|
11
|
+
export declare const SHORTENED_BLOCK_TIME_CONFIG_NO_PRUNES: {
|
|
12
12
|
aztecSlotDuration: number;
|
|
13
13
|
ethereumSlotDuration: number;
|
|
14
|
+
aztecProofSubmissionWindow: number;
|
|
14
15
|
};
|
|
15
16
|
export declare class P2PNetworkTest {
|
|
16
17
|
bootstrapNodeEnr: string;
|
|
@@ -20,225 +21,20 @@ export declare class P2PNetworkTest {
|
|
|
20
21
|
private snapshotManager;
|
|
21
22
|
baseAccountPrivateKey: `0x${string}`;
|
|
22
23
|
baseAccount: {
|
|
23
|
-
address:
|
|
24
|
+
address: import("viem").Address;
|
|
24
25
|
nonceManager?: import("viem").NonceManager | undefined;
|
|
25
26
|
sign: (parameters: {
|
|
26
|
-
hash:
|
|
27
|
-
}) => Promise
|
|
27
|
+
hash: import("viem").Hash;
|
|
28
|
+
}) => Promise<import("viem").Hex>;
|
|
28
29
|
experimental_signAuthorization: (parameters: import("viem/experimental").Authorization) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
|
|
29
30
|
signMessage: ({ message }: {
|
|
30
31
|
message: import("viem").SignableMessage;
|
|
31
|
-
}) => Promise
|
|
32
|
+
}) => Promise<import("viem").Hex>;
|
|
32
33
|
signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
|
|
33
34
|
serializer?: serializer | undefined;
|
|
34
|
-
} | undefined) => Promise<import("viem").IsNarrowable<import("viem").TransactionSerialized<import("viem").GetTransactionType<transaction>>,
|
|
35
|
-
signTypedData: <const typedData extends Record<string, unknown
|
|
36
|
-
|
|
37
|
-
[x: `string[${string}]`]: undefined;
|
|
38
|
-
[x: `function[${string}]`]: undefined;
|
|
39
|
-
[x: `address[${string}]`]: undefined;
|
|
40
|
-
[x: `bool[${string}]`]: undefined;
|
|
41
|
-
[x: `bytes[${string}]`]: undefined;
|
|
42
|
-
[x: `bytes8[${string}]`]: undefined;
|
|
43
|
-
[x: `bytes18[${string}]`]: undefined;
|
|
44
|
-
[x: `bytes4[${string}]`]: undefined;
|
|
45
|
-
[x: `bytes1[${string}]`]: undefined;
|
|
46
|
-
[x: `bytes23[${string}]`]: undefined;
|
|
47
|
-
[x: `bytes32[${string}]`]: undefined;
|
|
48
|
-
[x: `bytes31[${string}]`]: undefined;
|
|
49
|
-
[x: `bytes30[${string}]`]: undefined;
|
|
50
|
-
[x: `bytes29[${string}]`]: undefined;
|
|
51
|
-
[x: `bytes28[${string}]`]: undefined;
|
|
52
|
-
[x: `bytes27[${string}]`]: undefined;
|
|
53
|
-
[x: `bytes26[${string}]`]: undefined;
|
|
54
|
-
[x: `bytes25[${string}]`]: undefined;
|
|
55
|
-
[x: `bytes24[${string}]`]: undefined;
|
|
56
|
-
[x: `bytes22[${string}]`]: undefined;
|
|
57
|
-
[x: `bytes21[${string}]`]: undefined;
|
|
58
|
-
[x: `bytes20[${string}]`]: undefined;
|
|
59
|
-
[x: `bytes2[${string}]`]: undefined;
|
|
60
|
-
[x: `bytes19[${string}]`]: undefined;
|
|
61
|
-
[x: `bytes17[${string}]`]: undefined;
|
|
62
|
-
[x: `bytes16[${string}]`]: undefined;
|
|
63
|
-
[x: `bytes15[${string}]`]: undefined;
|
|
64
|
-
[x: `bytes14[${string}]`]: undefined;
|
|
65
|
-
[x: `bytes13[${string}]`]: undefined;
|
|
66
|
-
[x: `bytes12[${string}]`]: undefined;
|
|
67
|
-
[x: `bytes11[${string}]`]: undefined;
|
|
68
|
-
[x: `bytes10[${string}]`]: undefined;
|
|
69
|
-
[x: `bytes9[${string}]`]: undefined;
|
|
70
|
-
[x: `bytes7[${string}]`]: undefined;
|
|
71
|
-
[x: `bytes6[${string}]`]: undefined;
|
|
72
|
-
[x: `bytes5[${string}]`]: undefined;
|
|
73
|
-
[x: `bytes3[${string}]`]: undefined;
|
|
74
|
-
[x: `int[${string}]`]: undefined;
|
|
75
|
-
[x: `int8[${string}]`]: undefined;
|
|
76
|
-
[x: `int40[${string}]`]: undefined;
|
|
77
|
-
[x: `int32[${string}]`]: undefined;
|
|
78
|
-
[x: `int24[${string}]`]: undefined;
|
|
79
|
-
[x: `int16[${string}]`]: undefined;
|
|
80
|
-
[x: `int48[${string}]`]: undefined;
|
|
81
|
-
[x: `int56[${string}]`]: undefined;
|
|
82
|
-
[x: `int64[${string}]`]: undefined;
|
|
83
|
-
[x: `int72[${string}]`]: undefined;
|
|
84
|
-
[x: `int80[${string}]`]: undefined;
|
|
85
|
-
[x: `int88[${string}]`]: undefined;
|
|
86
|
-
[x: `int96[${string}]`]: undefined;
|
|
87
|
-
[x: `int104[${string}]`]: undefined;
|
|
88
|
-
[x: `int112[${string}]`]: undefined;
|
|
89
|
-
[x: `int120[${string}]`]: undefined;
|
|
90
|
-
[x: `int128[${string}]`]: undefined;
|
|
91
|
-
[x: `int136[${string}]`]: undefined;
|
|
92
|
-
[x: `int144[${string}]`]: undefined;
|
|
93
|
-
[x: `int152[${string}]`]: undefined;
|
|
94
|
-
[x: `int160[${string}]`]: undefined;
|
|
95
|
-
[x: `int168[${string}]`]: undefined;
|
|
96
|
-
[x: `int176[${string}]`]: undefined;
|
|
97
|
-
[x: `int184[${string}]`]: undefined;
|
|
98
|
-
[x: `int192[${string}]`]: undefined;
|
|
99
|
-
[x: `int200[${string}]`]: undefined;
|
|
100
|
-
[x: `int208[${string}]`]: undefined;
|
|
101
|
-
[x: `int216[${string}]`]: undefined;
|
|
102
|
-
[x: `int224[${string}]`]: undefined;
|
|
103
|
-
[x: `int232[${string}]`]: undefined;
|
|
104
|
-
[x: `int240[${string}]`]: undefined;
|
|
105
|
-
[x: `int248[${string}]`]: undefined;
|
|
106
|
-
[x: `int256[${string}]`]: undefined;
|
|
107
|
-
[x: `uint[${string}]`]: undefined;
|
|
108
|
-
[x: `uint8[${string}]`]: undefined;
|
|
109
|
-
[x: `uint40[${string}]`]: undefined;
|
|
110
|
-
[x: `uint32[${string}]`]: undefined;
|
|
111
|
-
[x: `uint24[${string}]`]: undefined;
|
|
112
|
-
[x: `uint16[${string}]`]: undefined;
|
|
113
|
-
[x: `uint48[${string}]`]: undefined;
|
|
114
|
-
[x: `uint56[${string}]`]: undefined;
|
|
115
|
-
[x: `uint64[${string}]`]: undefined;
|
|
116
|
-
[x: `uint72[${string}]`]: undefined;
|
|
117
|
-
[x: `uint80[${string}]`]: undefined;
|
|
118
|
-
[x: `uint88[${string}]`]: undefined;
|
|
119
|
-
[x: `uint96[${string}]`]: undefined;
|
|
120
|
-
[x: `uint104[${string}]`]: undefined;
|
|
121
|
-
[x: `uint112[${string}]`]: undefined;
|
|
122
|
-
[x: `uint120[${string}]`]: undefined;
|
|
123
|
-
[x: `uint128[${string}]`]: undefined;
|
|
124
|
-
[x: `uint136[${string}]`]: undefined;
|
|
125
|
-
[x: `uint144[${string}]`]: undefined;
|
|
126
|
-
[x: `uint152[${string}]`]: undefined;
|
|
127
|
-
[x: `uint160[${string}]`]: undefined;
|
|
128
|
-
[x: `uint168[${string}]`]: undefined;
|
|
129
|
-
[x: `uint176[${string}]`]: undefined;
|
|
130
|
-
[x: `uint184[${string}]`]: undefined;
|
|
131
|
-
[x: `uint192[${string}]`]: undefined;
|
|
132
|
-
[x: `uint200[${string}]`]: undefined;
|
|
133
|
-
[x: `uint208[${string}]`]: undefined;
|
|
134
|
-
[x: `uint216[${string}]`]: undefined;
|
|
135
|
-
[x: `uint224[${string}]`]: undefined;
|
|
136
|
-
[x: `uint232[${string}]`]: undefined;
|
|
137
|
-
[x: `uint240[${string}]`]: undefined;
|
|
138
|
-
[x: `uint248[${string}]`]: undefined;
|
|
139
|
-
[x: `uint256[${string}]`]: undefined;
|
|
140
|
-
string?: undefined;
|
|
141
|
-
address?: undefined;
|
|
142
|
-
bool?: undefined;
|
|
143
|
-
bytes?: undefined;
|
|
144
|
-
bytes8?: undefined;
|
|
145
|
-
bytes18?: undefined;
|
|
146
|
-
bytes4?: undefined;
|
|
147
|
-
bytes1?: undefined;
|
|
148
|
-
bytes23?: undefined;
|
|
149
|
-
bytes32?: undefined;
|
|
150
|
-
bytes31?: undefined;
|
|
151
|
-
bytes30?: undefined;
|
|
152
|
-
bytes29?: undefined;
|
|
153
|
-
bytes28?: undefined;
|
|
154
|
-
bytes27?: undefined;
|
|
155
|
-
bytes26?: undefined;
|
|
156
|
-
bytes25?: undefined;
|
|
157
|
-
bytes24?: undefined;
|
|
158
|
-
bytes22?: undefined;
|
|
159
|
-
bytes21?: undefined;
|
|
160
|
-
bytes20?: undefined;
|
|
161
|
-
bytes2?: undefined;
|
|
162
|
-
bytes19?: undefined;
|
|
163
|
-
bytes17?: undefined;
|
|
164
|
-
bytes16?: undefined;
|
|
165
|
-
bytes15?: undefined;
|
|
166
|
-
bytes14?: undefined;
|
|
167
|
-
bytes13?: undefined;
|
|
168
|
-
bytes12?: undefined;
|
|
169
|
-
bytes11?: undefined;
|
|
170
|
-
bytes10?: undefined;
|
|
171
|
-
bytes9?: undefined;
|
|
172
|
-
bytes7?: undefined;
|
|
173
|
-
bytes6?: undefined;
|
|
174
|
-
bytes5?: undefined;
|
|
175
|
-
bytes3?: undefined;
|
|
176
|
-
int8?: undefined;
|
|
177
|
-
int40?: undefined;
|
|
178
|
-
int32?: undefined;
|
|
179
|
-
int24?: undefined;
|
|
180
|
-
int16?: undefined;
|
|
181
|
-
int48?: undefined;
|
|
182
|
-
int56?: undefined;
|
|
183
|
-
int64?: undefined;
|
|
184
|
-
int72?: undefined;
|
|
185
|
-
int80?: undefined;
|
|
186
|
-
int88?: undefined;
|
|
187
|
-
int96?: undefined;
|
|
188
|
-
int104?: undefined;
|
|
189
|
-
int112?: undefined;
|
|
190
|
-
int120?: undefined;
|
|
191
|
-
int128?: undefined;
|
|
192
|
-
int136?: undefined;
|
|
193
|
-
int144?: undefined;
|
|
194
|
-
int152?: undefined;
|
|
195
|
-
int160?: undefined;
|
|
196
|
-
int168?: undefined;
|
|
197
|
-
int176?: undefined;
|
|
198
|
-
int184?: undefined;
|
|
199
|
-
int192?: undefined;
|
|
200
|
-
int200?: undefined;
|
|
201
|
-
int208?: undefined;
|
|
202
|
-
int216?: undefined;
|
|
203
|
-
int224?: undefined;
|
|
204
|
-
int232?: undefined;
|
|
205
|
-
int240?: undefined;
|
|
206
|
-
int248?: undefined;
|
|
207
|
-
int256?: undefined;
|
|
208
|
-
uint8?: undefined;
|
|
209
|
-
uint40?: undefined;
|
|
210
|
-
uint32?: undefined;
|
|
211
|
-
uint24?: undefined;
|
|
212
|
-
uint16?: undefined;
|
|
213
|
-
uint48?: undefined;
|
|
214
|
-
uint56?: undefined;
|
|
215
|
-
uint64?: undefined;
|
|
216
|
-
uint72?: undefined;
|
|
217
|
-
uint80?: undefined;
|
|
218
|
-
uint88?: undefined;
|
|
219
|
-
uint96?: undefined;
|
|
220
|
-
uint104?: undefined;
|
|
221
|
-
uint112?: undefined;
|
|
222
|
-
uint120?: undefined;
|
|
223
|
-
uint128?: undefined;
|
|
224
|
-
uint136?: undefined;
|
|
225
|
-
uint144?: undefined;
|
|
226
|
-
uint152?: undefined;
|
|
227
|
-
uint160?: undefined;
|
|
228
|
-
uint168?: undefined;
|
|
229
|
-
uint176?: undefined;
|
|
230
|
-
uint184?: undefined;
|
|
231
|
-
uint192?: undefined;
|
|
232
|
-
uint200?: undefined;
|
|
233
|
-
uint208?: undefined;
|
|
234
|
-
uint216?: undefined;
|
|
235
|
-
uint224?: undefined;
|
|
236
|
-
uint232?: undefined;
|
|
237
|
-
uint240?: undefined;
|
|
238
|
-
uint248?: undefined;
|
|
239
|
-
uint256?: undefined;
|
|
240
|
-
}, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
|
|
241
|
-
publicKey: `0x${string}`;
|
|
35
|
+
} | undefined) => Promise<import("viem").IsNarrowable<import("viem").TransactionSerialized<import("viem").GetTransactionType<transaction>>, import("viem").Hex> extends true ? import("viem").TransactionSerialized<import("viem").GetTransactionType<transaction>> : import("viem").Hex>;
|
|
36
|
+
signTypedData: <const typedData extends import("viem").TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<import("viem").Hex>;
|
|
37
|
+
publicKey: import("viem").Hex;
|
|
242
38
|
source: "privateKey";
|
|
243
39
|
type: "local";
|
|
244
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAUlE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAa9D,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,iCAAiC,CAAC;AAOzC,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAE3E,eAAO,MAAM,qCAAqC;;;;CAIjD,CAAC;AAEF,qBAAa,cAAc;IA0BhB,gBAAgB,EAAE,MAAM;IACxB,YAAY,EAAE,MAAM;IAC3B,OAAO,CAAC,aAAa;IAGrB,OAAO,CAAC,WAAW,CAAC;IA9BtB,OAAO,CAAC,eAAe,CAAmB;IACnC,qBAAqB,EAAE,KAAK,MAAM,EAAE,CAAC;IACrC,WAAW;;;;;;;;;;wTAd4C,CAAC;sBAAsB,CAAC;;;;;;MAcnE;IAEZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAG,YAAY,CAAC;IAEvB,GAAG,EAAG,iBAAiB,CAAC;IACxB,mBAAmB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAM;IAC1C,kBAAkB,EAAE,MAAM,EAAE,CAAM;IAClC,mBAAmB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAM;IAC1C,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,UAAU,EAAE;QAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAC/G;IAEE,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAC5C,mBAAmB,EAAE,kBAAkB,EAAE,CAAM;IAE/C,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,aAAa,CAAC,EAAE,aAAa,CAAC;gBAGnC,QAAQ,EAAE,MAAM,EACT,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAC7B,sBAAsB,EAAE,eAAe,EAE/B,WAAW,CAAC,EAAE,MAAM,YAAA;WAqCjB,MAAM,CAAC,EAClB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,WAAW,EACX,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KAC1C;IAcD,IAAI,aAAa,uBAKhB;IAEK,gBAAgB;IActB,aAAa;;;;;;;;;IA0BP,kBAAkB;IA0DlB,YAAY;IAYZ,kBAAkB;IAoBlB,iBAAiB;IAgBjB,WAAW;;;;YAIH,YAAY;IAQpB,KAAK;IAaL,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE;IAanC,QAAQ;CAKf"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getSchnorrWalletWithSecretKey } from '@aztec/accounts/schnorr';
|
|
2
|
-
import { L1TxUtils, RollupContract, getExpectedAddress, getL1ContractsConfigEnvVars } from '@aztec/ethereum';
|
|
3
|
-
import { ChainMonitor
|
|
2
|
+
import { L1TxUtils, RollupContract, deployL1Contract, getExpectedAddress, getL1ContractsConfigEnvVars, l1Artifacts } from '@aztec/ethereum';
|
|
3
|
+
import { ChainMonitor } from '@aztec/ethereum/test';
|
|
4
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { ForwarderAbi, ForwarderBytecode, RollupAbi, TestERC20Abi } from '@aztec/l1-artifacts';
|
|
6
|
-
import { SpamContract } from '@aztec/noir-contracts.js/Spam';
|
|
6
|
+
import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
|
|
7
7
|
import { createBootstrapNodeFromPrivateKey, getBootstrapNodeEnr } from '@aztec/p2p/test-helpers';
|
|
8
8
|
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
9
9
|
import getPort from 'get-port';
|
|
@@ -17,9 +17,10 @@ import { getEndToEndTestTelemetryClient } from '../fixtures/with_telemetry_utils
|
|
|
17
17
|
const BOOTSTRAP_NODE_PRIVATE_KEY = '080212208f988fc0899e4a73a5aee4d271a5f20670603a756ad8d84f2c94263a6427c591';
|
|
18
18
|
const l1ContractsConfig = getL1ContractsConfigEnvVars();
|
|
19
19
|
export const WAIT_FOR_TX_TIMEOUT = l1ContractsConfig.aztecSlotDuration * 3;
|
|
20
|
-
export const
|
|
20
|
+
export const SHORTENED_BLOCK_TIME_CONFIG_NO_PRUNES = {
|
|
21
21
|
aztecSlotDuration: 12,
|
|
22
|
-
ethereumSlotDuration: 4
|
|
22
|
+
ethereumSlotDuration: 4,
|
|
23
|
+
aztecProofSubmissionWindow: 640
|
|
23
24
|
};
|
|
24
25
|
export class P2PNetworkTest {
|
|
25
26
|
bootstrapNodeEnr;
|
|
@@ -58,7 +59,7 @@ export class P2PNetworkTest {
|
|
|
58
59
|
this.prefilledPublicData = [];
|
|
59
60
|
this.logger = createLogger(`e2e:e2e_p2p:${testName}`);
|
|
60
61
|
// Set up the base account and node private keys for the initial network deployment
|
|
61
|
-
this.baseAccountPrivateKey = `0x${getPrivateKeyFromIndex(
|
|
62
|
+
this.baseAccountPrivateKey = `0x${getPrivateKeyFromIndex(1).toString('hex')}`;
|
|
62
63
|
this.baseAccount = privateKeyToAccount(this.baseAccountPrivateKey);
|
|
63
64
|
this.proposerPrivateKeys = generatePrivateKeys(PROPOSER_PRIVATE_KEYS_START_INDEX, numberOfNodes);
|
|
64
65
|
this.attesterPrivateKeys = generatePrivateKeys(ATTESTER_PRIVATE_KEYS_START_INDEX, numberOfNodes);
|
|
@@ -127,7 +128,7 @@ export class P2PNetworkTest {
|
|
|
127
128
|
}
|
|
128
129
|
async applyBaseSnapshots() {
|
|
129
130
|
await this.addBootstrapNode();
|
|
130
|
-
await this.snapshotManager.snapshot('add-validators', async ({ deployL1ContractsValues,
|
|
131
|
+
await this.snapshotManager.snapshot('add-validators', async ({ deployL1ContractsValues, dateProvider, cheatCodes })=>{
|
|
131
132
|
const rollup = getContract({
|
|
132
133
|
address: deployL1ContractsValues.l1ContractAddresses.rollupAddress.toString(),
|
|
133
134
|
abi: RollupAbi,
|
|
@@ -139,14 +140,19 @@ export class P2PNetworkTest {
|
|
|
139
140
|
abi: TestERC20Abi,
|
|
140
141
|
client: deployL1ContractsValues.l1Client
|
|
141
142
|
});
|
|
143
|
+
const { address: multiAdderAddress } = await deployL1Contract(deployL1ContractsValues.l1Client, l1Artifacts.multiAdder.contractAbi, l1Artifacts.multiAdder.contractBytecode, [
|
|
144
|
+
rollup.address,
|
|
145
|
+
deployL1ContractsValues.l1Client.account.address
|
|
146
|
+
]);
|
|
147
|
+
const multiAdder = getContract({
|
|
148
|
+
address: multiAdderAddress.toString(),
|
|
149
|
+
abi: l1Artifacts.multiAdder.contractAbi,
|
|
150
|
+
client: deployL1ContractsValues.l1Client
|
|
151
|
+
});
|
|
142
152
|
const stakeNeeded = l1ContractsConfig.minimumStake * BigInt(this.numberOfNodes);
|
|
143
153
|
await Promise.all([
|
|
144
154
|
await stakingAsset.write.mint([
|
|
145
|
-
|
|
146
|
-
stakeNeeded
|
|
147
|
-
], {}),
|
|
148
|
-
await stakingAsset.write.approve([
|
|
149
|
-
deployL1ContractsValues.l1ContractAddresses.rollupAddress.toString(),
|
|
155
|
+
multiAdder.address,
|
|
150
156
|
stakeNeeded
|
|
151
157
|
], {})
|
|
152
158
|
].map((txHash)=>deployL1ContractsValues.l1Client.waitForTransactionReceipt({
|
|
@@ -155,20 +161,11 @@ export class P2PNetworkTest {
|
|
|
155
161
|
const { validators } = this.getValidators();
|
|
156
162
|
this.validators = validators;
|
|
157
163
|
await deployL1ContractsValues.l1Client.waitForTransactionReceipt({
|
|
158
|
-
hash: await
|
|
164
|
+
hash: await multiAdder.write.addValidators([
|
|
159
165
|
this.validators
|
|
160
166
|
])
|
|
161
167
|
});
|
|
162
|
-
const
|
|
163
|
-
const timestamp = await rollup.read.getTimestampForSlot([
|
|
164
|
-
slotsInEpoch
|
|
165
|
-
]);
|
|
166
|
-
const cheatCodes = new EthCheatCodesWithState(aztecNodeConfig.l1RpcUrls);
|
|
167
|
-
try {
|
|
168
|
-
await cheatCodes.warp(Number(timestamp));
|
|
169
|
-
} catch (err) {
|
|
170
|
-
this.logger.debug('Warp failed, time already satisfied');
|
|
171
|
-
}
|
|
168
|
+
const timestamp = await cheatCodes.rollup.advanceToEpoch(2n);
|
|
172
169
|
// Send and await a tx to make sure we mine a block for the warp to correctly progress.
|
|
173
170
|
await this._sendDummyTx(deployL1ContractsValues.l1Client);
|
|
174
171
|
// Set the system time in the node, only after we have warped the time and waited for a block
|
package/dest/e2e_p2p/shared.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { InitialAccountData } from '@aztec/accounts/testing';
|
|
2
2
|
import type { AztecNodeService } from '@aztec/aztec-node';
|
|
3
3
|
import { type Logger, ProvenTx, type SentTx } from '@aztec/aztec.js';
|
|
4
|
-
import type { SpamContract } from '@aztec/noir-contracts.js/Spam';
|
|
4
|
+
import type { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
|
|
5
5
|
import { PXEService } from '@aztec/pxe/server';
|
|
6
6
|
import type { NodeContext } from '../fixtures/setup_p2p_test.js';
|
|
7
7
|
export declare const submitComplexTxsTo: (logger: Logger, spamContract: SpamContract, numTxs: number, opts?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAM,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAiD,MAAM,iBAAiB,CAAC;AAExH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAM,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAiD,MAAM,iBAAiB,CAAC;AAExH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAyD,MAAM,mBAAmB,CAAC;AAEtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,MAAM,EACd,cAAc,YAAY,EAC1B,QAAQ,MAAM,EACd,OAAM;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,sBAsBpC,CAAC;AAGF,eAAO,MAAM,qCAAqC,GAChD,QAAQ,MAAM,EACd,MAAM,gBAAgB,EACtB,QAAQ,MAAM,EACd,eAAe,kBAAkB,KAChC,OAAO,CAAC,WAAW,CAgBrB,CAAC;AAEF,wBAAsB,sCAAsC,CAC1D,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,kBAAkB,GAChC,OAAO,CAAC;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAqB9E"}
|
package/dest/e2e_p2p/shared.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getSchnorrAccount } from '@aztec/accounts/schnorr';
|
|
2
2
|
import { Fr, TxStatus, getContractInstanceFromDeployParams } from '@aztec/aztec.js';
|
|
3
3
|
import { timesAsync } from '@aztec/foundation/collection';
|
|
4
|
-
import { TestContract, TestContractArtifact } from '@aztec/noir-contracts.js/Test';
|
|
4
|
+
import { TestContract, TestContractArtifact } from '@aztec/noir-test-contracts.js/Test';
|
|
5
5
|
import { createPXEService, getPXEServiceConfig as getRpcConfig } from '@aztec/pxe/server';
|
|
6
6
|
import { submitTxsTo } from '../shared/submit-transactions.js';
|
|
7
7
|
// submits a set of transactions to the provided Private eXecution Environment (PXE)
|
|
@@ -10,9 +10,7 @@ export const submitComplexTxsTo = async (logger, spamContract, numTxs, opts = {}
|
|
|
10
10
|
const seed = 1234n;
|
|
11
11
|
const spamCount = 15;
|
|
12
12
|
for(let i = 0; i < numTxs; i++){
|
|
13
|
-
const tx = spamContract.methods.spam(seed + BigInt(i * spamCount), spamCount, !!opts.callPublic).send(
|
|
14
|
-
skipPublicSimulation: true
|
|
15
|
-
});
|
|
13
|
+
const tx = spamContract.methods.spam(seed + BigInt(i * spamCount), spamCount, !!opts.callPublic).send();
|
|
16
14
|
const txHash = await tx.getTxHash();
|
|
17
15
|
logger.info(`Tx sent with hash ${txHash}`);
|
|
18
16
|
const receipt = await tx.getReceipt();
|
|
@@ -54,9 +52,7 @@ export async function createPXEServiceAndPrepareTransactions(logger, node, numTx
|
|
|
54
52
|
});
|
|
55
53
|
const contract = await TestContract.at(testContractInstance.address, wallet);
|
|
56
54
|
const txs = await timesAsync(numTxs, async ()=>{
|
|
57
|
-
const tx = await contract.methods.emit_nullifier(Fr.random()).prove(
|
|
58
|
-
skipPublicSimulation: true
|
|
59
|
-
});
|
|
55
|
+
const tx = await contract.methods.emit_nullifier(Fr.random()).prove();
|
|
60
56
|
const txHash = await tx.getTxHash();
|
|
61
57
|
logger.info(`Tx prepared with hash ${txHash}`);
|
|
62
58
|
return tx;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/e2e_prover/e2e_prover_test.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,UAAU,EACV,KAAK,MAAM,EAGZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAqB,KAAK,6BAA6B,EAAuB,MAAM,kBAAkB,CAAC;AAE9G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,2BAA2B,EAAoB,MAAM,iBAAiB,CAAC;AAGrF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AASlE;;;;;GAKG;AAEH,qBAAa,cAAc;IA6BvB,OAAO,CAAC,sBAAsB;IAE9B,OAAO,CAAC,UAAU;IA9BpB,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAC5C,OAAO,EAAE,0BAA0B,EAAE,CAAM;IAC3C,QAAQ,EAAE,eAAe,EAAE,CAAM;IACjC,eAAe,EAAG,aAAa,CAAC;IAChC,QAAQ,EAAG,cAAc,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAChC,GAAG,EAAG,UAAU,CAAC;IACjB,UAAU,EAAG,UAAU,CAAC;IACxB,QAAQ,EAAG,cAAc,CAAC;IAC1B,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAChD,oBAAoB,CAAC,EAAE,6BAA6B,CAAC;IACrD,YAAY,EAAE,aAAa,EAAE,CAAM;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,mBAAmB,CAAc;IAClC,WAAW,EAAG,2BAA2B,CAAC;IAC1C,aAAa,EAAG,UAAU,CAAC;gBAGhC,QAAQ,EAAE,MAAM,EACR,sBAAsB,EAAE,MAAM,EACtC,QAAQ,EAAE,UAAU,EACZ,UAAU,UAAO;IAW3B;;;;OAIG;IACG,kBAAkB;IAqDlB,KAAK;
|
|
1
|
+
{"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/e2e_prover/e2e_prover_test.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,UAAU,EACV,KAAK,MAAM,EAGZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAqB,KAAK,6BAA6B,EAAuB,MAAM,kBAAkB,CAAC;AAE9G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,2BAA2B,EAAoB,MAAM,iBAAiB,CAAC;AAGrF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AASlE;;;;;GAKG;AAEH,qBAAa,cAAc;IA6BvB,OAAO,CAAC,sBAAsB;IAE9B,OAAO,CAAC,UAAU;IA9BpB,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAC5C,OAAO,EAAE,0BAA0B,EAAE,CAAM;IAC3C,QAAQ,EAAE,eAAe,EAAE,CAAM;IACjC,eAAe,EAAG,aAAa,CAAC;IAChC,QAAQ,EAAG,cAAc,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAChC,GAAG,EAAG,UAAU,CAAC;IACjB,UAAU,EAAG,UAAU,CAAC;IACxB,QAAQ,EAAG,cAAc,CAAC;IAC1B,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAChD,oBAAoB,CAAC,EAAE,6BAA6B,CAAC;IACrD,YAAY,EAAE,aAAa,EAAE,CAAM;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,mBAAmB,CAAc;IAClC,WAAW,EAAG,2BAA2B,CAAC;IAC1C,aAAa,EAAG,UAAU,CAAC;gBAGhC,QAAQ,EAAE,MAAM,EACR,sBAAsB,EAAE,MAAM,EACtC,QAAQ,EAAE,UAAU,EACZ,UAAU,UAAO;IAW3B;;;;OAIG;IACG,kBAAkB;IAqDlB,KAAK;YA+JG,WAAW;IAQzB,QAAQ,GAAI,CAAC,EACX,MAAM,MAAM,EACZ,OAAO,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,UAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAA2B,KAChG,OAAO,CAAC,IAAI,CAAC,CAAwD;IAElE,QAAQ;IAeR,iBAAiB;IA+CjB,cAAc;CAuBrB"}
|
|
@@ -197,7 +197,8 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
197
197
|
proverNodePollingIntervalMs: 100,
|
|
198
198
|
txGatheringIntervalMs: 1000,
|
|
199
199
|
txGatheringBatchSize: 10,
|
|
200
|
-
txGatheringMaxParallelRequestsPerNode: 100
|
|
200
|
+
txGatheringMaxParallelRequestsPerNode: 100,
|
|
201
|
+
proverNodeFailedEpochStore: undefined
|
|
201
202
|
};
|
|
202
203
|
const sponsoredFPCAddress = await getSponsoredFPCAddress();
|
|
203
204
|
const { prefilledPublicData } = await getGenesisValues(this.context.initialFundedAccounts.map((a)=>a.address).concat(sponsoredFPCAddress));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AccountWallet, type AztecNode, type CompleteAddress, type Logger } from '@aztec/aztec.js';
|
|
2
|
-
import { InvalidAccountContract } from '@aztec/noir-contracts.js/InvalidAccount';
|
|
3
2
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
3
|
+
import { InvalidAccountContract } from '@aztec/noir-test-contracts.js/InvalidAccount';
|
|
4
4
|
import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
|
|
5
5
|
import { TokenSimulator } from '../simulators/token_simulator.js';
|
|
6
6
|
export declare class TokenContractTest {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_token_contract/token_contract_test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AACtH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_token_contract/token_contract_test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAItF,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIlE,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAM;IAC9B,QAAQ,EAAE,eAAe,EAAE,CAAM;IACjC,KAAK,EAAG,aAAa,CAAC;IACtB,QAAQ,EAAG,cAAc,CAAC;IAC1B,UAAU,EAAG,sBAAsB,CAAC;IACpC,IAAI,EAAG,SAAS,CAAC;gBAEL,QAAQ,EAAE,MAAM;IAO5B;;;;OAIG;IACG,kBAAkB;IAiElB,KAAK;IAIX,QAAQ,GAAI,CAAC,EACX,MAAM,MAAM,EACZ,OAAO,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,UAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAA2B,KAChG,OAAO,CAAC,IAAI,CAAC,CAAwD;IAElE,QAAQ;IAIR,iBAAiB;CAyCxB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getSchnorrWallet } from '@aztec/accounts/schnorr';
|
|
2
2
|
import { createLogger } from '@aztec/aztec.js';
|
|
3
|
-
import { InvalidAccountContract } from '@aztec/noir-contracts.js/InvalidAccount';
|
|
4
3
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
4
|
+
import { InvalidAccountContract } from '@aztec/noir-test-contracts.js/InvalidAccount';
|
|
5
5
|
import { jest } from '@jest/globals';
|
|
6
6
|
import { createSnapshotManager, deployAccounts, publicDeployAccounts } from '../fixtures/snapshot_manager.js';
|
|
7
7
|
import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
export declare const METRICS_PORT = 4318;
|
|
4
2
|
export declare const shouldCollectMetrics: () => 4318 | undefined;
|
|
5
3
|
export declare const TEST_PEER_CHECK_INTERVAL_MS = 1000;
|
|
6
4
|
export declare const MNEMONIC = "test test test test test test test test test test test junk";
|
|
7
|
-
export declare const privateKey: Buffer
|
|
8
|
-
export declare const privateKey2: Buffer
|
|
9
|
-
export declare const U128_UNDERFLOW_ERROR = "Assertion failed: attempt to subtract with overflow
|
|
10
|
-
export declare const U128_OVERFLOW_ERROR = "Assertion failed: attempt to add with overflow
|
|
5
|
+
export declare const privateKey: Buffer<ArrayBuffer>;
|
|
6
|
+
export declare const privateKey2: Buffer<ArrayBuffer>;
|
|
7
|
+
export declare const U128_UNDERFLOW_ERROR = "Assertion failed: attempt to subtract with overflow";
|
|
8
|
+
export declare const U128_OVERFLOW_ERROR = "Assertion failed: attempt to add with overflow";
|
|
11
9
|
export declare const BITSIZE_TOO_BIG_ERROR = "Assertion failed: call to assert_max_bit_size 'self.__assert_max_bit_size'";
|
|
12
10
|
export declare const DUPLICATE_NULLIFIER_ERROR: RegExp;
|
|
13
11
|
export declare const NO_L1_TO_L2_MSG_ERROR: RegExp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/fixtures/fixtures.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/fixtures/fixtures.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,eAAO,MAAM,oBAAoB,wBAKhC,CAAC;AAEF,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD,eAAO,MAAM,QAAQ,gEAAgE,CAAC;AACtF,eAAO,MAAM,UAAU,qBAAyF,CAAC;AACjH,eAAO,MAAM,WAAW,qBAAyF,CAAC;AAGlH,eAAO,MAAM,oBAAoB,wDAAwD,CAAC;AAC1F,eAAO,MAAM,mBAAmB,mDAAmD,CAAC;AACpF,eAAO,MAAM,qBAAqB,+EAA+E,CAAC;AAElH,eAAO,MAAM,yBAAyB,QAAgC,CAAC;AACvE,eAAO,MAAM,qBAAqB,QACwE,CAAC;AAC3G,eAAO,MAAM,oCAAoC,QAC+B,CAAC;AACjF,eAAO,MAAM,8BAA8B,QAAkE,CAAC;AAE9G,eAAO,MAAM,sBAAsB,SAAS,CAAC"}
|
|
@@ -10,8 +10,8 @@ export const MNEMONIC = 'test test test test test test test test test test test
|
|
|
10
10
|
export const privateKey = Buffer.from('ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80', 'hex');
|
|
11
11
|
export const privateKey2 = Buffer.from('59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d', 'hex');
|
|
12
12
|
/// Common errors
|
|
13
|
-
export const U128_UNDERFLOW_ERROR =
|
|
14
|
-
export const U128_OVERFLOW_ERROR =
|
|
13
|
+
export const U128_UNDERFLOW_ERROR = 'Assertion failed: attempt to subtract with overflow';
|
|
14
|
+
export const U128_OVERFLOW_ERROR = 'Assertion failed: attempt to add with overflow';
|
|
15
15
|
export const BITSIZE_TOO_BIG_ERROR = "Assertion failed: call to assert_max_bit_size 'self.__assert_max_bit_size'";
|
|
16
16
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/5818): Make these a fixed error after transition.
|
|
17
17
|
export const DUPLICATE_NULLIFIER_ERROR = /dropped|nullifier|reverted/i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_bb_config.d.ts","sourceRoot":"","sources":["../../src/fixtures/get_bb_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAcjD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"get_bb_config.d.ts","sourceRoot":"","sources":["../../src/fixtures/get_bb_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAcjD,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,KACb,OAAO,CAAC,CAAC,QAAQ,GAAG;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,GAAG,SAAS,CAoCnE,CAAC"}
|
|
@@ -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
|
}
|