NFTmall's stand-alone contract coordinates with other smart contracts designed to explain how trades must be executed. It verifies the validity of strategies and currencies, whether royalty fees must be paid (and to who), and how tokens must be transferred.
NFTmall's core planning consists of:
The Currency manager handles a whitelist of ERC-20 tokens that are valid for transactions on the system.
The Execution manager handles the list of valid execution strategies for matching makers and takers.
Transfer selector for NFT contracts assigns a token contract to its transfer manager based on the ERC-721 interfaced, or other sets of rules if the contract is non-compliant (through a dedicated mapping).
The Royalty manager provides a stand-alone logic that tells how royalties should be collected. It supports ERC-2981 ("NFT Royalty Standard"), its own stand-alone royalty registry, with plans to support future third-party royalty fee oracles.