The setStakeTokenAllowed function allows the owner to freely add or remove stake tokens from the allowlist. However, there is no tracking of the total number of allowed tokens. This can result in a situation where all tokens are removed, making createPool unusable while the factory contract itself remains active.
The contract uses a mapping:
But it does not:
Track the total number of allowed tokens
Prevent removing the last allowed token
Ensure at least one token remains allowed
As a result, the factory can remain operational (whenNotPaused) but functionally unusable.
No new pools can be created (StakeTokenNotAllowed will always revert). The contract appears active but is effectively frozen.
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.
The contest is complete and the rewards are being distributed.