F-2025-0018·code-quality
Consider using named mappings for improved code readability
TL;DR
Mappings use traditional syntax instead of the named-mapping form (Solidity 0.8.18+), reducing self-documentation and reader clarity.
Severity
INFO
Impact
LOW
Likelihood
LOW
Method
MManual review
CAT.
Complexity
LOW
Exploitability
LOW
02Section · Description
Description
The contract uses traditional mapping syntax instead of the more readable named mapping syntax introduced in Solidity 0.8.18:
solidity
// Current implementationmapping(uint => Position) public positions;mapping(address => uint[]) public positionIdsByAddress;mapping(uint => uint) public tiers;
Named mappings make the code more self-documenting by explicitly stating what the keys and values represent.
03Section · Recommendation
Recommendation
Update to latest stable Solidity version and use named mappings:
solidity
// More readable implementationmapping(uint positionId => Position position) public positions;mapping(address user => uint[] positionIds) public positionIdsByAddress;mapping(uint daysLocked => uint basisPoints) public tiers;
This improves code readability, self-documentation, maintenance and auditing, and function-parameter consistency (names can match mapping key/value names).

