Assessment reports>All in Bits>Low findings>The ,min_quorum > max_quorum, flips interpolation
Category: Coding Mistakes

The min_quorum > max_quorum flips interpolation

Low Severity
Low Impact
Low Likelihood

Description

The quorum is defined as:

quorum = min_quorum + (max_quorum - min_quorum) * participationEMA

However, validation only enforces each value is in [0, 1]. If min_quorum is set higher than max_quorum, the (max - min) term becomes negative and the curve is inverted. Higher participation lowers quorum and vice versa. Although still bounded in [min, max], this contradicts the intended design and can surprise governance.

Impact

Misconfigured parameters may raise quorum when participation is low and drop it when participation is high, weakening governance safeguards.

Additionally, confusing behavior increases the risk of accidental misgovernance.

Recommendations

Add a guard in the param validation.

if minQuorum > maxQuorum {
    return fmt.Errorf("min_quorum must be ≤ max_quorum")
}

Remediation

This issue has been acknowledged by AtomOne, and a fix was implemented in PR #163.

Zellic © 2025Back to top ↑