The transfer to be made from capitalPoolAddr
to msg.sender
is instead sent to address(this)
, which is the TokenManager
contract in which the withdraw
function is implemented.
In the TokenManager::withdraw
function, when the token to be withdraw is a native token, according to the documentation this token must be transferred from capitalPoolAddr
to msg.sender
. But currently this token is rather transferred from capitalPoolAddr
to the current contract (address(this)
).
When the token to be withdrawn is a native token, the caller(msg.sender
) of the TokenManager::withdraw
function will receive nothing of what he is supposed to receive; the fund will remain in the contract account.
Manual review.
Change the coed as follows:
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.