The ConfidencePool contract utilizes a quadratic time-weighted bonus mechanism where the bonus weight is calculated based on the duration a deposit has been held relative to the pool’s resolution time . To prevent the manipulation of time-weighted scores after an active risk event has been identified, the contract employs the _clampUserSums() function to "clamp" the entry time of all funds deposited before riskWindowStart to the riskWindowStart timestamp itself.
The issue arises because _clampUserSums() performs this clamping on a user's aggregated userSumStakeTime rather than evaluating individual deposit records. Consequently, the distinct time-weighted benefits of multiple, well-timed early deposits are homogenized and diluted, causing early stakers to lose the time-weight advantage they were intended to receive for their long-term commitment.
Reason : Users who perform multiple staggered deposits prior to the risk window will consistently see their bonus weights reduced by this aggregation logic.
This occurs automatically whenever riskWindowStart is observed, making it a deterministic outcome for any user with a non-monolithic deposit history.
Impact:
Impact 1:Reward Dilution: Early depositors receive a lower bonus than mathematically warranted by their actual duration of risk exposure, effectively penalizing long-term users.
Impact 2:Incentive Misalignment: The design discourages early, proactive staking, as the benefit of "time-in-market" is erased by the aggregation mechanism.
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.