You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Roman Storm c5e8bd945b
fix unlink
2 years ago
abi initial 2 years ago
airdrop@d3d5a4c0df init submodules 2 years ago
deployer@4dd141a398 tidy 2 years ago
src lint 2 years ago
torn-token@e65817d298 update deps 2 years ago
tornado-anonymity-mining@95f6bbfe17 update deps 2 years ago
tornado-governance@8b6474c437 update deps 2 years ago
.env.example readme 2 years ago
.eslintrc initial 2 years ago
.gitignore initial 2 years ago
.gitmodules init submodules 2 years ago
.prettierrc initial 2 years ago
README.md readme 2 years ago
build.sh fix unlink 2 years ago
package.json init submodules 2 years ago
yarn.lock initial 2 years ago

README.md

Dependencies

  1. node 12
  2. yarn
  3. zkutil (brew install rust && cargo install zkutil) (needed only for circuit compilation and setup)

Usage

git clone --recursive https://github.com/tornadocash/tornado-deploy
cd tornado-deploy
cp .env.example .env
yarn

# optionally copy production snark circuits
mkdir -p tornado-anonymity-mining/build && cp -R ~/Downloads/circuits ./tornado-anonymity-mining/build

yarn build

Note: build script will globally yarn link torn-token package

Note: build script will not recompile snark circuit if compilation result already exists

The result of the build is actions.json file, that contains everything that is needed to deploy contracts on Ethereum along with expected deploy addresses.

Reproducible build

In order to generate exactly the same actions.json the code has to be compiled in /private/tmp/tornado-deploy dir because solidity compiler includes a hash of full path to files into contact bytecode as swarm hash. If you compile in other dir this swarm hash will be different. It doesn't affect contract execution but your actions.json will have a different hash from the initiation version.

Verify addresses

cat actions.json | jq '.actions[] | {domain,expectedAddress,contract} '