the oracle should return a recent, valid Chainlink price so leverage sizing and unwind math are based on current market conditions.
getPrice() accepts any positive answer but does not validate staleness (updatedAt) or round completeness (answeredInRound >= roundId), so outdated data is treated as valid.
Likelihood:
Chainlink feeds naturally have periods where updatedAt is old during low volatility or feed disruption.
Protocol operations that call oracle pricing (calculateOpenParams, unwind calculations) can run while old rounds are still returned.
Impact:
Position sizing can be materially wrong (borrow too high/too low).
Unwind calculations can use incorrect collateral/debt conversion, increasing loss/revert risk.
Get and check the updateAt to make sure the price is as fresh as possible
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.
The contest is complete and the rewards are being distributed.