In the L1Sender.sol the sendDepositsToken use the mock ' IGatewayRouter(config.gateway).outboundTransfer' which as we can see doesn't check the return which can cause the unintended and unpleasant consequences during function process.
The same issue is in the L2TokenReceiver.sol in the swap function the 'ISwapRouter.ExactInputSingleParams' doesn’t check the return.
The transfer can be failed without being noticed by the calling contract.
Manual review
Use SafeERC20 library on both functions
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.