Fork from @uniswap/merkle-distributor
- Yarn ≥ v1.22.0
- Node ≥ v16.0.0
- Install all modules using
yarn - Create
.envfile and complete it with your variables according to.env.example - Uncomment/Add new networks and other settings in
hardhat.config.ts
This repository consists of the following folders:
addresses- used for storing addresses of the contracts in JSON format segregated by the networkcontracts- utilized for storing smart contracts written in Solidity as.solfilesdeploy- contains exported functions for smart contract deployment, each contract should have its own TS file for this purposedocs- holds docgen and other artifacts relevant for smart contract documentationmock- holds mock data for claims generationscripts- contains entry-point files for smart contract deployment and address logging, can be augmented with new script files correspondinglysrc- holds classes and routines for building merkle trees from blobs of data and generating corresponding proofstest- contains all modules for smart contract testingtypechain-types- generated contract types by typechaincoverage- the test coverage report
All necessary constants for deployment and web3 communication separated by network name are stored in ./constants.ts.
yarn or yarn install
yarn build
yarn generate-merkle-root --input <path_to_json>
yarn generate-merkle-root:example
yarn split-claims
yarn chain
yarn test
yarn compile
yarn deploy-test-token $network_name
yarn deploy-token-distribution $network_name
yarn reclaim-tokens $network_name
yarn coverage
yarn docs