Skip to content

Commit

Permalink
Merge pull request #141 from stakedotlink/multisig-timelock
Browse files Browse the repository at this point in the history
Deployed governance timelock
  • Loading branch information
BkChoy authored Feb 24, 2025
2 parents 46f4854 + 73d86d4 commit 7528152
Show file tree
Hide file tree
Showing 7 changed files with 353 additions and 236 deletions.
235 changes: 0 additions & 235 deletions contracts/governance/GovernanceController.sol

This file was deleted.

17 changes: 17 additions & 0 deletions contracts/governance/GovernanceTimelock.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.15;

import "@openzeppelin/contracts/governance/TimelockController.sol";

/**
* @title Governance Timelock
* @notice Proxies owners functions and adds a minimum delay before execution
*/
contract GovernanceTimelock is TimelockController {
constructor(
uint256 minDelay,
address[] memory proposers,
address[] memory executors,
address admin
) TimelockController(minDelay, proposers, executors, admin) {}
}
4 changes: 4 additions & 0 deletions deployments/mainnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -202,5 +202,9 @@
"LINK_FundFlowController": {
"address": "0xd2e7381d8d3FcC97C1b4d88761bDBc8Dd26a0200",
"artifact": "FundFlowController"
},
"GovernanceTimelock": {
"address": "0xb72d8F5213b3E52FAf13Aa074b03C4788e78349F",
"artifact": "GovernanceTimelock"
}
}
2 changes: 1 addition & 1 deletion hardhat.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ const config: HardhatUserConfig = {
},
// forking: {
// url: '',
// blockNumber: 21424068,
// blockNumber: 21888413,
// },
},
},
Expand Down
38 changes: 38 additions & 0 deletions scripts/prod/linkStaking/1.0.1-timelock/1-deploy-contract.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import { updateDeployments, deploy } from '../../../utils/deployment'
import { ethers } from 'hardhat'

const multisigAddress = '0xB351EC0FEaF4B99FdFD36b484d9EC90D0422493D'

const minDelay = 86400
const proposers = [multisigAddress]
const executors = [
'0xd1243345c4c7Ff0A26aF4d291d9C058C9dF3479C',
'0xFFb91C736e1BCB2E06188198D70D790b25990783',
'0xCA4784Af7eBe83A7eafeFD1c8f81d00425F366D9',
'0x055114b1019300AAB9EE87f786b8Bd50258D0bdE',
'0xa3026c3d6c3Bd5441F53F3c6DaED2e52868C1339',
'0x4dc81f63CB356c1420D4620414f366794072A3a8',
'0xeCbb058Fc429941124a2b8d0984354c3132F536f',
'0xAE398D78DAE867b1e837a512dcb6cB51235718EE',
]

async function main() {
const governanceTimelock = await deploy('GovernanceTimelock', [
minDelay,
proposers,
executors,
ethers.ZeroAddress,
])
console.log('GovernanceTimelock deployed: ', governanceTimelock.target)

updateDeployments({
GovernanceTimelock: governanceTimelock.target,
})
}

main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error)
process.exit(1)
})
Loading

0 comments on commit 7528152

Please sign in to comment.