There is no logic to prevent relisting a tokenId
that is already listed for sale.
In MartenitsaMarketplace.sol
, listMartenitsaForSale()
has no logic to prevent relisting a tokenId
that is already listed for sale. A malicious actor can:
List a tokenId
for sale.
Wait for a buyer to buy at a certain price.
Frontrun the buy transaction, relisting the same tokenId
at a higher price.
Notice in buyMartenitsa()
, msg.value >= listing.price
tolerates sending value greater than the listed price and potentially overpay for a token.
Potential financial loss for users.
Manual review.
Add logic to prevent relisting atokenId
that is already listed for sale.
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.