diff --git a/contracts/contracts/utils/AlwaysFalseMiddleware.sol b/contracts/contracts/utils/AlwaysFalseMiddleware.sol new file mode 100644 index 000000000..563dc2e1b --- /dev/null +++ b/contracts/contracts/utils/AlwaysFalseMiddleware.sol @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: BSL 1.1 +pragma solidity 0.8.26; + +/// Temporary stand-in until the mev-commit middleware and symbiotic core, are ready for mainnet. +contract AlwaysFalseMevCommitMiddleware { + function isValidatorOptedIn(bytes calldata) external pure returns (bool) { + return false; + } +} diff --git a/contracts/scripts/validator-registry/DeployValidatorOptInRouter.s.sol b/contracts/scripts/validator-registry/DeployValidatorOptInRouter.s.sol index 9f6aef56f..08a38ecb4 100644 --- a/contracts/scripts/validator-registry/DeployValidatorOptInRouter.s.sol +++ b/contracts/scripts/validator-registry/DeployValidatorOptInRouter.s.sol @@ -9,6 +9,8 @@ import {Script} from "forge-std/Script.sol"; import {console} from "forge-std/console.sol"; import {Upgrades} from "openzeppelin-foundry-upgrades/Upgrades.sol"; import {ValidatorOptInRouter} from "../../contracts/validator-registry/ValidatorOptInRouter.sol"; +import {MainnetConstants} from "../MainnetConstants.sol"; +import {AlwaysFalseMevCommitMiddleware} from "../../contracts/utils/AlwaysFalseMiddleware.sol"; contract BaseDeploy is Script { function deployValidatorOptInRouter( @@ -32,6 +34,27 @@ contract BaseDeploy is Script { } } +contract DeployMainnet is BaseDeploy { + address constant public VANILLA_REGISTRY = 0x47afdcB2B089C16CEe354811EA1Bbe0DB7c335E9; + address constant public MEV_COMMIT_AVS = 0xBc77233855e3274E1903771675Eb71E602D9DC2e; + address constant public OWNER = MainnetConstants.PRIMEV_TEAM_MULTISIG; + + function run() external { + require(block.chainid == 1, "must deploy on mainnet"); + vm.startBroadcast(); + + AlwaysFalseMevCommitMiddleware alwaysFalseMevCommitMiddleware = new AlwaysFalseMevCommitMiddleware(); + + deployValidatorOptInRouter( + VANILLA_REGISTRY, + MEV_COMMIT_AVS, + address(alwaysFalseMevCommitMiddleware), + OWNER + ); + vm.stopBroadcast(); + } +} + contract DeployHolesky is BaseDeploy { address constant public VANILLA_REGISTRY = 0x87D5F694fAD0b6C8aaBCa96277DE09451E277Bcf; address constant public MEV_COMMIT_AVS = 0xEDEDB8ed37A43Fd399108A44646B85b780D85DD4;