diff --git a/labs b/labs index 1b6de149f4f..ea00f1b0939 160000 --- a/labs +++ b/labs @@ -1 +1 @@ -Subproject commit 1b6de149f4fe1cde3c5fb876d3822289f490cd2a +Subproject commit ea00f1b0939d034448fce9c16d461a7ea363a992 diff --git a/labs-patches/0001-test-pin-testnet-compatibility-to-the-v6-payload-VK-.patch b/labs-patches/0001-test-pin-testnet-compatibility-to-the-v6-payload-VK-.patch deleted file mode 100644 index f54132d36ee..00000000000 --- a/labs-patches/0001-test-pin-testnet-compatibility-to-the-v6-payload-VK-.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: IlyasRidhuan -Date: Tue, 20 Oct 2026 13:00:22 +0000 -Subject: [PATCH] test: pin testnet compatibility to the v6 payload VK tree - root -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The VK tree root the tree builds is 0x22fff5de…5913f219, the root in the -v6 payload proposal. Replaces the previous testnet pin 0x13eeb174…de69e02. -The protocol contracts hash and genesis archive root pins are unchanged. - -diff --git a/yarn-project/aztec/src/testnet_compatibility.test.ts b/yarn-project/aztec/src/testnet_compatibility.test.ts -index 85e2da8786f166048737749b076891d41e761f84..a08ab707e89d5d1718f3c06d0906d03b053ad9da 100644 ---- a/yarn-project/aztec/src/testnet_compatibility.test.ts -+++ b/yarn-project/aztec/src/testnet_compatibility.test.ts -@@ -11,7 +11,7 @@ import { computeExpectedGenesisRoot } from './cli/cmds/standby.js'; - */ - describe('Testnet compatibility', () => { - it('has expected VK tree root', () => { -- const expectedRoots = [Fr.fromHexString('0x13eeb174d4119b221a22721853261759f57a65a57e864ad78b840b23cde69e02')]; -+ const expectedRoots = [Fr.fromHexString('0x22fff5de6ce590153df4468f7f0b152188a803d91b3c9c648b91d93d5913f219')]; - expect(expectedRoots).toContainEqual(getVKTreeRoot()); - }); - it('has expected Protocol Contracts hash', () => { diff --git a/labs-patches/0002-fix-ivc-integration-take-the-batch-verifier-bench-VK.patch b/labs-patches/0002-fix-ivc-integration-take-the-batch-verifier-bench-VK.patch deleted file mode 100644 index 4530ab97ac4..00000000000 --- a/labs-patches/0002-fix-ivc-integration-take-the-batch-verifier-bench-VK.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: IlyasRidhuan -Date: Tue, 20 Oct 2026 14:09:26 +0000 -Subject: [PATCH] fix(ivc-integration): take the batch verifier bench VK from - the protocol artifacts - -bb prove --scheme chonk rejects --write_vk, so the bench failed before -proving. Use ProtocolCircuitVks.HidingKernelToRollup.keyAsBytes, the key -BatchChonkVerifier.new uses in production for private-only flows. - -diff --git a/yarn-project/ivc-integration/src/batch_verifier.bench.test.ts b/yarn-project/ivc-integration/src/batch_verifier.bench.test.ts -index 7728cad83c7d067f3e2da8153eac6d779072eff5..43613e60e3e564ba72878cffaa5fb85b9c2e0032 100644 ---- a/yarn-project/ivc-integration/src/batch_verifier.bench.test.ts -+++ b/yarn-project/ivc-integration/src/batch_verifier.bench.test.ts -@@ -6,6 +6,7 @@ - */ - import { BatchChonkVerifier } from '@aztec-labs/bb-prover'; - import { createLogger } from '@aztec-labs/foundation/log'; -+import { ProtocolCircuitVks } from '@aztec-labs/noir-protocol-circuits-types/server/vks'; - import { jest } from '@jest/globals'; - import { execFile } from 'node:child_process'; - import { readFileSync } from 'node:fs'; -@@ -75,13 +76,9 @@ describe('Batch Chonk Verifier Benchmarks (Real Proofs)', () => { - // Prove the flow - logger.info(`Proving flow: ${flow}...`); - const proveStart = performance.now(); -- await execFileAsync( -- BB_PATH, -- ['prove', '--scheme', 'chonk', '--ivc_inputs_path', ivcInputsPath, '--write_vk', '-o', proofDir], -- { -- timeout: 600_000, -- }, -- ); -+ await execFileAsync(BB_PATH, ['prove', '--scheme', 'chonk', '--ivc_inputs_path', ivcInputsPath, '-o', proofDir], { -+ timeout: 600_000, -+ }); - const proveMs = performance.now() - proveStart; - logger.info(`Proof generated in ${Math.ceil(proveMs)}ms`); - -@@ -90,11 +87,11 @@ describe('Batch Chonk Verifier Benchmarks (Real Proofs)', () => { - validProofFields = proofToFields(proofBuf); - invalidProofFields = corruptProofFields(validProofFields); - -- // bb derives this VK from the bytecode inside the flow's msgpack, which is what it proved. -- // The flows and the protocol circuit artifacts sit on separate pins, so a key from -- // ProtocolCircuitVks can disagree with the proof's public input count. We tolerate this -- // for a benchmark. -- vk = await readFile(resolve(proofDir, 'vk')); -+ // `bb prove --scheme chonk` no longer writes a VK. The flow is a private-only transaction, so -+ // its proof verifies against the hiding-kernel-to-rollup key, taken from the protocol circuit -+ // artifacts the way BatchChonkVerifier.new does. The pinned flows are checked against these -+ // artifacts (chonk_inputs.sh check), so the key matches what was proved. -+ vk = ProtocolCircuitVks.HidingKernelToRollup.keyAsBytes; - - logger.info(`Proof: ${proofBuf.length} bytes, ${validProofFields.length} fields`); - }); diff --git a/labs-patches/test_cmd_skip b/labs-patches/test_cmd_skip index ce8a906e3d7..12def0d5076 100644 --- a/labs-patches/test_cmd_skip +++ b/labs-patches/test_cmd_skip @@ -1 +1 @@ -end-to-end/scripts/run_test[.]sh (compose|web3signer|ha) |playground/scripts/run_test[.]sh|docs/examples/bootstrap[.]sh execute|[.]claude/tests/format_file_test|yarn-project/scripts/run_test[.]sh aztec/src/mainnet_compatibility[.]test[.]ts +end-to-end/scripts/run_test[.]sh (compose|web3signer|ha) |playground/scripts/run_test[.]sh|docs/examples/bootstrap[.]sh execute|[.]claude/tests/format_file_test diff --git a/scripts/labs_env.sh b/scripts/labs_env.sh index 010ac206458..3d167033c9d 100755 --- a/scripts/labs_env.sh +++ b/scripts/labs_env.sh @@ -7,8 +7,7 @@ # since the foundation test engine runs them from this root; # - TEST_CMD_SKIP drops the flavours that cannot run from here (labs-patches/test_cmd_skip): the # docker-compose based tests mount only the labs tree, where the use-local portals do not resolve, -# format_file_test needs prettier's import-sort plugin resolvable from the labs root, and the -# mainnet compatibility test has no deployed mainnet to pin against yet. +# and format_file_test needs prettier's import-sort plugin resolvable from the labs root. labs_env_root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P) export TEST_CMD_PREFIX='cd labs && export root= ci3= && ' TEST_CMD_SKIP=$(cat "$labs_env_root/labs-patches/test_cmd_skip")