Solidity smart contract development guidelines for Linea blockchain. Use when writing, reviewing, or refactoring Solidity contracts, or when the user asks about Solidity best practices, contract structure, or NatSpec docstrings. Covers NatSpec documentation, naming conventions, file layout, and code style.
95
—
Does it follow best practices?
Impact
91%
1.37xAverage score across 3 eval scenarios
Passed
No known issues
Gas-optimized batch reward distributor contract
external visibility
100%
100%
calldata parameter
100%
100%
storage caching
0%
0%
custom errors declared
100%
100%
custom errors used in require
100%
100%
batch size constant
50%
100%
batch size enforced
100%
100%
short-circuit ordering
87%
100%
storage pointer
100%
100%
unchecked loop increment
0%
100%
unchecked invariant comment
0%
0%
NatSpec and Solidity file conventions for Linea contracts
Function @notice
100%
100%
Function @param order
100%
100%
Function @return named
62%
100%
Event NatSpec params
100%
100%
Error NatSpec when-thrown
100%
100%
@author tag
0%
100%
@custom:security-contact
0%
100%
Interface structure order
100%
100%
Contract structure order
100%
100%
Named imports only
100%
100%
Interface pragma caret
50%
100%
Contract pragma exact
0%
100%
Naming conventions
100%
100%
Explicit state var visibility
100%
100%
Internal constant visibility
0%
100%
Upgradeable contract inheritance and initialization patterns
public virtual overridable
50%
100%
No this.functionCall()
100%
100%
reinitializer on initialize
0%
100%
reinitializer on reinitializeV2
75%
100%
ERC-7201 storage annotation
0%
100%
ERC-7201 storage struct + accessor
0%
100%
Explicit transitive ancestors
100%
100%
Modifier for repeated check
50%
0%
__FeeManagerBase_init pattern
100%
100%
@dev NatSpec present
100%
100%
using...for placement
100%
100%
9c684a0
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.