Before running any command, you need to create a .env file and set a BIP-39 compatible mnemonic as an environment
variable. Follow the example in .env.example. If you don't already have a mnemonic, use this website to generate one.
Then, proceed with installing dependencies:
yarn installCompile the smart contracts with Hardhat:
$ yarn compileCompile the smart contracts and generate TypeChain artifacts:
$ yarn typechainLint the Solidity code:
$ yarn lint:solLint the TypeScript code:
$ yarn lint:tsRun the Mocha tests:
$ yarn testGenerate the code coverage report:
$ yarn coverageSee the gas usage per unit test and average gas per method call:
$ REPORT_GAS=true yarn testDelete the smart contract artifacts, the coverage reports and the Hardhat cache:
$ yarn cleanDeploy the contracts to Hardhat Network:
$ yarn deploy --greeting "Bonjour, le monde!"If you use VSCode, you can enjoy syntax highlighting for your Solidity code via the vscode-solidity extension. The recommended approach to set the compiler version is to add the following fields to your VSCode user settings:
{
"solidity.compileUsingRemoteVersion": "v0.8.4+commit.c7e474f2",
"solidity.defaultCompiler": "remote"
}Where of course v0.8.4+commit.c7e474f2 can be replaced with any other version.
arguments.js is needed because we cannot verify constructor with arrays in the CLI
npx hardhat verify --network aurora --constructor-args verify/argumentsNRewarder.js 0x9E5c2dC717cCAc1eB0e8d267E43538E03531503d
- Forked contracts have been ignored from being linted, these include
amm,stableswap,multicallandwethfolders. Run the following commands on your local to lint the files
yarn prettier
yarn lint
- Create new PR with rewarder/** branch name
- Create newRewarderConfig.json file, fill out value keys from newRewarderConfig.sample.json
- Once proposed gnosis safe signatures are signed and contracts are verified, we will merge your PR!
- Create new PR with allocation/** branch name
- Create allocationConfig.json file, fill out value keys from allocationConfig.sample.json
- Create new PR with rewarderTokensPerBlock/** branch name
- Create rewarderTokensPerBlock.json file, fill out value keys from rewarderTokensPerBlock.sample.json