The excess ether sent to any contract that uses the tillIn() function will be lost. This is significantly impactful since the frequency of excess ether being sent will be high.
Any excess ether (> _amount) sent to the tillIn() function is not refunded to the msg.sender and thus will be lost.
In the tillIn function if the msg.value > amount, the excess ether (msg.value - amount) is ignored and only the amount is being transferred to the capitalPoolAddr.
This is significant because many users WILL be sending excess ether.
For example:
In the PreMarkets.sol, while calling the createTaker
function, the exact amount that a user has to pay is not exactly clear.
This is because it not only includes the collateral Amount, but also the trade tax, and the platform fees. Each of which is rounded up/ rounded down quite complexly.
This would mean that a user most likely overpay by a little. And this amount will be lost in the tillIn() function.
The accumulated loss of funds over many iterations would be a significant amount to the user.
Manual Review
Refund the extra amount of ether/token sent to the tillIn() function.
Invalid, these are by default, invalid based on codehawks [general guidelines](https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity#findings-that-may-be-invalid). The check implemented is simply a sufficiency check, it is users responsibility to only send an appropriate amount of native tokens where amount == msg.value when native token is intended to be used as collateral (which will subsequently be deposited as wrapped token). All excess ETH can be rescued using the `Rescuable.sol` contract. > Users sending ETH/native tokens > If contracts allow users to send tokens acc111identally.
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.