Any buyer can set the royaltyfee upto 100%, if they do so the price of asset will be reduced by that factor making it cheap for buyer.
If a buyer wants to reduce the price of an asset listed by the seller, they can simply increase the royaltyFee, which will then be transferred to the buyer. The effective amount the buyer will pay will be calculated as the:- price - royaltyFee.
Since the buyerFee is calculated as a % of price of asset.
the seller transfer the royaltyfee to buyer, hence the price of asset is dropped if the royaltyfee is set very high.
Since the buyer set the royaltyfee, and the buyerfee is calculated as % of asset price the buyer will indirectly determine the price of asset by adjusting the royaltyfee.
This will work as discount to buyer and the seller will not get the fair price of asset.
Manual review
Make following changes in the below given functions (one constructor and other setFeeRoyalty function).
reduce the range of _royaltyFee variable form 100 -> to a reasonable range, which will not be exploit by the buyer.
lets say 1% to 50% { it is just an example the owner of protocol should change it to some reasonable range}
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.