SmartVaultV3 fetches token by symbol in 2 different ways opening the possibility for different results.
Smart vault has a function to get token by the symbol:
However, it is confusing because some functions use this function to get the token and some functions get it from the manager, e.g.:
getTokenManager().getToken(NATIVE)
, getTokenManager().getToken(_symbol)
The token manager contract is not provided in scope so it is hard to assume if these functions return identical results, but I believe it is a valid concern to unify the usage across contracts.
getToken()
and getTokenManager().getToken()
might behave differently and cause discrepancies in the contract. It would be better to leave only one contract responsible for this information.
Manual review.
Make sure that implementations are correct and if possible use the same way of getting the token in all cases.
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.