Accepted tokens are queried from the TokenManager
each time instead of being stored in the vault at its creation. While adding a new token might be straightforward for vaults, removing one can have catastrophic consequences.
A simple example involves a user with only WBTC, minting 99% of what they can borrow. If WBTC is removed, maxMintable
will return 0, and undercollateralized
will return true
. The vault will be liquidated, but no Asset
will be distributed, resulting in a complete loss for the protocol and inflating the EUROs stablecoin.
Loss of funds for the protocol if the token represents a significant portion of collateral in user vaults.
Unexpected liquidation for users, resulting in a potential loss of all other tokens in the vault.
Inflation of the borrowed stablecoin.
If removing tokens becomes a common feature, this is a HIGH finding. However, assuming the likelihood is low (only in the case of a bug with a token), the severity is considered MEDIUM.
Store accepted tokens in the vault. Moreover, it would consume less gas.
If a token needs to be removed, warn users in advance and encourage them to open a new vault.
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.