From bee778a6a8662ab8148f367b795aa423270de4d7 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 31 Oct 2024 14:46:28 +0800 Subject: [PATCH 1/4] feat(protocol): scripts to deploy mainnet new implementation contracts --- .../layer2/mainnet/MainnetTaikoL2.sol | 2 +- .../script/layer1/UpdateMainnetOntakeL1.s.sol | 45 +++++++++++++++++++ .../script/layer2/UpdateMainnetOntakeL2.s.sol | 30 +++++++++++++ 3 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 packages/protocol/script/layer1/UpdateMainnetOntakeL1.s.sol create mode 100644 packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol diff --git a/packages/protocol/contracts/layer2/mainnet/MainnetTaikoL2.sol b/packages/protocol/contracts/layer2/mainnet/MainnetTaikoL2.sol index f7769413cb6..956c193fdab 100644 --- a/packages/protocol/contracts/layer2/mainnet/MainnetTaikoL2.sol +++ b/packages/protocol/contracts/layer2/mainnet/MainnetTaikoL2.sol @@ -7,6 +7,6 @@ import "../based/TaikoL2.sol"; /// @custom:security-contact security@taiko.xyz contract MainnetTaikoL2 is TaikoL2 { function ontakeForkHeight() public pure override returns (uint64) { - return 374_400; // = 7200 * 52 + return 538_304; } } diff --git a/packages/protocol/script/layer1/UpdateMainnetOntakeL1.s.sol b/packages/protocol/script/layer1/UpdateMainnetOntakeL1.s.sol new file mode 100644 index 00000000000..c23195c279b --- /dev/null +++ b/packages/protocol/script/layer1/UpdateMainnetOntakeL1.s.sol @@ -0,0 +1,45 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.24; + +import "test/shared/DeployCapability.sol"; +import "src/layer1/mainnet/multirollup/MainnetSharedAddressManager.sol"; +import "src/layer1/mainnet/multirollup/MainnetSignalService.sol"; +import "src/layer1/mainnet/multirollup/MainnetBridge.sol"; +import "src/layer1/mainnet/rollup/MainnetRollupAddressManager.sol"; +import "src/layer1/mainnet/rollup/MainnetTaikoL1.sol"; +import "src/layer1/mainnet/rollup/MainnetTierRouter.sol"; +import "src/layer1/mainnet/rollup/verifiers/MainnetSgxVerifier.sol"; +import "src/layer1/provers/GuardianProver.sol"; +import "src/layer1/mainnet/rollup/MainnetProverSet.sol"; + +contract UpgradeMainnetOntakeL1 is DeployCapability { + uint256 public privateKey = vm.envUint("PRIVATE_KEY"); + + modifier broadcast() { + require(privateKey != 0, "invalid private key"); + vm.startBroadcast(privateKey); + _; + vm.stopBroadcast(); + } + + function run() external broadcast { + // MainnetSharedAddressManager + console2.log(address(new MainnetSharedAddressManager())); + // MainnetSignalService + console2.log(address(new MainnetSignalService())); + // MainnetBridge + console2.log(address(new MainnetBridge())); + // MainnetRollupAddressManager + console2.log(address(new MainnetRollupAddressManager())); + // MainnetTaikoL1 + console2.log(address(new MainnetTaikoL1())); + // MainnetTierRouter + console2.log(address(new MainnetTierRouter())); + // MainnetSgxVerifier + console2.log(address(new MainnetSgxVerifier())); + // GuardianProver + console2.log(address(new GuardianProver())); + // MainnetProverSet + console2.log(address(new MainnetProverSet())); + } +} diff --git a/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol b/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol new file mode 100644 index 00000000000..b4be84a5779 --- /dev/null +++ b/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.24; + +import "test/shared/DeployCapability.sol"; +import "src/layer1/mainnet/multirollup/MainnetSharedAddressManager.sol"; +import "src/layer1/mainnet/multirollup/MainnetSignalService.sol"; +import "src/layer1/mainnet/multirollup/MainnetBridge.sol"; +import "src/layer2/mainnet/MainnetTaikoL2.sol"; + +contract UpgradeMainnetOntakeL2 is DeployCapability { + uint256 public privateKey = vm.envUint("PRIVATE_KEY"); + + modifier broadcast() { + require(privateKey != 0, "invalid private key"); + vm.startBroadcast(privateKey); + _; + vm.stopBroadcast(); + } + + function run() external broadcast { + // MainnetRollupAddressManager + console2.log(address(new MainnetSharedAddressManager())); + // MainnetBridge + console2.log(address(new MainnetBridge())); + // MainnetSignalService + console2.log(address(new MainnetSignalService())); + // MainnetTaikoL2 + console2.log(address(new MainnetTaikoL2())); + } +} From 593e02880b1bd8b170c40ead8197cbcfc3387bd3 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 31 Oct 2024 14:51:01 +0800 Subject: [PATCH 2/4] feat: update MainnetTierRouter --- .../contracts/layer1/mainnet/rollup/MainnetTierRouter.sol | 2 +- packages/protocol/script/layer1/UpdateMainnetOntakeL1.s.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/protocol/contracts/layer1/mainnet/rollup/MainnetTierRouter.sol b/packages/protocol/contracts/layer1/mainnet/rollup/MainnetTierRouter.sol index 6268c73946b..954b3be352f 100644 --- a/packages/protocol/contracts/layer1/mainnet/rollup/MainnetTierRouter.sol +++ b/packages/protocol/contracts/layer1/mainnet/rollup/MainnetTierRouter.sol @@ -11,7 +11,7 @@ contract MainnetTierRouter is ITierRouter, TierProviderBase { address public immutable DAO_FALLBACK_PROPOSER; constructor(address _daoFallbackProposer) { - // 0xD3f681bD6B49887A48cC9C9953720903967E9DC0 + // 0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9 DAO_FALLBACK_PROPOSER = _daoFallbackProposer; } diff --git a/packages/protocol/script/layer1/UpdateMainnetOntakeL1.s.sol b/packages/protocol/script/layer1/UpdateMainnetOntakeL1.s.sol index c23195c279b..39ad0679e98 100644 --- a/packages/protocol/script/layer1/UpdateMainnetOntakeL1.s.sol +++ b/packages/protocol/script/layer1/UpdateMainnetOntakeL1.s.sol @@ -34,7 +34,7 @@ contract UpgradeMainnetOntakeL1 is DeployCapability { // MainnetTaikoL1 console2.log(address(new MainnetTaikoL1())); // MainnetTierRouter - console2.log(address(new MainnetTierRouter())); + console2.log(address(new MainnetTierRouter(0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9))); // MainnetSgxVerifier console2.log(address(new MainnetSgxVerifier())); // GuardianProver From d1cac41eed0c9e766a2c0e8d50f0ef64fa3b4b83 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 31 Oct 2024 14:51:25 +0800 Subject: [PATCH 3/4] Update packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol Co-authored-by: Gavin Yu --- packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol b/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol index b4be84a5779..e906df2ad38 100644 --- a/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol +++ b/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol @@ -18,7 +18,7 @@ contract UpgradeMainnetOntakeL2 is DeployCapability { } function run() external broadcast { - // MainnetRollupAddressManager + // MainnetSharedAddressManager console2.log(address(new MainnetSharedAddressManager())); // MainnetBridge console2.log(address(new MainnetBridge())); From 7964df9ad3714e192762ab7de83e01d88484432d Mon Sep 17 00:00:00 2001 From: David Date: Thu, 31 Oct 2024 14:57:13 +0800 Subject: [PATCH 4/4] feat: update L2 script --- .../protocol/script/layer2/UpdateMainnetOntakeL2.s.sol | 9 --------- 1 file changed, 9 deletions(-) diff --git a/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol b/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol index e906df2ad38..d578b827771 100644 --- a/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol +++ b/packages/protocol/script/layer2/UpdateMainnetOntakeL2.s.sol @@ -2,9 +2,6 @@ pragma solidity ^0.8.24; import "test/shared/DeployCapability.sol"; -import "src/layer1/mainnet/multirollup/MainnetSharedAddressManager.sol"; -import "src/layer1/mainnet/multirollup/MainnetSignalService.sol"; -import "src/layer1/mainnet/multirollup/MainnetBridge.sol"; import "src/layer2/mainnet/MainnetTaikoL2.sol"; contract UpgradeMainnetOntakeL2 is DeployCapability { @@ -18,12 +15,6 @@ contract UpgradeMainnetOntakeL2 is DeployCapability { } function run() external broadcast { - // MainnetSharedAddressManager - console2.log(address(new MainnetSharedAddressManager())); - // MainnetBridge - console2.log(address(new MainnetBridge())); - // MainnetSignalService - console2.log(address(new MainnetSignalService())); // MainnetTaikoL2 console2.log(address(new MainnetTaikoL2())); }