4.2.3-beta.0 • Published 2 years ago
clrfund-contracts v4.2.3-beta.0
clr.fund contracts
Working with ZK proofs
Install zkutil (see instructions in MACI readme).
Download zkSNARK parameters for 'test' circuits to snark-params directory. Example:
ipfs get --output snark-params Qmbi3nqjBwANPMk5BRyKjCJ4QSHK6WNp7v9NLLo4uwrG1fSet the path to downloaded parameter files and also the path to zkutil binary (if needed):
export NODE_CONFIG='{"snarkParamsPath": "../../../contracts/snark-params/", "zkutil_bin": "/usr/bin/zkutil"}'End-to-end tests
Run the tests:
yarn e2eScripts
Deploy factory contract
Deploy to local network:
yarn deploy:localDeploy test round
This includes:
- Deploying ERC20 token contract.
- Adding tokens to the matching pool.
- Adding recipients.
- Deploying funding round.
- Deploying MACI instance.
yarn deployTestRound:localRun test round
Set coordinator's private key (optional, by default the Ganache account #1 will be used):
export COORDINATOR_ETH_PK='0x...'Contribute funds, wait until sign-up period ends (10 minutes) and vote:
yarn contribute:local
sleep 300s && yarn vote:localWait until voting period ends, process messages, tally votes and verify the results:
sleep 300s && yarn tally:local && yarn finalize:localClaim funds:
yarn claim:localVerify all clr.fund contracts
The following command will verify all clr.fund contracts. It will log a warning if contract already verified or missing.
yarn hardhat verify-all <funding-round-address> --network <network>