Skip to content

tornado-repositories/tornado-trees-proposal

Repository files navigation

Tornado.cash trees governance proposal Build Status

This repo deploys governance proposal for TornadoTrees update. It significantly reduces the cost of updating tornado merkle trees by offloading onchain updates to zkSNARKs.

Audits

Dependencies

  1. node 12
  2. yarn

Init

$ yarn
$ cp .env.example .env
$ vi .env

testing

$ docker build . -t tornadocash/tornado-trees-proposal && docker run -v `pwd`/proofsCache:/app/proofsCache tornadocash/tornado-trees-proposal

mainnet instructions

#before proposal creation

  1. have you added new instances on the UI?
  2. make sure you have set all the ens names for the instances

#proposal creation

  1. go to tornado-tress repo

  2. docker build . -t tornadocash/tornado-trees you will need 50GB RAM

  3. docker run --rm -it --name tornadoTrees tornadocash/tornado-trees bash just leave it and go to the next steps

  4. docker cp tornadoTrees:/app/artifacts/circuits/* backup

  5. send the backup folder to telegram

  6. go to proposal repo

  7. docker cp tornadoTrees:/app/artifacts/circuits/BatchTreeUpdateVerifier.sol snarks

  8. edit env

  9. npx hardhat searchParams and use the output in deployMainnet script

  10. yarn deployMainnet

  11. test the proposal on fork

  12. verify on etherscan (add ASCII!!)

  13. create proposal on forum to ask community to create the governance proposal

  14. goerli: deposit and withdraw 500 deps using bot

#during voting

  1. make sure you have at least 10 ETH for the root-updater
  2. run the old root-updater
  3. update tornadoProxy and instances addresses on relayer

#after the proposal execution

root updater

  1. git clone https://github.com/tornadocash/tornado-root-updater.git -b migration && cd tornado-root-updater
  2. edit .env
  3. run generateCacheEvents (uncomment last lines there 1 by 1)
  4. docker build . -t tornadocash/tornado-root-updater should be run on the same server as for tornado-trees
  5. run both
  • docker run --rm -e MIGRATION_TYPE=deposit tornadocash/tornado-root-updater
  • docker run --rm -e MIGRATION_TYPE=withdrawal tornadocash/tornado-root-updater
  1. update ENS for proxy, trees
  2. after finish, create the deposits.json and withdrawals.json cache using allEvents from events.js and move it to the snark branch
  3. create the final release on github

UI (make it as PR)

  1. change tornadoProxy and tornadoTrees addresses (run node updateENS.js in UI repo)
  2. set notification on index page. "Mining is temporarily unavailable"
  3. update account events cache
  4. deploy UI
  5. update cache events for mining
  6. remove mining notification
  7. redeploy UI

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published