This repository is being audited. It has been temporarily frozen to avoid any unexpected change in the reviewed code. It will be unarchived in 10 days.
https://github.com/compound-finance/compound-protocol/tree/a3214f67b73310d547e00fc578e8355911c9d376
-
NodeJS - 12.x
-
Solc - v0.8.13 (https://github.com/ethereum/solidity/releases/tag/v0.8.13)
yarn install
yarn test
yarn hardhat:test
- To run fork tests add FORK_MAINNET=true and QUICK_NODE_KEY in the .env file.
npx hardhat deploy
- This command will execute all the deployment scripts in
./deploy
directory - It will skip only deployment scripts which implement askip
condition - Here is example of a skip condition: - Skipping deployment script onbsctestnet
networkfunc.skip = async (hre: HardhatRuntimeEnvironment) => hre.network.name !== "bsctestnet";
- The default network will be
hardhat
- Deployment to another network: - Make sure the desired network is configured in
hardhat.config.ts
- AddMNEMONIC
variable in.env
file - Execute deploy command by adding--network <network_name>
in the deploy command above - E.g.npx hardhat deploy --network bsctestnet
- Execution of single or custom set of scripts is possible, if:
- In the deployment scripts you have added
tags
for example: -func.tags = ["MockTokens"];
- Once this is done, adding
--tags "<tag_name>,<tag_name>..."
to the deployment command will execute only the scripts containing the tags.
- In the deployment scripts you have added
In order to verify the source code of already deployed contracts, run:
npx hardhat etherscan-verify --network <network_name>
Make sure you have added ETHERSCAN_API_KEY
in .env
file.
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
npx hardhat help
REPORT_GAS=true npx hardhat test
npx hardhat coverage
TS_NODE_FILES=true npx ts-node scripts/deploy.ts
npx eslint '**/*.{js,ts}'
npx eslint '**/*.{js,ts}' --fix
npx prettier '**/*.{json,sol,md}' --check
npx prettier '**/*.{json,sol,md}' --write
npx solhint 'contracts/**/*.sol'
npx solhint 'contracts/**/*.sol' --fix
MNEMONIC="<>" BSC_API_KEY="<>" npx hardhat run ./script/hardhat/deploy.ts --network testnet
Documentation is autogenerated using solidity-docgen.
They can be generated by running yarn docgen