In good-faith CORRUPTED: bountyEntitlement = snapshotTotalStaked + snapshotTotalBonus (entire pool).
claimAttackerBounty() pays min(remaining, freeBalance)
claimCorrupted() requires bountyClaimed >= bountyEntitlement (MustClaimBountyFirst)
sweepUnclaimedCorrupted() only available after corruptedClaimDeadline (180 days)
With fee-on-transfer: attacker claims → pool sends X, token takes fee → pool balance drops more than bountyClaimed increments. Pool depletes before bountyClaimed >= bountyEntitlement. claimCorrupted reverts MustClaimBountyFirst. Recovery must wait 180 days.
Likelihood:
Same token assumption as fee-on-transfer or rebasing tokens cause balance/accounting divergence
Good-faith CORRUPTED path is designed for attacker to claim entire pool, making the fee impact severe
Impact:
Attacker cannot claim full entitled bounty due to fee erosion
Recovery cannot call claimCorrupted() until bountyClaimed >= bountyEntitlement — reverts MustClaimBountyFirst
Funds stuck in pool for 180 days until sweepUnclaimedCorrupted() becomes available
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
View preliminary resultsAppeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.