Lines of code
<https://github.com/code-423n4/2022-02-redacted-cartel/blob/main/contracts/BribeVault.sol#L23>
Function transferBribes has a parameter named fees. Essentially, it allows an admin to apply any arbitrary fees and send them to the feeRecipient. This makes no sense because admins can manipulate the amounts however they want with 0 restrictions.
I see that there is an unused variable named fee that I expected to be applied when calculating fee amounts:
uint256 public fee; // 5000 = 0.5%
This variable has no effect, even though I expected it to be used instead of these arbitrary fees.
I think transferBribes should not accept arbitrary fees, but calculate and apply them based on this fee state variable, especially considering that according to the diagram the initiator of transferBribes can be not only multisig but team members also.
The text was updated successfully, but these errors were encountered:
All reactions