Shared solhint configuration that defines Solidity rules and their severity for LayerZero codebase. It should be used in all LayerZero repositories containing Solidity contracts to ensure the uniform conventions. The full list of solhint
rules can be found in solhint
repository.
- Install version of
solhint
package specified inpeerDependencies
section ofpackage.config
- Install
@layerzerolabs/solhint-config
yarn add --dev @layerzerolabs/solhint-config
Create solhint.config.js
file to configure solhint
.
If you want to use only the default rules put the following line in solhint.config.js
module.exports = require("@layerzerolabs/solhint-config");
If you want to override the default rules use the following format for solhint.config.js
const defaults = require("@layerzerolabs/solhint-config");
module.exports = {
...defaults,
rules: {
...defaults.rules,
"compiler-version": ["error", "0.8.20"], // override
},
};
To lint all files inside contracts
directory run
yarn solhint contracts/**/*.sol
To lint a single file run
yarn solhint contracts/MyContract.sol