Skip to content

Commit bbf72df

Browse files
committed
feat: decouple proxy admin owner
1 parent f0cffe2 commit bbf72df

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

contracts/script/DeployUpgradableBurnMintTokenPool.s.sol

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,14 @@ import {ITypeAndVersion} from "./../src/v0.8/shared/interfaces/ITypeAndVersion.s
1313
struct Config {
1414
address GHO_TOKEN;
1515
address OWNER;
16+
address PROXY_ADMIN_OWNER;
1617
address RMN_PROXY;
1718
address ROUTER;
1819
}
1920

2021
/// @notice Deploys UpgradeableBurnMintTokenPool behind a transparent upgradable proxy for GHO.
2122
/// Pre-requisite: add parameters to config.json, the with key as `chainId` of the target network.
22-
/// Usage: FOUNDRY_PROFILE=ccip forge script DeployUpgradableBurnMintTokenPool --rpc-url <RPC_URL> --private-key <PRIVATE_KEY> --broadcast --verify --etherscan-api-key <ETHERSCAN_API_KEY>
23+
/// Usage: FOUNDRY_PROFILE=ccip forge script DeployUpgradableBurnMintTokenPool --rpc-url <RPC_URL> --private-key <PRIVATE_KEY> --broadcast --verify --etherscan-api-key <ETHERSCAN_API_KEY> --slow
2324
contract DeployUpgradableBurnMintTokenPool is Script {
2425
function run() external {
2526
Config memory config = _parseConfig();
@@ -35,7 +36,7 @@ contract DeployUpgradableBurnMintTokenPool is Script {
3536
address tokenPoolProxy = address(
3637
new TransparentUpgradeableProxy({
3738
_logic: tokenPool,
38-
initialOwner: config.OWNER,
39+
initialOwner: config.PROXY_ADMIN_OWNER,
3940
_data: abi.encodeCall(UpgradeableBurnMintTokenPool.initialize, (config.OWNER, ALLOW_LIST, config.ROUTER))
4041
})
4142
);
@@ -54,6 +55,7 @@ contract DeployUpgradableBurnMintTokenPool is Script {
5455

5556
function _validate(Config memory config) internal view returns (Config memory) {
5657
require(address(config.OWNER) != address(0), "InvalidOwner");
58+
require(address(config.PROXY_ADMIN_OWNER) != address(0), "InvalidOwner");
5759
require(_cmp(IERC20Metadata(config.GHO_TOKEN).name(), "Gho Token"), "InvalidToken");
5860
require(_cmp(IERC20Metadata(config.GHO_TOKEN).symbol(), "GHO"), "InvalidToken");
5961
require(_cmp(ITypeAndVersion(config.RMN_PROXY).typeAndVersion(), "ARMProxy 1.0.0"), "InvalidRmnProxy");
@@ -63,7 +65,7 @@ contract DeployUpgradableBurnMintTokenPool is Script {
6365

6466
function _validate(address proxy, Config memory config) internal view {
6567
require(_cmp(_getProxyAdmin(proxy).UPGRADE_INTERFACE_VERSION(), "5.0.0"), "InvalidProxyAdminVersion");
66-
require(_getProxyAdmin(proxy).owner() == config.OWNER, "InvalidProxyAdminOwner");
68+
require(_getProxyAdmin(proxy).owner() == config.PROXY_ADMIN_OWNER, "InvalidProxyAdminOwner");
6769
require(address(UpgradeableBurnMintTokenPool(proxy).getToken()) == config.GHO_TOKEN, "InvalidToken");
6870
require(UpgradeableBurnMintTokenPool(proxy).getRmnProxy() == config.RMN_PROXY, "InvalidRmnProxy");
6971
require(UpgradeableBurnMintTokenPool(proxy).getRouter() == config.ROUTER, "InvalidRouter");

contracts/script/config.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,22 @@
22
"42161": {
33
"GHO_TOKEN": "0x7dfF72693f6A4149b17e7C6314655f6A9F7c8B33",
44
"OWNER": "0xFF1137243698CaA18EE364Cc966CF0e02A4e6327",
5+
"PROXY_ADMIN_OWNER": "0xFF1137243698CaA18EE364Cc966CF0e02A4e6327",
56
"RMN_PROXY": "0xC311a21e6fEf769344EB1515588B9d535662a145",
67
"ROUTER": "0x141fa059441E0ca23ce184B6A78bafD2A517DdE8"
78
},
89
"8453": {
910
"GHO_TOKEN": "0x6Bb7a212910682DCFdbd5BCBb3e28FB4E8da10Ee",
1011
"OWNER": "0x9390B1735def18560c509E2d0bc090E9d6BA257a",
12+
"PROXY_ADMIN_OWNER": "0x9390B1735def18560c509E2d0bc090E9d6BA257a",
1113
"RMN_PROXY": "0xC842c69d54F83170C42C4d556B4F6B2ca53Dd3E8",
1214
"ROUTER": "0x881e3A65B4d4a04dD529061dd0071cf975F58bCD"
15+
},
16+
"100": {
17+
"GHO_TOKEN": "0xfc421aD3C883Bf9E7C4f42dE845C4e4405799e73",
18+
"OWNER": "0x1dF462e2712496373A347f8ad10802a5E95f053D",
19+
"PROXY_ADMIN_OWNER": "0x1dF462e2712496373A347f8ad10802a5E95f053D",
20+
"RMN_PROXY": "0xf5e5e1676942520995c1e39aFaC58A75Fe1cd2bB",
21+
"ROUTER": "0x4aAD6071085df840abD9Baf1697d5D5992bDadce"
1322
}
1423
}

0 commit comments

Comments
 (0)