There is a missed opportunity to use named parameter for public mappings
The projects use Solidity 0.8.19 and miss that from 0.8.18 a new feature allowing named parameters for public mappings was introduced. See instances below without using them
mapping(address => uint256) public supplyIndex; //Staking.sol line 19
mapping(address => uint256) public balances; //Staking.sol line 21
mapping(address => uint256) public claimable; //Staking.sol line 24
mapping(bytes32 => Pool) public pools; // Lender.sol line 70
Informational:
This improves code readability and maintanability as it,
Makes the mappings syntax similar to functions and events that take parameters and,
Allows setting of fields in the ABI for mapping public getter functions
Manual Analysis
Change to specify parameter names for all instances as in example below:
mapping(address user => uint256 index) public supplyIndex; //Staking.sol line 19
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.