This an experimental version of tornado.cash that allows to deposit arbitrary amounts and make internal(shielded) transfers.
Other facts about this version:
- It uses L2 (xdai). Xdai has a ETH(mainnet)<>WETH(xdai) bridge that will be used under hood.
- Contracts will be upgradable by tornado-cash governance! xdai bridge supports transferring messages from L1 to L2 and vise versa, so community can always upgrade tornado-pool to a new version in case of an issue.
- Since it's a beta version, deposits are limited by 1ETH. Governance can always increase the limit.
- Withdrawal amount from pool to L1 has to be larger than 0.05 ETH to prevent spam attack on the bridge.
- The code was audited by Igor Gulamov from Zeropool.
This project was presented on LisCon 2021. Slides
yarn
yarn download
yarn build
yarn testCheck config.js for actual values.
With salt = 0x0000000000000000000000000000000000000000000000000000000047941987 addresses must be:
L1Unwrapper-0x3F615bA21Bc6Cc5D4a6D798c5950cc5c42937fbdTornadoPool-0x0CDD3705aF7979fBe80A64288Ebf8A9Fe1151cE1
Check addresses with current config:
yarn compile
node -e 'require("./src/0_generateAddresses").generateWithLog()'Deploy L1Unwrapper:
npx hardhat run scripts/deployL1Unwrapper.js --network mainnetDeploy TornadoPool Upgrade:
npx hardhat run scripts/deployTornadoUpgrade.js --network xdai