Assessment reports>Magma Finance>Low findings>Incorrect check for claimable amount
Category: Coding Mistakes

Incorrect check for claimable amount

Low Severity
Low Impact
Low Likelihood

Description

The extract_claimable_for function checks if the claimable amount is greater than the DURATION. The DURATION is set to 7 * 86400, which is irrelevant to the claimable amount.

fun extract_claimable_for<T>(self: &mut Voter<T>, gauger_id: ID): Balance<T> {
    let gauger_id = into_gauge_id(gauger_id);
    self.update_for_internal<T>(gauger_id); // should set claimable to 0 if killed
    let claimable = *self.claimable.borrow(gauger_id);

    // TODO: check if this assert is rigid enough
    assert!(claimable > DURATION);
    // [...]
}

Impact

Rewards below the DURATION value cannot be claimed, which may prevent reward distribution in certain scenarios.

Recommendations

We recommend removing the check for the claimable amount.

Remediation

This issue has been acknowledged by Magma Finance, and a fix was implemented in commit a4a7a6d8.

Zellic © 2025Back to top ↑