From 0aadab113fca77f52eed054655a56b2297441f49 Mon Sep 17 00:00:00 2001 From: Simon Dosch Date: Mon, 15 Jul 2024 11:06:25 +0200 Subject: [PATCH] add 1.3.0 deployment script --- script/1.3.0/UpgradeEmissionManager.s.sol | 45 +++++++++++++++++++++++ script/1.3.0/input.json | 10 +++++ 2 files changed, 55 insertions(+) create mode 100644 script/1.3.0/UpgradeEmissionManager.s.sol create mode 100644 script/1.3.0/input.json diff --git a/script/1.3.0/UpgradeEmissionManager.s.sol b/script/1.3.0/UpgradeEmissionManager.s.sol new file mode 100644 index 0000000..34846d4 --- /dev/null +++ b/script/1.3.0/UpgradeEmissionManager.s.sol @@ -0,0 +1,45 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.21; + +import {Script, stdJson, console2 as console} from "forge-std/Script.sol"; + +import { + ProxyAdmin, + TransparentUpgradeableProxy, + ITransparentUpgradeableProxy +} from "openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol"; +import {DefaultEmissionManager} from "../../src/DefaultEmissionManager.sol"; + +contract UpgradeEmissionManager is Script { + using stdJson for string; + + function run() public { + uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + + string memory input = vm.readFile("script/1.2.0/input.json"); + string memory chainIdSlug = string(abi.encodePacked('["', vm.toString(block.chainid), '"]')); + address emProxyAddress = input.readAddress(string.concat(chainIdSlug, ".emissionManagerProxy")); + address emProxyAdmin = input.readAddress(string.concat(chainIdSlug, ".emProxyAdmin")); + + vm.startBroadcast(deployerPrivateKey); + + DefaultEmissionManager emProxy = DefaultEmissionManager(emProxyAddress); + + address migration = address(emProxy.migration()); + address stakeManager = emProxy.stakeManager(); + address treasury = emProxy.treasury(); + + DefaultEmissionManager newEmImpl = new DefaultEmissionManager(migration, stakeManager, treasury); + + vm.stopBroadcast(); + + bytes memory payload = abi.encodeWithSelector( + ProxyAdmin.upgrade.selector, + ITransparentUpgradeableProxy(address(emProxy)), + address(newEmImpl) + ); + + console.log("Send this payload to: ", emProxyAdmin); + console.logBytes(payload); + } +} diff --git a/script/1.3.0/input.json b/script/1.3.0/input.json new file mode 100644 index 0000000..06cd42f --- /dev/null +++ b/script/1.3.0/input.json @@ -0,0 +1,10 @@ +{ + "1": { + "emissionManagerProxy": "0xbC9f74b3b14f460a6c47dCdDFd17411cBc7b6c53", + "emProxyAdmin": "0xEBea33f2c92D03556b417F4F572B2FbbE62C39c3" + }, + "11155111": { + "emissionManagerProxy": "0x20393fF3B3C38b72a16eB7d7A474cd38ABD8Ff27", + "emProxyAdmin": "0x28cDCE6FfE44D03da1F7b15b474a0e72243873F2" + } +}