when a user buys a token with buyMartenitsa(), he can send more eth than actual price and that is not refunded.
The problem arises in
require(msg.value >= listing.price, "Insufficient funds");
when a user accidentally sends more eth to buy a token ( or through bad front-end) as the diffference between msg.value and listing.price.
Loss of funds for user
Manual inspection
change requirement to
require(msg.value == listing.price, "Insufficient funds");
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.