4.2.3-beta.0 • Published 9 months ago

clrfund-contracts v4.2.3-beta.0

Weekly downloads
-
License
GPL-3.0
Repository
-
Last release
9 months ago

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 Qmbi3nqjBwANPMk5BRyKjCJ4QSHK6WNp7v9NLLo4uwrG1f

Set 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 e2e

Scripts

Deploy factory contract

Deploy to local network:

yarn deploy:local

Deploy test round

This includes:

  • Deploying ERC20 token contract.
  • Adding tokens to the matching pool.
  • Adding recipients.
  • Deploying funding round.
  • Deploying MACI instance.
yarn deployTestRound:local

Run 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:local

Wait until voting period ends, process messages, tally votes and verify the results:

sleep 300s && yarn tally:local && yarn finalize:local

Claim funds:

yarn claim:local

Verify 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>