mirror of
https://github.com/tornadocash/tornado-nova
synced 2024-02-02 14:53:56 +01:00
Tornado privacy pool with internal transactions
.github/workflows | ||
circuits | ||
contracts | ||
resources | ||
scripts | ||
src | ||
test | ||
.editorconfig | ||
.env.example | ||
.eslintrc | ||
.gitignore | ||
.prettierignore | ||
.prettierrc | ||
.solhint.json | ||
config.js | ||
hardhat.config.js | ||
package.json | ||
README.md | ||
yarn.lock |
Tornado Pool
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
Usage
yarn
yarn download
yarn build
yarn test
Deploy
Check config.js for actual values.
With salt
= 0x0000000000000000000000000000000000000000000000000000000047941987
addresses must be:
L1Unwrapper
-0x03AF49dBa3F607BAD4646F0745a6C6473dF9c22d
TornadoPool
-0xAEE471D6FD5c6B3f377f45B0a3c705505d172090
Check addresses with current config:
yarn compile
node -e 'require("./src/0_generateAddresses").generateWithLog()'
Deploy L1Unwrapper:
npx hardhat run scripts/deployL1Unwrapper.js --network mainnet
Deploy TornadoPool Upgrade:
npx hardhat run scripts/deployTornadoUpgrade.js --network xdai