From 2587dbd388ab2f37e8a66c6383b2593950baadcd Mon Sep 17 00:00:00 2001 From: Nicholas Addison Date: Tue, 14 Jan 2025 21:21:01 +1100 Subject: [PATCH] Deployed Timelock to Sonic --- build/deployments.json | 8 ++++++ contracts/utils/Addresses.sol | 5 ++++ script/deploy/DeployManager.sol | 4 +++ script/deploy/sonic/001_Timelock.sol | 39 ++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 script/deploy/sonic/001_Timelock.sol diff --git a/build/deployments.json b/build/deployments.json index bb5ad370..27b68e72 100644 --- a/build/deployments.json +++ b/build/deployments.json @@ -26,5 +26,13 @@ "contracts": { "TIMELOCK": "0xf817cb3092179083c48c014688D98B72fB61464f" } + }, + "146": { + "executions": { + "001_Timelock": 1736832555 + }, + "contracts": { + "TIMELOCK": "0x31a91336414d3B955E494E7d485a6B06b55FC8fB" + } } } \ No newline at end of file diff --git a/contracts/utils/Addresses.sol b/contracts/utils/Addresses.sol index 79bf23a4..e8aac6da 100644 --- a/contracts/utils/Addresses.sol +++ b/contracts/utils/Addresses.sol @@ -25,3 +25,8 @@ library AddressesBase { // 5/8 multisig address public constant GOVERNOR = 0x92A19381444A001d62cE67BaFF066fA1111d7202; } + +library AddressesSonic { + // 5/8 multisig + address public constant ADMIN = 0xAdDEA7933Db7d83855786EB43a238111C69B00b6; +} diff --git a/script/deploy/DeployManager.sol b/script/deploy/DeployManager.sol index 10862dba..f5b9f5b1 100644 --- a/script/deploy/DeployManager.sol +++ b/script/deploy/DeployManager.sol @@ -14,6 +14,8 @@ import {XOGNGovernanceScript} from "./mainnet/014_xOGNGovernanceScript.sol"; import {DeployTimelockScript} from "./base/001_Timelock.sol"; +import {SonicDeployTimelockScript} from "./sonic/001_Timelock.sol"; + import {VmSafe} from "forge-std/Vm.sol"; contract DeployManager is Script { @@ -79,6 +81,8 @@ contract DeployManager is Script { _runDeployFile(new XOGNGovernanceScript()); } else if (block.chainid == 8453) { _runDeployFile(new DeployTimelockScript()); + } else if (block.chainid == 146) { + _runDeployFile(new SonicDeployTimelockScript()); } } diff --git a/script/deploy/sonic/001_Timelock.sol b/script/deploy/sonic/001_Timelock.sol new file mode 100644 index 00000000..2567e828 --- /dev/null +++ b/script/deploy/sonic/001_Timelock.sol @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: MIT + +pragma solidity 0.8.10; + +import "../AbstractScript.sol"; +import {Vm} from "forge-std/Vm.sol"; + +import {AddressesSonic} from "contracts/utils/Addresses.sol"; + +import {Timelock} from "contracts/Timelock.sol"; + +contract SonicDeployTimelockScript is AbstractScript { + string public constant override DEPLOY_NAME = "001_Timelock"; + uint256 public constant override CHAIN_ID = 146; + bool public constant override proposalExecuted = false; + + constructor() {} + + function _execute() internal override { + console.log("Deploy:"); + console.log("------------"); + + address[] memory proposers = new address[](1); + address[] memory executors = new address[](1); + + proposers[0] = AddressesSonic.ADMIN; + executors[0] = AddressesSonic.ADMIN; + + // 1. Deploy Timelock + Timelock timelock = new Timelock( + 60, // 60s + proposers, + executors + ); + _recordDeploy("TIMELOCK", address(timelock)); + } + + function _fork() internal override {} +}