- Hardhat: compile and run the smart contracts on a local development network
- TypeChain: generate TypeScript types for smart contracts
- Ethers: renowned Ethereum library and wallet implementation
- Waffle: tooling for writing comprehensive smart contract tests
- Solhint: linter
- Solcover code coverage
- Prettier Plugin Solidity: code formatter
- EIP-1329
Before running any command, make sure to install dependencies:
$ yarn install
Compile the smart contracts with Hardhat:
$ yarn compile
Compile the smart contracts and generate TypeChain artifacts:
$ yarn typechain
Lint the Solidity code:
$ yarn lint:sol
Lint the TypeScript code:
$ yarn lint:ts
Run the Mocha tests:
$ yarn test
Generate the code coverage report:
$ yarn coverage
Delete the smart contract artifacts, the coverage reports and the Hardhat cache:
$ yarn clean
External to the original code created for this DevXDAO implementation, credit is owed Maxim Orlovsky for elements of the EIP-1329 used in the codebase