The contract code includes:
But in vote(...):
No line checks whether weight < MIN_VOTE_WEIGHT; hence a user can call:
and it proceeds with no revert, ignoring the doc that sets a 1% minimum.
Design Contradiction
Because MIN_VOTE_WEIGHT = 100 is declared, it strongly implies a user’s gauge vote should never drop below 1%. But the code allows weight = 1 or even weight = 0.
Skewed or Trivial Votes
If the system intended to disallow trivial partial votes under 1%, the missing check leads to potential micro allocations. If that was unintentional, it contradicts design.
Confusion
Auditors or integrators see MIN_VOTE_WEIGHT = 100 but find no enforcement. This mismatch can cause confusion or incorrect usage if they rely on a 1% floor.
The code never reverts, showing that MIN_VOTE_WEIGHT is effectively unused.
Enforce MIN_VOTE_WEIGHT in vote(...)
After the existing checks, do something like:
ensuring no user can specify a gauge weight below 1%.
Remove or Rename
If the protocol actually allows any weight from 0–100%, remove MIN_VOTE_WEIGHT or rename it to reflect a different usage.
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.