MoonSHRD / UniversalNFTMarketplace

Universal NFT Marketplace
Other
9 stars 0 forks source link

Licenceship (final task) #117

Closed JackBekket closed 2 years ago

JackBekket commented 2 years ago

The last task we need to fulfill before main-net release is licenceship

WARN -- DO THIS TASK ONLY AFTER ALL TECHNICAL DEBT IS SOLEVED

  1. Add LICENCE file to this repository. It should be standard business licence (see Uniswap V3 repo). It should prohibit usage of this software without buying our license.

It license will be change to MIT license after 3 year (2025) (again, see Uniswap V3 repo, just copy-pasted and change terms to ours)

  1. Using InterfaceRegistry utility contract get MSNFT, MetaMarketplace, Crowdsale, CurrenciesERC20 interface_id. Create file contract_interfaces.txt and store there interface ids.

  2. Create ERC20 token with name "BlackMark" (🏴‍☠️). Override transfers functions, making simple transfers impossible It should contain Mint and Burn functions It should contain mapping (address => bool) administrators It should contain access modificators (just like Ownable.sol but should work with a few admins (not just owner)

  3. Create an NFT with our LICENSE file and fixed(?) price, unlimitted rarity

  4. Create Judge contract. It should have check function, which check if:

    • address suports one of our interfaces
    • address have this NFT bought, and if not, then issue BlackMark ERC20 to this address.