GMXVault
contract : no checks on the returned value of token approvals (approve
).
When GMXVault
is deployed: the vault grants some 3rd party contracts (GMX exchange router ,depositVault and withdrawalVault contracts) the approval/allowance on its tokens.
But it was noticed that there's no check on the returned value of the approve
function, as some tokens might return false
instead of reverting if the approvals fails.
Since there's noway to set the approvals of these tokens again once the vault is deployed; the vault will not be working as intended and if any deposit is made by the vault later; it might be lost as it can't be withdrawn if any of the token approvals for these interacting contracts fails.
Manual Review.
Check the returned value of each approve
call; this can be done by wrapping the call with a require
statement:
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.