totalSupply is not overriden which is problematic in voting escrows
Calling totalSupply in a voting escrow contract is supposed to return the voting power. Here, we have this code:
The issue is that totalSupply() is not overriden, it is simply inherited from ERC20 so this will return the total minted tokens. This is extremely problematic, if we take a look at Curve's voting escow implementation, we can see how it should work:
The function is used in many places across the protocol, thus calculations using it will be completely incorrect.
Completely wrong calculations, state and so on.
Manual Review
Override the function and implement functionality which factors in decay and so on.
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.