Fork from @uniswap/merkle-distributor
- Yarn ≥ v1.22.0
- Node ≥ v16.0.0
- Install all modules using
yarn
- Create
.env
file 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.sol
filesdeploy
- 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