In the afterUpdate function, which executes when an NFT is transferred, block.number is incorrectly used to record the deposit timestamp. However, during liquidity addition, the code correctly uses block.timestamp. This inconsistency can lead to inaccurate time tracking.
When a user adds liquidity, the block.timestamp is stored in blockTimestampDeposit. This can be observed in the following code:
But in the afterUpdate function, at Line 616, the code stores the deposit timestamp as block.number
Using block.number instead of block.timestamp during transfers results in incorrect timestamps, causing inconsistencies for off-chain services relying on this timestamp.
Manual Review
To maintain accurate time records, it is recommended to replace block.number with block.timestamp.
Likelihood: Medium/High, any NFT transfer will change this variable. Impact: Informational/Very Low. This variable is unused and won’t impact anything, but the array is public and its getter will return a variable with inconsistencies.
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.