There is no mechanism to manage the accrued platformFee
tokens and they are locked to the CapitalPool
contract.
In the PreMarkets.createTaker
function, creator of taker order provides the platformFee
from L834.
And remainingPlatformFee
is accrued to makerInfo.platformFee
variable from L263
But there is no mechanism to withdraw the makerInfo.platformFee
amount of tokens from CapitalPool
contract.
The makerInfo.platformFee
amount of tokens are locked to CapitalPool
contract forever.
Manual Review
It is recommended to add the mechanism to manage the makerInfo.platformFee
amount of tokens.
Low severity, this can be done using the `Rescuable.sol` contract. Arguably there is no errors here given the `platformFee` variable can represent the historical fees that the protocol has accumulated and need not be updated when fees are withdrawn. However, I believe a more explicit function can be valuable to be more transparent regarding withdrawals. However, I will leave this issue open for escalation for debates because I can see it as arguably invalid as well, but I see no arguments for it being medium severity since there is an alternative to retrieve platform fees, assuming admins are trusted.
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.