FraktalFactory.sol

Overview

ERC-721 & ERC-1155 contracts, this contract is being used for saving gas on deployments and simplify deployments

  • FraktalFactory contract is ownable by ERC-1155 and ERC-721 NFT token holders

  • EnumberableMap - contains key value of data type which can be iterated - implementation address & revenue channel implementation

  • Import new data type ERC-721 with token address and token index

  • Import new data type ERC-1155 with token address and token index

  • reference arrays - mapping function Events which contract can do:

  • Minted - needs to contain: creator’s address, URL to IPFS, token address, token ID of the NFT hashed by uint256

  • ERC721Locked - needs to contain: locker address, token address, fraktal address, token ID hashed by uint256

  • ERC721UnLocked - needs to contain: owner address, token ID hashed by uint256, collateral NFT address, index hashed by uint256

  • ERC1155Locked - needs to contain: locker address, token address, fraktal address, token ID hashed by uint256

  • ERC1155UnLocked - needs to contain: owner address, token ID hashed by uint256, collateral NFT address, index hashed by uint256

  • RevenuesProtocolUpgraded - need to contain: New Address

  • FraktalProtocolUpgraded - needs to contain: New Address

  • Constructor intializes state variables of a contract - implementation address and revenue channel implementation. Fraktalimplementation = _implementation; revenueChannelImplementation = _revenueChannelImplementation;

Admin functions

  • create new fraktal implementation with owner using new address. Upgrade Fraktal protocol

  • set revenue implementation with owner using new address. Upgrade Revenue protocol

User functions

  • Mint fractionalised NFT

  • Import NFT as ERC-721 and fractionalise it

  • Import NFT as ERC-1155 and fractionalise it

  • Claim NFT as ERC-721

  • Claim NFT as ERC-1155

Getter functions: getFraktalAddress, getERC721Collateral, getERC1155Collateral, getFraktalsLength

Last updated