@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.
- package/dest/bench/client_flows/data_extractor.js +1 -0
- package/dest/fixtures/get_bb_config.js +2 -1
- package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
- package/dest/fixtures/l1_to_l2_messaging.js +11 -2
- package/dest/shared/cross_chain_test_harness.d.ts +3 -3
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +6 -6
- package/package.json +35 -35
- package/src/bench/client_flows/data_extractor.ts +5 -1
- package/src/fixtures/get_bb_config.ts +1 -1
- package/src/fixtures/l1_to_l2_messaging.ts +16 -2
- package/src/shared/cross_chain_test_harness.ts +9 -6
|
@@ -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;
|
|
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
|
-
|
|
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,
|
|
112
|
-
withdrawPublicFromAztecToL1(withdrawAmount: bigint,
|
|
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,
|
|
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":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,UAAU,EACV,KAAK,QAAQ,EACb,EAAE,EAGF,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,mBAAmB,EAAoB,MAAM,iBAAiB,CAAC;AAE5G,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAK7C;;;;;;;;;GASG;AACH,wBAAsB,0CAA0C,CAC9D,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,wBAAwB,EAClC,qBAAqB,EAAE,UAAU,EACjC,KAAK,EAAE,YAAY,EACnB,sBAAsB,EAAE,UAAU,GACjC,OAAO,CAAC;IACT;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;OAEG;IACH,kBAAkB,EAAE,UAAU,CAAC;IAC/B;;OAEG;IACH,WAAW,EAAE,GAAG,CAAC;IACjB;;OAEG;IACH,eAAe,EAAE,GAAG,CAAC;CACtB,CAAC,CA0CD;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,UAAU,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,qBAAa,qBAAqB;IA4C9B,2BAA2B;IACpB,SAAS,EAAE,SAAS;IAC3B,2CAA2C;IACpC,UAAU,EAAE,GAAG;IACtB,cAAc;IACP,MAAM,EAAE,MAAM;IAErB,yBAAyB;IAClB,OAAO,EAAE,aAAa;IAC7B,gCAAgC;IACzB,QAAQ,EAAE,mBAAmB;IAEpC,oCAAoC;IAC7B,UAAU,EAAE,UAAU;IAE7B,sBAAsB;IACf,kBAAkB,EAAE,UAAU;IACrC,yCAAyC;IAClC,sBAAsB,EAAE,UAAU;IACzC,qCAAqC;IAC9B,QAAQ,EAAE,wBAAwB;IAEzC,gDAAgD;aAChC,mBAAmB,EAAE,mBAAmB;IAExD,2BAA2B;aACX,WAAW,EAAE,aAAa;WArE/B,GAAG,CACd,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,GAAG,EACf,QAAQ,EAAE,wBAAwB,EAClC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,sBAAsB,EAAE,UAAU,GACjC,OAAO,CAAC,qBAAqB,CAAC;IA8BjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAE5D,SAAgB,YAAY,EAAE,YAAY,CAAC;;IAGzC,2BAA2B;IACpB,SAAS,EAAE,SAAS;IAC3B,2CAA2C;IACpC,UAAU,EAAE,GAAG;IACtB,cAAc;IACP,MAAM,EAAE,MAAM;IAErB,yBAAyB;IAClB,OAAO,EAAE,aAAa;IAC7B,gCAAgC;IACzB,QAAQ,EAAE,mBAAmB;IAEpC,oCAAoC;IAC7B,UAAU,EAAE,UAAU;IAE7B,sBAAsB;IACf,kBAAkB,EAAE,UAAU;IACrC,yCAAyC;IAClC,sBAAsB,EAAE,UAAU;IACzC,qCAAqC;IAC9B,QAAQ,EAAE,wBAAwB;IAEzC,gDAAgD;IAChC,mBAAmB,EAAE,mBAAmB;IAExD,2BAA2B;IACX,WAAW,EAAE,aAAa;IActC,cAAc,CAAC,MAAM,EAAE,MAAM;IAYnC,cAAc,CAAC,OAAO,EAAE,UAAU;IAIlC,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,UAAQ;IAI3D,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,UAAQ;IAItD,oBAAoB,CAAC,MAAM,EAAE,MAAM;IAKnC,qBAAqB,CAAC,MAAM,EAAE,MAAM;IAIpC,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY;IAK1E,qCAAqC,CACzC,KAAK,EAAE,IAAI,CAAC,0BAA0B,EAAE,aAAa,GAAG,aAAa,GAAG,kBAAkB,GAAG,WAAW,CAAC;IAUrG,oCAAoC,CACxC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,GAAG,kBAAkB,CAAC;IAU1E,4BAA4B,CAChC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,EAAE,YAAU,EAC1B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IASzB,2BAA2B,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,GAAE,EAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAS7G,qBAAqB,CAAC,KAAK,EAAE,YAAY;IAIzC,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM;IAMrE,oBAAoB,CAAC,KAAK,EAAE,YAAY;IAIxC,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM;IAKpE,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,GAAE,UAA4B,GAAG,OAAO,CAAC,EAAE,CAAC;IASzG,2BAA2B,CACzB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;IAW5B,qBAAqB,CAAC,YAAY,EAAE,MAAM;IAK1C,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,KAAU;IAQjE;;;;;;OAMG;IACG,qBAAqB,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG;IAS7C,mBAAmB,IAAI,iBAAiB;CAYzC"}
|
|
@@ -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,
|
|
151
|
-
const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO,
|
|
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,
|
|
159
|
-
const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO,
|
|
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,
|
|
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,
|
|
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.
|
|
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.
|
|
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.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(
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
342
|
+
async transferToPublicOnL2(amount: bigint, authwitNonce = Fr.ZERO) {
|
|
343
343
|
this.logger.info('Transferring tokens to public');
|
|
344
|
-
await this.l2Token.methods
|
|
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
|
/**
|