Fork of https://github.com/ameensol/privacy-pools
project.
- Deposited funds cannot be locked or stolen (non-custodial and non-restrictive)
- Zero knowledge proofs secure user's privacy
- Users have the freedom to choose an anonymity set upon withdrawal
- Removing illicit deposits from an anonymity subset accomplished two things:
- Proves a withdrawal is clean without violating the privacy of the specific user, and
- Reduces the anonymity sets of hackers, acting as a deterrent and as a dampening force for illicit activity
- Enables customizable community driven anti blackhat and anti money laundering coordination in a credibly neutral way
You can read more about privacy pools in docs.
Only tested on a UNIX-like OS (linux or mac).
$ git clone https://github.com/ameensol/privacy-pools
$ cd pools-sol
$ yarn
or
$ npm install .
$ bash ./scripts/setup.sh
$ hardhat test
Install the solc compiler. If you're on linux and use apt
you can install it this way:
$ sudo add-apt-repository ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install solc
Setup python virtual environment:
$ python3 -m venv venv
$ source ./venv/bin/activate
(venv) $ pip3 install -r requirements.txt
Run slither:
(venv) $ slither --hardhat-cache-directory=./build/cache --hardhat-artifacts-directory=./build/artifacts .
If you don't activate the python venv you can use:
$ ./venv/bin/slither --hardhat-cache-directory=./build/cache --hardhat-artifacts-directory=./build/artifacts .
HARDHAT_NODE_LOGGING_ENABLED=1 # have the hardhat node print out rpc request info