diff --git a/README.md b/README.md index 91be395..264a9e0 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,46 @@ -# Governance upgrade to patch exploit - -### Major changes - -1. Adding protection from metamorphic contracts to Governance voting process; -2. Redeploying Governance Staking proxy contract to nullify bugged rewards; -3. Return of tokens lost due to a bug in Governance Staking; -4. Redeploying Governance Staking logic contract and Relayer Registry logic contract to change the staking address to the current one. - -### Requirements - -- Rust ([Any system](https://doc.rust-lang.org/cargo/getting-started/installation.html)) -- Foundryup ([Windows](https://github.com/altugbakan/foundryup-windows), [Linux](https://book.getfoundry.sh/getting-started/installation)) -- Node 14 or higher ([Windows](https://github.com/coreybutler/nvm-windows), [Linux](https://github.com/nvm-sh/nvm)) - -### Installation - -```text -git clone --recurse-submodules https://git.tornado.ws/Theo/proposal-22-governance-and-rewards-patch -cd proposal-22-governance-and-rewards-patch -npm install -``` - -### Testing - -```text -npm run test -``` - -### Contracts info - -The contracts can be currently found here: - -- [GovernancePatchUpgrade](https://git.tornado.ws/Theo/proposal-22-governance-and-rewards-patch/src/branch/main/src/v4-patch/GovernancePatchUpgrade.sol) -- [PatchProposal](https://git.tornado.ws/Theo/proposal-22-governance-and-rewards-patch/src/branch/main/src/v4-patch/PatchProposal.sol) - -Inlined version of the `RelayerRegistry` and `TornadoStakingRewards` are also used. Check the `diffs` folder to see how much they deviate from the deployed contract implementations. - -For testing resistance against metamorphic contracts, we use the contracts provided by: https://github.com/0age/metamorphic.git +# Governance upgrade to patch exploit + +### Major changes + +1. Adding protection from metamorphic contracts to Governance voting process; +2. Redeploying Governance Staking proxy contract to nullify bugged rewards; +3. Return of tokens lost due to a bug in Governance Staking; +4. Redeploying Governance Staking logic contract and Relayer Registry logic contract to change the staking address to the current one. + +### Requirements + +- Rust ([Any system](https://doc.rust-lang.org/cargo/getting-started/installation.html)) +- Foundryup ([Windows](https://github.com/altugbakan/foundryup-windows), [Linux](https://book.getfoundry.sh/getting-started/installation)) +- Node 14 or higher ([Windows](https://github.com/coreybutler/nvm-windows), [Linux](https://github.com/nvm-sh/nvm)) + +### Installation + +```text +git clone --recurse-submodules https://git.tornado.ws/Theo/proposal-22-governance-and-rewards-patch +cd proposal-22-governance-and-rewards-patch +npm install +``` + +### Testing + +```text +npm run test +``` + +### Contracts info + +The contracts can be currently found here: + +- [GovernancePatchUpgrade](https://git.tornado.ws/Theo/proposal-22-governance-and-rewards-patch/src/branch/main/src/v4-patch/GovernancePatchUpgrade.sol) +- [PatchProposal](https://git.tornado.ws/Theo/proposal-22-governance-and-rewards-patch/src/branch/main/src/v4-patch/PatchProposal.sol) + +Inlined version of the `RelayerRegistry` and `TornadoStakingRewards` are also used. Check the `diffs` folder to see how much they deviate from the deployed contract implementations. + +For testing resistance against metamorphic contracts, we use the contracts provided by: https://github.com/0age/metamorphic.git + +##### Deployed contracts + +- [Governance logic (implementation) contract](https://etherscan.io/address/0xba178126c28f50ee60322a82f5ebcd6b3711e101#code) +- [Staking proxy contract](https://etherscan.io/address/0x5B3f656C80E8ddb9ec01Dd9018815576E9238c29#code) +- [Staking logic (implementation) contract](https://etherscan.io/address/0xefbea4ec481c2467a1a94d94bc54f111f6a7345f#code) +- [Relayer Registry logic (implementation) contract](https://etherscan.io/address/0xe27b91724c55e950f68b394f33fa3b86693179c0#code)