The sellErc20
function allows sellers to create multiple sell orders without restrictions, enabling them to manipulate the price of NFT fractions. This can prevent buyers from accumulating all required fractions to claim the full NFT.
The seller initially owns 1e18 fractions of the NFT in ERC20 tokens.
The seller creates an order to sell 0.9e18 fractions at a price of 1e18.
A buyer fulfills the order and acquires 0.9e18 fractions.
The seller then creates another order for the remaining 0.1e18 fractions at an inflated price of 10000e18.
As a result, the buyer is unable to purchase the final fraction at a reasonable price, blocking their ability to claim the full NFT.
Market Manipulation: Sellers can artificially inflate prices, making it impossible for buyers to collect all required fractions.
Unfair Trading Practices: Potential buyers may face financial losses due to sudden price increases.
Platform Integrity: The platform's credibility may be compromised due to unchecked manipulations.
Manual code review
Solidity static analysis tools
Introduce Order Limits: Restrict the number of active orders a seller can create at a time.
Price Constraints: Implement validation mechanisms to prevent drastic price fluctuations within short periods.
Fractional Limits: Set minimum and maximum selling thresholds to prevent price exploitation.
Buyout Mechanism: Allow buyers to purchase all remaining fractions at a fair market value to claim the NFT.
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.