Why we need it
- After proposal 41 (changing quorum threshold) old proposals state started showing incorrect on website. I think that it is website problem but no - it happened bcs old devs implemented governance proposalState function incorrect and it checks quorum before checking proposal execution status
- Docs have not updated after proposal 41 and 44 and users see deprecated info about relayer registration threshold and actual ipfs hashes
What i did
I changed state function and updated docs ipfs. Also i implemented very very comprehensive governance tests with auditor - these tests should be added in future to each proposal to be sure that proposal does not break governance
New docs: https://cloudflare-ipfs.com/ipfs/QmYjBe2bNTGQzgdqAi7hkdNJ9BBrAgf4e8teRWLa4oN6Y6
Proposal info
Update state function in governance contract and change ipfs contenthashes on docs.tornadocash.eth and docs.sources.tornadocash.eth
Proposal code: https://git.tornado.ws/ButterflyEffect/proposal-46/src/branch/main/contracts/Proposal.sol
New state function code: https://git.tornado.ws/ButterflyEffect/proposal-46/src/branch/main/contracts/v5-proposal-state-patch/GovernanceProposalStateUpgrade.sol
Proposal tests: https://git.tornado.ws/ButterflyEffect/proposal-46/src/branch/main/test/Proposal.js
Governance comprehesive tests: https://git.tornado.ws/ButterflyEffect/proposal-46/src/branch/main/test/Governance.js
Proposal contract: https://etherscan.io/address/0x142145916e1a5139890b8da275ca9a4443f3a137#code
Updated governance contract: https://etherscan.io/address/0xbf46f2222c0712caf2f13b8590732dbd964ce395#code
For transparency i as in last proposal placed ipfs hashes and conversion hash library right in proposal code and anyone can verify it just need to copy from contract code
Who want to test the site you can use cid which placed raw in proposal code