Merge pull request #97 from tornadocash/sol-coverage

add sol-coverage
This commit is contained in:
Alexey Pertsev 2022-03-24 20:28:35 +01:00 committed by GitHub
commit 1ef6a263ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 653 additions and 15 deletions

View File

@ -23,6 +23,11 @@ jobs:
- run: yarn test - run: yarn test
- run: node src/cli.js test - run: node src/cli.js test
- run: yarn lint - run: yarn lint
- run: yarn coverage
- name: Coveralls
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Telegram Failure Notification - name: Telegram Failure Notification
uses: appleboy/telegram-action@0.0.7 uses: appleboy/telegram-action@0.0.7
if: failure() if: failure()

2
.gitignore vendored
View File

@ -96,3 +96,5 @@ typings/
ERC20Tornado_flat.sol ERC20Tornado_flat.sol
ETHTornado_flat.sol ETHTornado_flat.sol
coverage.json

View File

@ -5,3 +5,5 @@ contracts/Verifier.sol
scripts/ganacheHelper.js scripts/ganacheHelper.js
cli.js cli.js
index.js index.js
coverage
coverage.json

View File

@ -1,4 +1,4 @@
# Tornado Cash Privacy Solution [![build status](https://github.com/tornadocash/tornado-core/actions/workflows/build.yml/badge.svg)](https://github.com/tornadocash/tornado-core/actions/workflows/build.yml) # Tornado Cash Privacy Solution [![build status](https://github.com/tornadocash/tornado-core/actions/workflows/build.yml/badge.svg)](https://github.com/tornadocash/tornado-core/actions/workflows/build.yml) [![Coverage Status](https://coveralls.io/repos/github/tornadocash/tornado-core/badge.svg?branch=master)](https://coveralls.io/github/tornadocash/tornado-core?branch=master)
Tornado Cash is a non-custodial Ethereum and ERC20 privacy solution based on zkSNARKs. It improves transaction privacy by breaking the on-chain link between the recipient and destination addresses. It uses a smart contract that accepts ETH deposits that can be withdrawn by a different address. Whenever ETH is withdrawn by the new address, there is no way to link the withdrawal to the deposit, ensuring complete privacy. Tornado Cash is a non-custodial Ethereum and ERC20 privacy solution based on zkSNARKs. It improves transaction privacy by breaking the on-chain link between the recipient and destination addresses. It uses a smart contract that accepts ETH deposits that can be withdrawn by a different address. Whenever ETH is withdrawn by the new address, there is no way to link the withdrawal to the deposit, ensuring complete privacy.
@ -143,6 +143,30 @@ and @jbaylina for awesome [Circom](https://github.com/iden3/circom) & [Websnark]
1. `npm run migrate:dev` 1. `npm run migrate:dev`
1. `node minimal-demo.js` 1. `node minimal-demo.js`
## Run tests/coverage
Prepare test environment:
```
yarn install
yarn download
cp .env.example .env
npx ganache-cli > /dev/null &
npm run migrate:dev
```
Run tests:
```
yarn test
```
Run coverage:
```
yarn coverage
```
## Emulate MPC trusted setup ceremony ## Emulate MPC trusted setup ceremony
```bash ```bash

View File

@ -24,7 +24,8 @@
"prettier:fix": "prettier --write . --config .prettierrc", "prettier:fix": "prettier --write . --config .prettierrc",
"lint": "yarn eslint && yarn prettier:check", "lint": "yarn eslint && yarn prettier:check",
"flat": "npx truffle-flattener contracts/ETHTornado.sol > ETHTornado_flat.sol && npx truffle-flattener contracts/ERC20Tornado.sol > ERC20Tornado_flat.sol", "flat": "npx truffle-flattener contracts/ETHTornado.sol > ETHTornado_flat.sol && npx truffle-flattener contracts/ERC20Tornado.sol > ERC20Tornado_flat.sol",
"download": "node scripts/downloadKeys.js" "download": "node scripts/downloadKeys.js",
"coverage": "yarn truffle run coverage"
}, },
"keywords": [], "keywords": [],
"author": "", "author": "",
@ -57,6 +58,7 @@
"truffle-flattener": "^1.4.2", "truffle-flattener": "^1.4.2",
"web3": "^1.3.4", "web3": "^1.3.4",
"web3-utils": "^1.3.4", "web3-utils": "^1.3.4",
"websnark": "git+https://github.com/tornadocash/websnark.git#4c0af6a8b65aabea3c09f377f63c44e7a58afa6d" "websnark": "git+https://github.com/tornadocash/websnark.git#4c0af6a8b65aabea3c09f377f63c44e7a58afa6d",
"solidity-coverage": "^0.7.20"
} }
} }

View File

@ -93,4 +93,6 @@ module.exports = {
], ],
}, },
}, },
plugins: ['solidity-coverage'],
} }

625
yarn.lock

File diff suppressed because it is too large Load Diff