Allows anybody who's part of a DAO to alert on the malfunctions of the DAO anonymously.
A Gnosis Safe Module handles the Semaphore logic.
When the module is deployed, it creates a Semaphore group, and once attached to a Safe it can perform actions on its behalf.
The DAO then adds the members to the anonymous Semaphore, and anyone can generate a proof and whistleblow.
You need to have nodejs and Foundry installed.
Initialize with
yarn
To generate the Semaphore proof, or upload data to IPFS
yarn run generate-semaphore-proof
forge test
forge script ./script/WhistleblowFull.s.sol -vvv --broadcast
This project was created during the PSE Hacker House 2024 in Brussels.
Thanks a lot to the PSE team for the help and fun during the week!
If running locally, you can use Otterscan as a block explorer.
anvil --fork-url https://rpc.ankr.com/eth_sepolia
docker pull otterscan/otterscan
docker run --rm -p 5100:80 --name otterscan -d otterscan/otterscan
Go to http://localhost:5100/
Verify contract:
forge verify-contract --verifier sourcify --verifier-url http://localhost:5100 --rpc-url http://localhost:8545 0x4cF93296Aa133Fb62702b79d32e78d08Ebb03bf2 DAOWhistleblower