52278 sc high incorrect streak check in jackpot eligibility leads to unfair reward denial
Description
Brief / Intro
Vulnerability Details
function _computeStreak(address user, uint256 nowTs, bool justSpun) internal view returns (uint256) {
uint256 streakAdjustment = justSpun ? 1 : 0;
uint256 lastSpinTs = userData[user].lastSpinTimestamp;
if (lastSpinTs == 0) {
return 0 + streakAdjustment;
}
uint256 lastDaySpun = lastSpinTs / SECONDS_PER_DAY;
uint256 today = nowTs / SECONDS_PER_DAY;
if (today == lastDaySpun) {
return userData[user].streakCount;
}
if (today == lastDaySpun + 1) {
return userData[user].streakCount + streakAdjustment;
}
return 0 + streakAdjustment;
}Impact Details
Proof of Concept
References
Previous52982 sc medium non standard erc20 approvals usdt like cause repeat call failures after partial fillsNext51994 sc high permanent loss of validator commission upon reward token removal
Was this helpful?