We know some partners require smart contract migration to enforce royalties and highlight that via their own marketplace, so this doc outlines the code necessary to do so by implementing the ‘operator’ filter into your new smart contract.
Here's the solidity code which shows an ERC721 contract that enforces a blocklist on the approve
and approveAll
functions
Removing the ability for token holders to list their token or accept any offers (i.e. rendering their token(s) non-tradable via the blocked marketplaces).
The contract includes MarketplaceBlockList
array which contains some initial values; this is the list of contracts to block & can be updated after contract deployment via the public add
and remove
functions (restricted to only the contract owner).
Here's the necessary mainnet version of the code which blocks Blur, LooksRare & SudoSwap