The readLastReserves function in the smart contract has an error in the way it extracts the values of n (number of reserves) and lastTimestamp from the storage slot. This error results in the lastTimestamp containing the n value due to incorrect bit manipulation.
The issue arises because shr(208, temp) shifts the entire 48 first bits right by 208 bits. This includes the first 8 bits of n into the lastTimestamp, which should only contain the subsequent 40 bits.
The lastTimestamp incorrectly contains bits from n, leading to a inacurate timestamp value.
Manual review
Consider the followin change :
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.