Smart contracts for the Metalabel protocol.
- Metalabel Protocol Walkthrough - Top-to-bottom conceptual and technical walkthrough of the protocol
- Metalabel Protocol Walkthrough: V1.1 Addendum - Covers the changes released as part of a V1.1 iteration
All audit reports are available in the ./audits directory.
Install dependencies:
yarn
Compile all artifacts and generate typechain types:
yarn build
Run unit tests:
yarn test
Run unit tests showing gas usage by function and deploy costs:
REPORT_GAS=1 yarn test
Run unit tests and report coverage:
yarn test:coverage
Copy .env.example
to .env
and override the default values before deploying.
Deploy a contract:
yarn deploy --network goerli --contract MyContract
This will output the deployed contract address in the console and update the ./tasks/deployments.json
file.
NOTE: The contract will automatically be verified on etherscan
The deploy
task will automatically verify contracts generally.
This can occasionally fail. If it does, verify manually:
yarn verify --network goerli $CONTRACT_ADDRESS
Verification may fail if run too quickly after contract deployment.