# Folia Contracts ## NFT ### Prior Art * [New Model Patches](https://github.com/bin-studio/new-models-contracts/blob/master/contracts/Patches.sol) (`solc v0.4.18`) * [NFT + Metadata Tutorial](https://github.com/okwme/block-workshop) (`solc v0.5.0`) * [Clovers Network](https://github.com/clovers-network/clovers-contracts/blob/master/contracts/v4/Clovers.sol) (`solc v0.4.18`) ### Attributes * External Metadata contract for updateable URLs * External Controller contract with the following permissions * `mint()` * `burn()` * Admin account address with the following permissions * `updateControllerAddress()` * `updateMetadataAddress()` * `updateAdminAddress()` * should come with a timeout period and event notification to prevent theft ## Controller ### Prior Art * [New Model Controller](https://github.com/bin-studio/new-models-contracts/blob/master/contracts/Patches.sol) (`solc v0.4.18`) * [Clovers Network Controller](https://github.com/clovers-network/clovers-contracts/blob/master/contracts/v5/CloversController.sol) (`solc v0.5.9`) ### Attributes * AdminBank address * to receive sales * Artworks * array of structs * Can register a new artwork * New ID * How many editions? * Price? * Artist's address? * could be admin's and they send it to them manually if artist doesn't want to deal with a wallet... * Can sell an artwork * Sale is split between artist and adminBank * Mints token * Marks as minted