sushiswap / shoyu

Shoyu contracts
https://shoyunft.com
MIT License
168 stars 122 forks source link

Royalty info for existing NFT721 contracts #62

Open fkammer opened 3 years ago

fkammer commented 3 years ago

The _transferFeesAndFunds method of BaseExchange.sol tries to retrieve the royalty info from the NFT contract. This requires the contract to implement the ERC2981.

https://github.com/sushiswap/shoyu/blob/3d8454043d3dc67a3cfe1af7a8f8c73776bc3c2e/contracts/base/BaseExchange.sol#L296-L304

As I understand, for contracts not created via Shoyu and thus probably not having an exchange implemented, ERC721ExchangeV0.sol should act as a more generic version of the exchange allowing to trade allowed NFTs.

Shouldn't we allow existing NFT projects to set a royalty fee if ERC2981 isn't implemented in their existing contract? I'm concerned the marketplace wouldn't be a good fit for a lot of the existing projects otherwise.