@aztec/end-to-end 1.0.0-nightly.20250605 → 1.0.0-nightly.20250606

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.
@@ -19,6 +19,7 @@ async function createProver(config = {}, log) {
19
19
  return {
20
20
  prover: await BBNativePrivateKernelProver.new({
21
21
  bbSkipCleanup: false,
22
+ numConcurrentIVCVerifiers: 1,
22
23
  ...bbConfig
23
24
  }, simulator, log),
24
25
  type: 'native'
@@ -39,7 +39,8 @@ export const getBBConfig = async (logger)=>{
39
39
  bbSkipCleanup,
40
40
  bbBinaryPath,
41
41
  bbWorkingDirectory,
42
- cleanup
42
+ cleanup,
43
+ numConcurrentIVCVerifiers: 1
43
44
  };
44
45
  } catch (err) {
45
46
  logger.error(`Native BB not available, error: ${err}`);
@@ -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;;;;GAoCF"}
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;AAG9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAMhE,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;;;;GAgDF"}
@@ -1,9 +1,11 @@
1
1
  import { RollupContract } from '@aztec/ethereum';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
+ import { tryJsonStringify } from '@aztec/foundation/json-rpc';
3
4
  import { InboxAbi } from '@aztec/l1-artifacts';
4
- import { expect } from '@jest/globals';
5
5
  import { decodeEventLog, getContract } from 'viem';
6
+ import { getLogger } from './utils.js';
6
7
  export async function sendL1ToL2Message(message, ctx) {
8
+ const logger = getLogger();
7
9
  const inbox = getContract({
8
10
  address: ctx.l1ContractAddresses.inboxAddress.toString(),
9
11
  abi: InboxAbi,
@@ -20,12 +22,19 @@ export async function sendL1ToL2Message(message, ctx) {
20
22
  content.toString(),
21
23
  secretHash.toString()
22
24
  ]);
25
+ logger.info(`L1 to L2 message sent in tx ${txHash}`);
23
26
  // We check that the message was correctly injected by checking the emitted event
24
27
  const txReceipt = await ctx.l1Client.waitForTransactionReceipt({
25
28
  hash: txHash
26
29
  });
30
+ logger.info(`L1 to L2 message receipt retried for tx ${txReceipt.transactionHash}`);
31
+ if (txReceipt.transactionHash !== txHash) {
32
+ throw new Error(`Receipt transaction hash mismatch: ${txReceipt.transactionHash} !== ${txHash}`);
33
+ }
27
34
  // Exactly 1 event should be emitted in the transaction
28
- expect(txReceipt.logs.length).toBe(1);
35
+ if (txReceipt.logs.length !== 1) {
36
+ throw new Error(`Wrong number of logs found in ${txHash} transaction (got ${txReceipt.logs.length} expected 1)\n${tryJsonStringify(txReceipt.logs)}`);
37
+ }
29
38
  // We decode the event and get leaf out of it
30
39
  const messageSentLog = txReceipt.logs[0];
31
40
  const topics = decodeEventLog({
@@ -108,8 +108,8 @@ export declare class CrossChainTestHarness {
108
108
  sendL2PublicTransfer(transferAmount: bigint, receiverAddress: AztecAddress): Promise<void>;
109
109
  consumeMessageOnAztecAndMintPrivately(claim: Pick<L2AmountClaimWithRecipient, 'claimAmount' | 'claimSecret' | 'messageLeafIndex' | 'recipient'>): Promise<void>;
110
110
  consumeMessageOnAztecAndMintPublicly(claim: Pick<L2AmountClaim, 'claimAmount' | 'claimSecret' | 'messageLeafIndex'>): Promise<void>;
111
- withdrawPrivateFromAztecToL1(withdrawAmount: bigint, nonce: Fr | undefined, authWitness: AuthWitness): Promise<FieldsOf<TxReceipt>>;
112
- withdrawPublicFromAztecToL1(withdrawAmount: bigint, nonce?: Fr): Promise<FieldsOf<TxReceipt>>;
111
+ withdrawPrivateFromAztecToL1(withdrawAmount: bigint, authwitNonce: Fr | undefined, authWitness: AuthWitness): Promise<FieldsOf<TxReceipt>>;
112
+ withdrawPublicFromAztecToL1(withdrawAmount: bigint, authwitNonce?: Fr): Promise<FieldsOf<TxReceipt>>;
113
113
  getL2PrivateBalanceOf(owner: AztecAddress): Promise<any>;
114
114
  expectPrivateBalanceOnL2(owner: AztecAddress, expectedBalance: bigint): Promise<void>;
115
115
  getL2PublicBalanceOf(owner: AztecAddress): Promise<any>;
@@ -117,7 +117,7 @@ export declare class CrossChainTestHarness {
117
117
  getL2ToL1MessageLeaf(withdrawAmount: bigint, callerOnL1?: EthAddress): Promise<Fr>;
118
118
  withdrawFundsFromBridgeOnL1(amount: bigint, blockNumber: number | bigint, messageIndex: bigint, siblingPath: SiblingPath<number>): Promise<void>;
119
119
  transferToPrivateOnL2(shieldAmount: bigint): Promise<void>;
120
- transferToPublicOnL2(amount: bigint, nonce?: Fr): Promise<void>;
120
+ transferToPublicOnL2(amount: bigint, authwitNonce?: Fr): Promise<void>;
121
121
  /**
122
122
  * Makes message available for consumption.
123
123
  * @dev Does that by performing 2 unrelated transactions on L2 to progress the rollup by 2 blocks and then waits for
@@ -1 +1 @@
1
- {"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"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"}
@@ -147,16 +147,16 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
147
147
  const { claimAmount, claimSecret, messageLeafIndex } = claim;
148
148
  await this.l2Bridge.methods.claim_public(this.ownerAddress, claimAmount, claimSecret, messageLeafIndex).send().wait();
149
149
  }
150
- async withdrawPrivateFromAztecToL1(withdrawAmount, nonce = Fr.ZERO, authWitness) {
151
- const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, nonce).send({
150
+ async withdrawPrivateFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO, authWitness) {
151
+ const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
152
152
  authWitnesses: [
153
153
  authWitness
154
154
  ]
155
155
  }).wait();
156
156
  return withdrawReceipt;
157
157
  }
158
- async withdrawPublicFromAztecToL1(withdrawAmount, nonce = Fr.ZERO) {
159
- const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, nonce).send().wait();
158
+ async withdrawPublicFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO) {
159
+ const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send().wait();
160
160
  return withdrawReceipt;
161
161
  }
162
162
  async getL2PrivateBalanceOf(owner) {
@@ -186,9 +186,9 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
186
186
  this.logger.info('Transferring to private on L2');
187
187
  await this.l2Token.methods.transfer_to_private(this.ownerAddress, shieldAmount).send().wait();
188
188
  }
189
- async transferToPublicOnL2(amount, nonce = Fr.ZERO) {
189
+ async transferToPublicOnL2(amount, authwitNonce = Fr.ZERO) {
190
190
  this.logger.info('Transferring tokens to public');
191
- await this.l2Token.methods.transfer_to_public(this.ownerAddress, this.ownerAddress, amount, nonce).send().wait();
191
+ await this.l2Token.methods.transfer_to_public(this.ownerAddress, this.ownerAddress, amount, authwitNonce).send().wait();
192
192
  }
193
193
  /**
194
194
  * Makes message available for consumption.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/end-to-end",
3
- "version": "1.0.0-nightly.20250605",
3
+ "version": "1.0.0-nightly.20250606",
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.20250605",
29
- "@aztec/archiver": "1.0.0-nightly.20250605",
30
- "@aztec/aztec": "1.0.0-nightly.20250605",
31
- "@aztec/aztec-node": "1.0.0-nightly.20250605",
32
- "@aztec/aztec.js": "1.0.0-nightly.20250605",
33
- "@aztec/bb-prover": "1.0.0-nightly.20250605",
34
- "@aztec/blob-lib": "1.0.0-nightly.20250605",
35
- "@aztec/blob-sink": "1.0.0-nightly.20250605",
36
- "@aztec/bot": "1.0.0-nightly.20250605",
37
- "@aztec/cli": "1.0.0-nightly.20250605",
38
- "@aztec/constants": "1.0.0-nightly.20250605",
39
- "@aztec/entrypoints": "1.0.0-nightly.20250605",
40
- "@aztec/epoch-cache": "1.0.0-nightly.20250605",
41
- "@aztec/ethereum": "1.0.0-nightly.20250605",
42
- "@aztec/foundation": "1.0.0-nightly.20250605",
43
- "@aztec/kv-store": "1.0.0-nightly.20250605",
44
- "@aztec/l1-artifacts": "1.0.0-nightly.20250605",
45
- "@aztec/merkle-tree": "1.0.0-nightly.20250605",
46
- "@aztec/noir-contracts.js": "1.0.0-nightly.20250605",
47
- "@aztec/noir-noirc_abi": "1.0.0-nightly.20250605",
48
- "@aztec/noir-protocol-circuits-types": "1.0.0-nightly.20250605",
49
- "@aztec/noir-test-contracts.js": "1.0.0-nightly.20250605",
50
- "@aztec/p2p": "1.0.0-nightly.20250605",
51
- "@aztec/protocol-contracts": "1.0.0-nightly.20250605",
52
- "@aztec/prover-client": "1.0.0-nightly.20250605",
53
- "@aztec/prover-node": "1.0.0-nightly.20250605",
54
- "@aztec/pxe": "1.0.0-nightly.20250605",
55
- "@aztec/sequencer-client": "1.0.0-nightly.20250605",
56
- "@aztec/simulator": "1.0.0-nightly.20250605",
57
- "@aztec/slasher": "1.0.0-nightly.20250605",
58
- "@aztec/stdlib": "1.0.0-nightly.20250605",
59
- "@aztec/telemetry-client": "1.0.0-nightly.20250605",
60
- "@aztec/validator-client": "1.0.0-nightly.20250605",
61
- "@aztec/world-state": "1.0.0-nightly.20250605",
28
+ "@aztec/accounts": "1.0.0-nightly.20250606",
29
+ "@aztec/archiver": "1.0.0-nightly.20250606",
30
+ "@aztec/aztec": "1.0.0-nightly.20250606",
31
+ "@aztec/aztec-node": "1.0.0-nightly.20250606",
32
+ "@aztec/aztec.js": "1.0.0-nightly.20250606",
33
+ "@aztec/bb-prover": "1.0.0-nightly.20250606",
34
+ "@aztec/blob-lib": "1.0.0-nightly.20250606",
35
+ "@aztec/blob-sink": "1.0.0-nightly.20250606",
36
+ "@aztec/bot": "1.0.0-nightly.20250606",
37
+ "@aztec/cli": "1.0.0-nightly.20250606",
38
+ "@aztec/constants": "1.0.0-nightly.20250606",
39
+ "@aztec/entrypoints": "1.0.0-nightly.20250606",
40
+ "@aztec/epoch-cache": "1.0.0-nightly.20250606",
41
+ "@aztec/ethereum": "1.0.0-nightly.20250606",
42
+ "@aztec/foundation": "1.0.0-nightly.20250606",
43
+ "@aztec/kv-store": "1.0.0-nightly.20250606",
44
+ "@aztec/l1-artifacts": "1.0.0-nightly.20250606",
45
+ "@aztec/merkle-tree": "1.0.0-nightly.20250606",
46
+ "@aztec/noir-contracts.js": "1.0.0-nightly.20250606",
47
+ "@aztec/noir-noirc_abi": "1.0.0-nightly.20250606",
48
+ "@aztec/noir-protocol-circuits-types": "1.0.0-nightly.20250606",
49
+ "@aztec/noir-test-contracts.js": "1.0.0-nightly.20250606",
50
+ "@aztec/p2p": "1.0.0-nightly.20250606",
51
+ "@aztec/protocol-contracts": "1.0.0-nightly.20250606",
52
+ "@aztec/prover-client": "1.0.0-nightly.20250606",
53
+ "@aztec/prover-node": "1.0.0-nightly.20250606",
54
+ "@aztec/pxe": "1.0.0-nightly.20250606",
55
+ "@aztec/sequencer-client": "1.0.0-nightly.20250606",
56
+ "@aztec/simulator": "1.0.0-nightly.20250606",
57
+ "@aztec/slasher": "1.0.0-nightly.20250606",
58
+ "@aztec/stdlib": "1.0.0-nightly.20250606",
59
+ "@aztec/telemetry-client": "1.0.0-nightly.20250606",
60
+ "@aztec/validator-client": "1.0.0-nightly.20250606",
61
+ "@aztec/world-state": "1.0.0-nightly.20250606",
62
62
  "@iarna/toml": "^2.2.5",
63
63
  "@jest/globals": "^29.5.0",
64
64
  "@noble/curves": "^1.0.0",
@@ -22,7 +22,11 @@ async function createProver(config: NativeProverConfig = {}, log: Logger) {
22
22
  } else {
23
23
  const bbConfig = config as Required<NativeProverConfig>;
24
24
  return {
25
- prover: await BBNativePrivateKernelProver.new({ bbSkipCleanup: false, ...bbConfig }, simulator, log),
25
+ prover: await BBNativePrivateKernelProver.new(
26
+ { bbSkipCleanup: false, numConcurrentIVCVerifiers: 1, ...bbConfig },
27
+ simulator,
28
+ log,
29
+ ),
26
30
  type: 'native' as ProverType,
27
31
  };
28
32
  }
@@ -46,7 +46,7 @@ export const getBBConfig = async (
46
46
  }
47
47
  };
48
48
 
49
- return { bbSkipCleanup, bbBinaryPath, bbWorkingDirectory, cleanup };
49
+ return { bbSkipCleanup, bbBinaryPath, bbWorkingDirectory, cleanup, numConcurrentIVCVerifiers: 1 };
50
50
  } catch (err) {
51
51
  logger.error(`Native BB not available, error: ${err}`);
52
52
  return undefined;
@@ -1,11 +1,13 @@
1
1
  import { type ExtendedViemWalletClient, type L1ContractAddresses, RollupContract } from '@aztec/ethereum';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
+ import { tryJsonStringify } from '@aztec/foundation/json-rpc';
3
4
  import { InboxAbi } from '@aztec/l1-artifacts';
4
5
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
6
 
6
- import { expect } from '@jest/globals';
7
7
  import { decodeEventLog, getContract } from 'viem';
8
8
 
9
+ import { getLogger } from './utils.js';
10
+
9
11
  export async function sendL1ToL2Message(
10
12
  message: { recipient: AztecAddress; content: Fr; secretHash: Fr },
11
13
  ctx: {
@@ -13,6 +15,7 @@ export async function sendL1ToL2Message(
13
15
  l1ContractAddresses: Pick<L1ContractAddresses, 'inboxAddress' | 'rollupAddress'>;
14
16
  },
15
17
  ) {
18
+ const logger = getLogger();
16
19
  const inbox = getContract({
17
20
  address: ctx.l1ContractAddresses.inboxAddress.toString(),
18
21
  abi: InboxAbi,
@@ -29,12 +32,23 @@ export async function sendL1ToL2Message(
29
32
  content.toString(),
30
33
  secretHash.toString(),
31
34
  ]);
35
+ logger.info(`L1 to L2 message sent in tx ${txHash}`);
32
36
 
33
37
  // We check that the message was correctly injected by checking the emitted event
34
38
  const txReceipt = await ctx.l1Client.waitForTransactionReceipt({ hash: txHash });
35
39
 
40
+ logger.info(`L1 to L2 message receipt retried for tx ${txReceipt.transactionHash}`);
41
+
42
+ if (txReceipt.transactionHash !== txHash) {
43
+ throw new Error(`Receipt transaction hash mismatch: ${txReceipt.transactionHash} !== ${txHash}`);
44
+ }
45
+
36
46
  // Exactly 1 event should be emitted in the transaction
37
- expect(txReceipt.logs.length).toBe(1);
47
+ if (txReceipt.logs.length !== 1) {
48
+ throw new Error(
49
+ `Wrong number of logs found in ${txHash} transaction (got ${txReceipt.logs.length} expected 1)\n${tryJsonStringify(txReceipt.logs)}`,
50
+ );
51
+ }
38
52
 
39
53
  // We decode the event and get leaf out of it
40
54
  const messageSentLog = txReceipt.logs[0];
@@ -271,20 +271,20 @@ export class CrossChainTestHarness {
271
271
 
272
272
  async withdrawPrivateFromAztecToL1(
273
273
  withdrawAmount: bigint,
274
- nonce: Fr = Fr.ZERO,
274
+ authwitNonce: Fr = Fr.ZERO,
275
275
  authWitness: AuthWitness,
276
276
  ): Promise<FieldsOf<TxReceipt>> {
277
277
  const withdrawReceipt = await this.l2Bridge.methods
278
- .exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, nonce)
278
+ .exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce)
279
279
  .send({ authWitnesses: [authWitness] })
280
280
  .wait();
281
281
 
282
282
  return withdrawReceipt;
283
283
  }
284
284
 
285
- async withdrawPublicFromAztecToL1(withdrawAmount: bigint, nonce: Fr = Fr.ZERO): Promise<FieldsOf<TxReceipt>> {
285
+ async withdrawPublicFromAztecToL1(withdrawAmount: bigint, authwitNonce: Fr = Fr.ZERO): Promise<FieldsOf<TxReceipt>> {
286
286
  const withdrawReceipt = await this.l2Bridge.methods
287
- .exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, nonce)
287
+ .exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce)
288
288
  .send()
289
289
  .wait();
290
290
 
@@ -339,9 +339,12 @@ export class CrossChainTestHarness {
339
339
  await this.l2Token.methods.transfer_to_private(this.ownerAddress, shieldAmount).send().wait();
340
340
  }
341
341
 
342
- async transferToPublicOnL2(amount: bigint, nonce = Fr.ZERO) {
342
+ async transferToPublicOnL2(amount: bigint, authwitNonce = Fr.ZERO) {
343
343
  this.logger.info('Transferring tokens to public');
344
- await this.l2Token.methods.transfer_to_public(this.ownerAddress, this.ownerAddress, amount, nonce).send().wait();
344
+ await this.l2Token.methods
345
+ .transfer_to_public(this.ownerAddress, this.ownerAddress, amount, authwitNonce)
346
+ .send()
347
+ .wait();
345
348
  }
346
349
 
347
350
  /**