From fb4c6b83c66d78aa33b8a2385944a97675bd4dff Mon Sep 17 00:00:00 2001 From: AztecBot Date: Fri, 18 Sep 2026 18:54:42 +0000 Subject: [PATCH] fix(l1): deploy the real epoch proof verifier unless REAL_VERIFIER=false --- l1-contracts/script/deploy/RollupConfiguration.sol | 2 +- l1-contracts/scripts/run_rollup_upgrade.sh | 1 - .../test/script/DeployAztecL1Contracts.t.sol | 13 +++++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/l1-contracts/script/deploy/RollupConfiguration.sol b/l1-contracts/script/deploy/RollupConfiguration.sol index f6730887098..c7b6ac8c73a 100644 --- a/l1-contracts/script/deploy/RollupConfiguration.sol +++ b/l1-contracts/script/deploy/RollupConfiguration.sol @@ -41,7 +41,7 @@ contract RollupConfiguration is IRollupConfiguration, Test { } function useRealVerifier() external view returns (bool) { - return vm.envOr("REAL_VERIFIER", false); + return vm.envOr("REAL_VERIFIER", true); } function getFeeJuicePortalInitialBalance() external view returns (uint256) { diff --git a/l1-contracts/scripts/run_rollup_upgrade.sh b/l1-contracts/scripts/run_rollup_upgrade.sh index 3cabda3ecf0..1d3e09fd17c 100755 --- a/l1-contracts/scripts/run_rollup_upgrade.sh +++ b/l1-contracts/scripts/run_rollup_upgrade.sh @@ -20,7 +20,6 @@ echo "=== Deploying rollup upgrade ===" echo "Registry: $registry_address" REGISTRY_ADDRESS="$registry_address" \ -REAL_VERIFIER="${REAL_VERIFIER:-true}" \ ./scripts/forge_broadcast.js \ script/deploy/DeployRollupForUpgrade.s.sol:DeployRollupForUpgrade \ --rpc-url "$L1_RPC_URL" \ diff --git a/l1-contracts/test/script/DeployAztecL1Contracts.t.sol b/l1-contracts/test/script/DeployAztecL1Contracts.t.sol index 599b0178524..48f7e96179e 100644 --- a/l1-contracts/test/script/DeployAztecL1Contracts.t.sol +++ b/l1-contracts/test/script/DeployAztecL1Contracts.t.sol @@ -8,7 +8,9 @@ import {stdJson} from "forge-std/StdJson.sol"; import {DeployAztecL1Contracts} from "../../script/deploy/DeployAztecL1Contracts.s.sol"; import {RollupConfiguration} from "../../script/deploy/RollupConfiguration.sol"; import {RegistryRewardOverride, RollupConfigInput} from "@aztec/core/interfaces/IRollup.sol"; +import {IVerifier} from "@aztec/core/interfaces/IVerifier.sol"; import {IRewardDistributor} from "@aztec/governance/interfaces/IRewardDistributor.sol"; +import {HonkVerifier} from "@generated/HonkVerifier.sol"; contract RollupConfigurationHarness is RollupConfiguration { function getRegistryRewardOverride(string memory _envName) external view returns (RegistryRewardOverride memory) { @@ -95,6 +97,17 @@ contract DeployAztecL1ContractsTest is Test { deployScript.run(); } + // The mock verifier accepts any proof, so a deployment that does not set REAL_VERIFIER must bind the real one. + function test_DeploysRealVerifierByDefault() public { + DeployAztecL1Contracts deployScript = new DeployAztecL1Contracts(); + deployScript.run(); + + IVerifier verifier = deployScript.output().rollup.rollup.getEpochProofVerifier(); + assertEq( + address(verifier).codehash, address(new HonkVerifier()).codehash, "epoch proof verifier is not HonkVerifier" + ); + } + function test_RegistryRewardOverridesConfiguration() public { address registry0 = makeAddr("registry0"); address registry1 = makeAddr("registry1");