forked from Theo/proposal-22-governance-and-rewards-patch
.github/workflows | ||
.vscode | ||
.yarn | ||
lib | ||
script | ||
src | ||
test/forge | ||
.gitignore | ||
.gitmodules | ||
.solhint.json | ||
.yarnrc.yml | ||
foundry.toml | ||
package.json | ||
README.md | ||
remappings.txt |
Governance upgrade to patch exploit
Major changes
- Adding protection from metamorphic contracts to Governance voting process;
- Redeploying Governance Staking proxy contract to nullify bugged rewards;
- Return of tokens lost due to a bug in Governance Staking;
- Redeploying Governance Staking logic contract and Relayer Registry logic contract to change the staking address to the current one.
Requirements
- Rust (Any system)
- Foundryup (Windows, Linux)
- Node 14 or higher (Windows, Linux)
Installation
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
npm run test
Contracts info
The contracts can be currently found here:
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