*This document is draft ie not finished. It will be updated when Shoyu contracts will be optimised.* # Shoyu contracts overview Shoyu is using both ERC-721 and ERC-1155 standards. Building custom solutions to the ERC standard by adding custom featuures which are optimised for the platform and usecase itself. These contract contains mocked contracts which are tests for the contracts Custom royalties - modified ERC2981 The structure: - main contract - 721 & 1155 - Exchange contract - for interacting with Exchanges - Differentiator - Base contracts - Payment splitter - Social token contract - Token factory contract - English Auction - Dutch Auction The contracts are open source on github,anyone can fork them. ----- Shoyu is curated NFT market platform combining Metaverse, AR and NFT Marketplace. Shoyu is built on ERC721 and ERC1155 contracts, it has a lot of custom features built into their contracts. Shoyu is curatated metaverse NFT platform. ## Contracts: ERC20 based contract Works as bidding contract Functions: - approveBidHash - approves bid - transfer - token transfer - cancel - cancel transfer if the bid is cancelled or claimed - updateAprrovedBidHash - update bid - bid - - strategy - allows you to modify the bidding params - revert - = bid failture - claim - claim bid - best bid - allows to claim bid - validate - validates transaction - transfer - fees and funds - transfer - token - royalty fee transfer Source: https://github.com/sushiswap/shoyu/blob/master/contracts/base/BaseExchange.sol -- Domain factory contract uses domain separator function for addresses can transfer token https://github.com/sushiswap/shoyu/blob/master/contracts/ERC721ExchangeV0.sol -- Is built from functions: - constructor - domain separator - trading function - token transfer Contract source: https://github.com/sushiswap/shoyu/blob/master/contracts/ERC1155ExchangeV0.sol -- Is build from: - Royalty functions - Basic token functions - transfer - Interface supporting functions Contract source: https://github.com/sushiswap/shoyu/blob/master/contracts/NFT721V0.sol -- Is built from: - Royalty functions - Interface supporting functions - Token transfer functions Contract source: https://github.com/sushiswap/shoyu/blob/master/contracts/NFT1155V0.sol -- The NFT721 contract has been locked - transfers can't happen until the contract gets unlocked https://github.com/sushiswap/shoyu/blob/master/contracts/NFT721V1.sol -- The NFT1155 contract has been locked - transfers can't happen until the contract gets unlocked https://github.com/sushiswap/shoyu/blob/master/contracts/NFT1155V1.sol