Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@venusprotocol/solidity-utilities) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Development
Prerequisites
NodeJS - 18.x
Solc - v0.8.13 (https://github.com/ethereum/solidity/releases/tag/v0.8.13)
Installing
yarn install
Linting and code formatting
Linting is done using eslint for typescript and solhint for solidity. Prettier is used to format solidity and typescript files.
To check linting and formatting on all files run:
$ yarn lintLinting command can be run with the fix flag to fix eligible errors automatically
$ yarn lint:sol --fix
$ yarn lint:ts --fixTo pretty all files run:
$ yarn prettierRun Tests
npx hardhat test
- To run fork tests add FORK_MAINNET=true PRIVATE_KEY and QUICK_NODE_KEY in the .env file.
Releases and Versioning
Releases are automatically managed using semantic-release and commit messages.
Deployment
npx hardhat deploy
- This command will execute all the deployment scripts in
./deploydirectory - The default network will be
hardhat - Deployment to another network: - Make sure the desired network is configured in
hardhat.config.ts- AddPRIVATE_KEYvariable in.envfile - 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
tagsfor 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
Verify Contracts
npx hardhat etherscan-verify --network <network-name>Hardhat Commands
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
Documentation
Documentation is autogenerated using solidity-docgen.
They can be generated by running yarn docgen