protofire / solhint

Solhint is an open-source project to provide a linting utility for Solidity code.
https://protofire.github.io/solhint/
MIT License
1.03k stars 160 forks source link

What rules are in `solhint:default`? #429

Closed lyh970817 closed 1 year ago

lyh970817 commented 1 year ago

I'm wondering what rules are included in solhint:default? Sorry I can't seem to find indication of this in the documentation. Similarly for solhint:recommended I'm wondering if the rules ticked as "Recommended" on https://protofire.github.io/solhint/docs/rules.html#style-guide-rules for example are all included?

dbale-altoros commented 1 year ago

Answering your question about the recommended rules, I can confirm the ones on the readme marked as recommended are the ones that actually solhint check.

Here I can copy both ruleset

DEFAULT: type >> best-practises || name >> max-line-length type >> best-practises || name >> no-console

RECOMMENDED: type >> best-practises || name >> max-states-count type >> best-practises || name >> no-console type >> best-practises || name >> no-empty-blocks type >> best-practises || name >> no-global-import type >> best-practises || name >> no-unused-import type >> best-practises || name >> no-unused-vars type >> best-practises || name >> payable-fallback type >> best-practises || name >> reason-string type >> miscellaneous || name >> quotes type >> naming || name >> const-name-snakecase type >> naming || name >> contract-name-camelcase type >> naming || name >> event-name-camelcase type >> naming || name >> func-name-mixedcase type >> naming || name >> use-forbidden-name type >> naming || name >> var-name-mixedcase type >> order || name >> imports-on-top type >> order || name >> visibility-modifier-order type >> security || name >> avoid-call-value type >> security || name >> avoid-low-level-calls type >> security || name >> avoid-sha3 type >> security || name >> avoid-suicide type >> security || name >> avoid-throw type >> security || name >> avoid-tx-origin type >> security || name >> check-send-result type >> security || name >> compiler-version type >> security || name >> func-visibility type >> security || name >> multiple-sends type >> security || name >> no-complex-fallback type >> security || name >> no-inline-assembly type >> security || name >> not-rely-on-block-hash type >> security || name >> not-rely-on-time type >> security || name >> reentrancy type >> security || name >> state-visibility

dbale-altoros commented 1 year ago

Added list of default rules into readme Fixed Category on quotes rule Generated last docs to contain the quotes fix and new no-console rule https://github.com/protofire/solhint/pull/443