Verifies a ZK proof of the following two claims:
- User owns an attestation that they own an ERC721 token
- User owns an attestation that they own an email ending in the specified domain name
- Clone the repository with
git clone [email protected]:BigWhaleLabs/seal-cred-verifier-contract.git
- Install the dependencies with
yarn
- Add environment variables to your
.env
file - Create an empty folder named
build
at the top most level of the repo - Run
yarn compile-circuit
to compile the circom circuits, create proof, verify proof, exports verifier as a solidity Verifier.sol - Run
yarn compile
to compile the contract - Run the scripts below
Name | Description |
---|---|
ETHERSCAN_API_KEY |
Etherscan API key |
ETH_RPC |
Ethereum RPC URL (defaults to @bwl/constants) |
CONTRACT_OWNER_PRIVATE_KEY |
Private key of the contract owner |
Also check out the .env.example
file for more information.
yarn build
— compiles the contract ts interface to thetypechain
directoryyarn compile-balance
andyarn compile-email
- compiles the circom circuits, creates proof, verifies proof, exports verifier as a solidity fileyarn test
— runs the test suiteyarn deploy
— deploys the contract to the networkyarn eth-lint
— runs the linter for the solidity contractyarn lint
— runs all the lintersyarn prettify
— prettifies the code in th projectyarn release
— relases thetypechain
directory to NPM