*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