The last task we need to fulfill before main-net release is licenceship
WARN -- DO THIS TASK ONLY AFTER ALL TECHNICAL DEBT IS SOLEVED
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)
Using InterfaceRegistry utility contract get MSNFT, MetaMarketplace, Crowdsale, CurrenciesERC20 interface_id. Create file contract_interfaces.txt and store there interface ids.
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)
Create an NFT with our LICENSE file and fixed(?) price, unlimitted rarity
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.
The last task we need to fulfill before main-net release is licenceship
WARN -- DO THIS TASK ONLY AFTER ALL TECHNICAL DEBT IS SOLEVED
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)
Using InterfaceRegistry utility contract get MSNFT, MetaMarketplace, Crowdsale, CurrenciesERC20 interface_id. Create file contract_interfaces.txt and store there interface ids.
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 likeOwnable.sol
but should work with a few admins (not just owner)Create an NFT with our LICENSE file and fixed(?) price, unlimitted rarity
Create
Judge
contract. It should havecheck
function, which check if: