Tornado privacy pool with internal transactions
Go to file
Alexey Pertsev f9264eeffe
Merge pull request #23 from tornadocash/l1-fee-from-user
L1 fee from user
2022-03-30 10:36:27 +02:00
.github/workflows add create2 deploy 2022-02-11 23:53:36 +03:00
circuits consistent tx component naming 2021-11-10 12:06:44 +03:00
contracts encode fix 2022-02-16 23:26:27 +03:00
resources audit 2021-10-26 12:36:30 +03:00
scripts add create2 deploy 2022-02-11 23:53:36 +03:00
src add create2 deploy 2022-02-11 23:53:36 +03:00
test lint fix 2022-02-16 23:28:15 +03:00
.editorconfig fix indentation 2020-04-09 22:12:45 +03:00
.env.example fix mainnet rpc 2022-02-17 01:06:29 +03:00
.eslintrc extDataSquare + eslint fix 2021-08-19 19:20:02 +03:00
.gitignore add L1 fee from user 2022-01-22 03:21:34 +03:00
.prettierignore Merge branch 'master' into optimism 2021-09-07 12:46:43 +03:00
.prettierrc init hardhat 2021-06-03 21:56:46 +03:00
.solhint.json add L1 fee from user 2022-01-22 03:21:34 +03:00
README.md encode fix 2022-02-16 23:26:27 +03:00
config.js encode fix 2022-02-16 23:26:27 +03:00
hardhat.config.js fix mainnet rpc 2022-02-17 01:06:29 +03:00
package.json fix omnibridge version 2022-02-08 19:13:15 +03:00
yarn.lock test BSC-GC deploy 2022-02-08 19:54:32 +03:00

README.md

Tornado Pool Build Status

This an experimental version of tornado.cash that allows to deposit arbitrary amounts and make internal(shielded) transfers.

Other facts about this version:

  1. It uses L2 (xdai). Xdai has a ETH(mainnet)<>WETH(xdai) bridge that will be used under hood.
  2. 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.
  3. Since it's a beta version, deposits are limited by 1ETH. Governance can always increase the limit.
  4. Withdrawal amount from pool to L1 has to be larger than 0.05 ETH to prevent spam attack on the bridge.
  5. 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:

  1. L1Unwrapper - 0x3F615bA21Bc6Cc5D4a6D798c5950cc5c42937fbd
  2. TornadoPool - 0x0CDD3705aF7979fBe80A64288Ebf8A9Fe1151cE1

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