L1Sender does not have any way of recovering ethereum which is refunded to it by the Arbitrum Gateway Router.
Each time L1Sender
transacts with L1GatewayRouter
via sendDepositToken()
function it must send a fee in msg.value
. The amount required will be estimated and is variable. Where the user pays too much; the fee will be refunded to the sendng contract; i.e. L1Sender.
However L1Sender
does not implement any method to transfer ETH out so funds will get stuck in the contract.
Funds will get stuck in the contract causing the protocol to lose money
Hardhat
Manual Review
Add a function to transfer ETH out of the contract to a trusted address and implement refund functionality in the GatewayRouterMock.sol
contract
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.