From 6e56475413c3240d56d70d413ca5195cd1ced4cc Mon Sep 17 00:00:00 2001 From: David Date: Mon, 20 May 2024 23:29:44 +0800 Subject: [PATCH] feat(protocol): deploy `ProverSet` in `DeployOnL1` script (#17272) --- packages/protocol/script/DeployOnL1.s.sol | 18 ++++++++++++++++-- packages/protocol/script/test_deploy_on_l1.sh | 1 + 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/protocol/script/DeployOnL1.s.sol b/packages/protocol/script/DeployOnL1.s.sol index fcd1fbb0971..d19f54de472 100644 --- a/packages/protocol/script/DeployOnL1.s.sol +++ b/packages/protocol/script/DeployOnL1.s.sol @@ -22,6 +22,7 @@ import "../contracts/automata-attestation/AutomataDcapV3Attestation.sol"; import "../contracts/automata-attestation/utils/SigVerifyLib.sol"; import "../contracts/automata-attestation/lib/PEMCertChainLib.sol"; import "../contracts/verifiers/SgxVerifier.sol"; +import "../contracts/team/proving/ProverSet.sol"; import "../test/common/erc20/FreeMintERC20.sol"; import "../test/common/erc20/MayFailFreeMintERC20.sol"; import "../test/L1/TestTierProvider.sol"; @@ -273,7 +274,8 @@ contract DeployOnL1 is DeployCapability { deployProxy({ name: "assignment_hook", impl: address(new AssignmentHook()), - data: abi.encodeCall(AssignmentHook.init, (owner, rollupAddressManager)) + data: abi.encodeCall(AssignmentHook.init, (owner, rollupAddressManager)), + registerTo: rollupAddressManager }); deployProxy({ @@ -301,7 +303,11 @@ contract DeployOnL1 is DeployCapability { register(rollupAddressManager, "tier_guardian_minority", guardianProverMinority); register(rollupAddressManager, "tier_guardian", guardianProver); - register(rollupAddressManager, "tier_provider", address(new TestTierProvider())); + register( + rollupAddressManager, + "tier_provider", + address(deployTierProvider(vm.envString("TIER_PROVIDER"))) + ); address[] memory guardians = vm.envAddress("GUARDIAN_PROVERS", ","); @@ -333,6 +339,14 @@ contract DeployOnL1 is DeployCapability { console2.log("SigVerifyLib", address(sigVerifyLib)); console2.log("PemCertChainLib", address(pemCertChainLib)); console2.log("AutomataDcapVaAttestation", automataProxy); + + deployProxy({ + name: "prover_set", + impl: address(new ProverSet()), + data: abi.encodeCall( + ProverSet.init, (owner, vm.envAddress("PROVER_SET_ADMIN"), rollupAddressManager) + ) + }); } function deployTierProvider(string memory tierProviderName) private returns (address) { diff --git a/packages/protocol/script/test_deploy_on_l1.sh b/packages/protocol/script/test_deploy_on_l1.sh index 28e20309c1e..c4df51742f9 100755 --- a/packages/protocol/script/test_deploy_on_l1.sh +++ b/packages/protocol/script/test_deploy_on_l1.sh @@ -11,6 +11,7 @@ GUARDIAN_PROVERS="0x1000777700000000000000000000000000000001,0x10007777000000000 TAIKO_L2_ADDRESS=0x1000777700000000000000000000000000000001 \ L2_SIGNAL_SERVICE=0x1000777700000000000000000000000000000007 \ CONTRACT_OWNER=0x60997970C51812dc3A010C7d01b50e0d17dc79C8 \ +PROVER_SET_ADMIN=0x60997970C51812dc3A010C7d01b50e0d17dc79C8 \ TAIKO_TOKEN_PREMINT_RECIPIENT=0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 \ TAIKO_TOKEN_NAME="Taiko Token Katla" \ TAIKO_TOKEN_SYMBOL=TTKOk \