The function MoneyShelf::depositUSDC ignores return value of usdc.transferFrom, so even if the transfer fails sliently (as long as it doesnt revert), it will still mint crimeMoney to caller.
bank[to] might be changed, and crimeMoney might be minted to, even if no USDC is transferred to MoneyShelf. That could cause failure when later USDC is withdrawn, because there isnt enough USDC in this contract.
check the return value of usdc.transferFrom, if transfer fails, revert the tx
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.