The GaugeController contract maintains an array of all gauges (_gaugeList
) that grows without bounds and is traversed in critical functions:
This design has two critical issues:
getTotalWeight()
is called in core functions like reward distribution
As more gauges are added, gas costs increase linearly
Could reach block gas limit making functions inoperable
Maintain a running total instead of looping:
Or implement gauge removal and cleanup:
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.