The bridge contract currently charges gas fees for each message sent through it. However, there is a missing mechanism to withdraw the ETH collected from these gas fees, leaving the accumulated ETH locked inside the contract.
The function sendMessageToL2
in the bridge contract is responsible for sending messages to Starknet and charging ETH as gas fees for this service. Below is the relevant code snippet:
In this function, the contract charges a gas fee in ETH for each message sent to Starknet. The fee is accumulated within the bridge contract. However, there is currently no function or method in the contract that allows the owner (or any authorized entity) to withdraw the accumulated ETH.
This means that while ETH is being collected as gas fees, it remains inaccessible and locked inside the contract because there is no implemented logic to withdraw it.
If this issue is not addressed, the protocol team will lose access to the gas fees that are accumulating in the bridge contract. Over time, this could result in a significant loss of funds that could have been used for other purposes, such as protocol maintenance or further development.
Manual Review
To resolve this issue, it is recommended to add a method in the contract that allows the owner (or another authorized entity) to withdraw the accumulated ETH.
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.