When the function dewhitelistToken
is called it deletes the following data:
The attribute selector
is used to check whether the token is not whitelisted LibTokenSilo
:
LibTokenSilo.beanDenonimatedValue:
This logic makes sense as any token that is not in the whitelist doesn't have a selector either because the token hasn't been added or because it went through the dewhitelist function.
But the function updateStalkPerBdvPerSeasonForToken
from LibWhitelist
utilizes the milestoneSeason
attribute which is never deleted since the moment that a token is added to the whitelist.
It means that a token that was passed on dewhitelistToken
will still be considered a whitelisted
token and his attributes will be updated such as:
A token that is not whitelisted can bypass this function and disrupt the protocol's logic.
Manual Review
Check for the selector instead of milestoneSeason
to ensure the token is not whitelisted.
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.