Options
Default list of options are false, “error”, “warn”. It supports by all rules. It provides in format
{
"rules": {
"RULE_NAME": "<option>"
}
}
Security Rules
| Rule ID | Error | Options |
|---|---|---|
| reentrancy | Possible reentrancy vulnerabilities. Avoid state changes after transfer. | default |
| avoid-sha3 | Use “keccak256” instead of deprecated “sha3” | default |
| avoid-suicide | Use “selfdestruct” instead of deprecated “suicide” | default |
| avoid-throw | “throw” is deprecated, avoid to use it | default |
| func-visibility | Explicitly mark visibility in function | default |
| state-visibility | Explicitly mark visibility of state | default |
| check-send-result | Check result of “send” call | default |
| avoid-call-value | Avoid to use “.call.value()()” | default |
| compiler-fixed | Compiler version must be fixed | default |
| compiler-gt-0_4 | Use at least ‘0.4’ compiler version | default |
| no-complex-fallback | Fallback function must be simple | default |
| mark-callable-contracts | Explicitly mark all external contracts as trusted or untrusted | default |
| multiple-sends | Avoid multiple calls of “send” method in single transaction | default |
| no-simple-event-func-name | Event and function names must be different | default |
| avoid-tx-origin | Avoid to use tx.origin | default |
| no-inline-assembly | Avoid to use inline assembly. It is acceptable only in rare cases | default |
| not-rely-on-block-hash | Do not rely on “block.blockhash”. Miners can influence its value. | default |
| avoid-low-level-calls | Avoid to use low level calls. | default |
* - All security rules implemented according ConsenSys Guide for Smart Contracts
Style Guide Rules
| Rule ID | Error | Options |
|---|---|---|
| func-name-mixedcase | Function name must be in camelCase | default |
| func-param-name-mixedcase | Function param name must be in mixedCase | default |
| var-name-mixedcase | Variable name must be in mixedCase | default |
| event-name-camelcase | Event name must be in CamelCase | default |
| const-name-snakecase | Constant name must be in SNAKE_CASE | default |
| modifier-name-mixedcase | Modifier name must be in mixedCase | default |
| contract-name-camelcase | Contract name must be in CamelCase | default |
| use-forbidden-name | Avoid to use letters ‘I’, ‘l’, ‘O’ as identifiers | default |
| visibility-modifier-order | Visibility modifier must be first in list of modifiers | default |
| imports-on-top | Import statements must be on top | default |
| two-lines-top-level-separator | Definition must be surrounded with two blank line indent | default |
| func-order | Function order is incorrect | default |
| quotes | Use double quotes for string literals. Default quotes values is “double”. Values must be ‘single’ or ‘double’. | [<default>, <quotes>] |
| no-mix-tabs-and-spaces | Mixed tabs and spaces | default |
| indent | Indentation is incorrect | [<default>, <indent>] Default indent is 4. |
| bracket-align | Open bracket must be on same line. It must be indented by other constructions by space | default |
| array-declaration-spaces | Array declaration must not contains spaces | default |
| separate-by-one-line-in-contract | Definitions inside contract / library must be separated by one line | default |
| expression-indent | Expression indentation is incorrect. | default |
| statement-indent | Statement indentation is incorrect. | default |
| space-after-comma | Comma must be separated from next element by space | default |
| no-spaces-before-semicolon | Semicolon must not have spaces before | default |
* - All style guide rules implemented according Solidity Style Guide
Best Practise Rules
| Rule ID | Error | Options |
|---|---|---|
| max-line-length | Line length must be no more than maxlen. | [<default>, <maxlen>] Default maxlen is 120. |
| payable-fallback | When fallback is not payable you will not be able to receive ethers | default |
| no-empty-blocks | Code contains empty block | default |
| no-unused-vars | Variable “name” is unused | default |
| function-max-lines | Function body contains “count” lines but allowed no more than maxlines. | [<default>, <maxlines>] Default maxlines is 45. |
| code-complexity | Function has cyclomatic complexity “current” but allowed no more than maxcompl. | [<default>, <maxcompl>] Default maxcompl is 7. |
| max-states-count | Contract has “some count” states declarations but allowed no more than maxstates | [<default>, <maxstates>] Default maxstates is 15. |