• Stars
    star
    168
  • Rank 225,507 (Top 5 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 3 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Shoyu contracts

Shoyu: Sushi NFT Exchange and Launchpad

We are looking to create an NFT platform that focuses on artists and creators needs to push the space forward. Current NFTs are limited by file format and sizing for artist and their creative abilities. Design wise we want the platform to be beautiful, functional and have that Japanese sensibility and aesthetic. We want artists and creators to be able to create NFTs that they are unable to make on other platforms. For collectors a beautiful place to curate and showcase their digital art.

Deployments

Mainnet

Rinkeby

Kovan

Features

1 Social Token

SocialTokens are built around an “ownership economy” principle with the premise that a community will be more valuable tomorrow than today. Creators can monetize their work as a non-fungible token (NFT) or social token, and supporters can give something back to show their loyalty.

1.1 Minting

Owner of the social token can mint a certain amount of tokens for an account, proportional to the contribution he's committed. The amount of the contribution will be observed off-chain by the owner.

1.2 Burning

Any holder of the social token can burn his/her own balance with a memo(bytes32). This can be used for a variety of scenarios such as a. burn-and-enter, b. burn-and-receive or c. burn-and-draw.

  • burn-and-enter: Users burn their tokens and get the entrance permission to a gallery, exhibition or a concert.
  • burn-and-receive: Users burn their tokens and leave their address. Then the artist delivers the merch or the product to their front door.
  • burn-and-draw: Users burn their tokens and get a lottery ticket. It can be designed such that the more he burns, the higher the chance to win the lottery.

1.3 Revenue Sharing

As an artist or a seller, the owner of the social token can make revenue and set the recipient to the holders of the social token. The revenue will then be distributed to the holders in proportion to the shares.

2 NFT-as-Exchange

Shoyu's ERC-721 and ERC-1155 contracts are equipped with NFT exchange functionality in themselves(NFT721 and NFT1155 respectively). This is the cheapest way to optimize gas and give the owner the full power to change configs needed for trades.

2.1 On-chain & Off-chain OrderBook

To optimize gas cost when submitting sell order, orders are kept off-chain basically. When an account wants to buy the nft, he can pick the order with the maker's signature(ERC-712) and execute it with a proper bid params such as the price.

It also supports on-chain order book, so you could submit ask orders. This feature was designed for contracts not EOAs. e.g.) If you're running a dao for NFTs, then contracts should be able to submit orders.

2.2 Variant Bidding Strategies

Strategies are separate from exchange contracts, so a variety of strategies can be plugged in to meet the seller's demand. Supported strategies are: a. FixedPriceSale, b. EnglishAuction and c. DutchAuction.

  • Fixed Price Sale: The first buyer who pays for the fixed price gets the NFT.

  • English Auction: An English auction is a process in which an asset is sold through a suggested opening bid reserve or a starting price that is set by the seller. Increasingly higher bids are accepted from the gamut of buyers. Ultimately, the price is adjusted in a direction that's unfavorable to the bidders.

  • Dutch Auction: A Dutch auction is a market structure in which the price of something offered is determined after taking in all bids to arrive at the highest price at which the total offering can be sold. In this type of auction, investors place a bid for the amount they are willing to buy in terms of quantity and price.

2.3 Royalties Distribution

NFT royalties give the owner a percentage of the sale price each time their NFT creation is sold on Shoyu. They can choose their royalty percentage(0-25%).

2.4 Charity Fund

Among the royalties they get, they can decide how much will go to the charity fund vault. This vault is managed by a multisig wallet operated by Sushi team.

2.5 NFT Tagging

NFTs can be categorised and tagged to allow better searching capabilities.

3 Fractional NFT Ownership & Governance

Fractional ownership allows users who have been previously priced out of certain NFTs or artists (such as Beeple) to be able to buy a piece of their work.

3.1 Liquidation

If you're holding a NFT721 token, you can call liquidate() function to turn your nft to a NFT721GovernanceToken (ERC-20) that's representing the value of your nft.

3.2 Governance

Token holders can vote for a sell proposal to run the NFT governance. If more than minimumQuorum balance power is for the proposal that were submitted, then it starts selling process; It could be an auction for a fixed price sale.

3.3 Profit Sharing

After the sale gets completed, the profit is shared by the owners in proportional to their balances.

4 Others

4.1 Protocol Fee

2.5% fee is charged for every trade and it goes to xSUSHI holders.

4.2 Exchange for non-Shoyu NFTs

Even though Shoyu's NFTs is equipped with exchange features, there could be a need to sell NFTs that were minted outside of Shoyu. In that case, you could use NFT721Exchange and NFT1155Exchange contracts.

4.3 Factories

To optimize the gas required for contract deployments, Shoyu utilizes factory patter at its maximum extent. Provided factories are: NFT721GovernanceTokenFactory, NFTFactory, PaymentSplitterFactory, and SocialTokenFactory.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

More Repositories

1

sushiswap

Sushi 2.0 🍣
TypeScript
1,902
star
2

sushiswap-interface

🍣 An open source interface for the SushiSwap Protocol
TypeScript
372
star
3

trident

Rapid AMM Development Framework
TypeScript
231
star
4

bentobox

177
star
5

sushiswap-legacy-frontend

Legacy interface for Sushiswap (deprecated)
TypeScript
165
star
6

sushiswap-subgraph

Sushiswap Subgraph
150
star
7

kashi-lending

82
star
8

sushi-data

A utility to query for data on SushiSwap.
JavaScript
80
star
9

mirin

A Sushi AMM v3 implementation
Solidity
66
star
10

furo

53
star
11

sushiswap-settlement

Solidity contracts to enable limit orders on Sushiswap
Solidity
52
star
12

sushiswap-analytics

Analytics for the SushiSwap protocol
JavaScript
50
star
13

design-patterns

Curated collection of design patterns targeting the Solidity language
TypeScript
50
star
14

list

List
JavaScript
41
star
15

miso

Solidity
40
star
16

subgraphs

Sushi subgraphs
TypeScript
38
star
17

sdk

SDK
TypeScript
36
star
18

bentobox-strategies

Repository for BentoBox strategy implementations
Solidity
33
star
19

miso-random-nft

A library designed to create a random ERC721 drawing from an ERC20 (Miso token) using Chainlink VRF
Solidity
27
star
20

StakingContract

Solidity
25
star
21

sushiswap-exchange

Legacy interface for Sushiswap standalone exchange
TypeScript
23
star
22

sushixswap-v2

SushiXSwap V2
Solidity
23
star
23

sushiswap-lite

Expo App for https://lite.sushiswap.fi
TypeScript
21
star
24

mochi

defi-based organizations using sushi and bentobox
Solidity
20
star
25

limit-order

Solidity
17
star
26

v3-periphery

This repository contains the periphery smart contracts for the SushiSwap V3 Protocol.
TypeScript
16
star
27

hardhat-foundation

Hardhat foundation
TypeScript
16
star
28

meiji

Solidity
14
star
29

masterchef

This repository contains the core smart contracts for the MasterChefV1 & MasterChefV2 Protocols.
Solidity
13
star
30

sushixswap

This repository contains the core smart contracts for the SushiXSwap Protocol.
TypeScript
13
star
31

interface

Sushi Monorepo
TypeScript
12
star
32

bentobox-sdk

Deployed contracts, helper contract, js and ts bindings
Solidity
12
star
33

sushiswapV1

SushiswapV1
Solidity
12
star
34

sushiswap-zapper

Solidity
11
star
35

mev-router-devkit

TypeScript
11
star
36

sushi-vesting

Vesting stats and weekly updated merkle roots
11
star
37

v3-core

This repository contains the core smart contracts for the SushiSwap V3 Protocol.
TypeScript
11
star
38

v2-core

This repository contains the core smart contracts for the SushiSwap V2 Protocol.
Solidity
11
star
39

sushi-oracle

A adaptation on the uniswap-oracle
TypeScript
10
star
40

lsd-contracts

Contracts for the redemption of the $LSD token
Solidity
10
star
41

strategies

Strategies for BentoBox
Solidity
10
star
42

limit-order-relayer

TypeScript
9
star
43

contracts

Reusable contracts found throughout Sushi products
Solidity
9
star
44

sushi-docs

JavaScript
9
star
45

sushiswap-vision

SushiSwap History
JavaScript
9
star
46

Inari

Simple Sushi Zap contract
Solidity
9
star
47

.github

9
star
48

faucet

Faucet
TypeScript
7
star
49

hardhat-framework

JavaScript
7
star
50

sushiswap-classic

Classic interface for Sushiswap (maintained -> deprecating)
CSS
6
star
51

xsushi-exchange-rate

A contract to provide the exchange rate of xSushi to Sushi
JavaScript
5
star
52

unwindooor

TypeScript
5
star
53

sushi-vesting-protocols

Python
5
star
54

minichef-servers

MiniChef Servers
TypeScript
5
star
55

sushi-partner-portal

TypeScript
4
star
56

sushiswap-relayer

Automated relayer bot for sushiswap-settlement
TypeScript
4
star
57

bento-data

JavaScript
3
star
58

config

SushiSwap config monorepo
TypeScript
3
star
59

bentobox-stargate

Solidity
3
star
60

whitelist

Whitelist monorepo
JavaScript
2
star
61

hardhat-dotenv

Dotenv wrapper for Hardhat
TypeScript
2
star
62

sushi-content

Shared images and static content
2
star
63

bentobox-subgraph

TypeScript
2
star
64

art

Public branding assets for SushiSwap products
2
star
65

sips

Sushi Improvement Proposals
2
star
66

sake-landing

JavaScript
2
star
67

sushi-operations

Python
2
star
68

contribution-guidelines

Sushiswap contribution guidelines
2
star
69

kashi-analytics

TypeScript
2
star
70

sushi-aptos-contracts

Sushi Aptos Contract Modules
Move
2
star
71

default-market-list

SushiSwap default market list
1
star
72

gnosis-safe-app-sushi

JavaScript
1
star
73

hardhat-plugin-foundation

Hardhat plugin foundation
TypeScript
1
star
74

market-lists

The Market Lists specification
1
star
75

sushi-peripherals

Solidity
1
star
76

kashi-foundry

Solidity
1
star
77

auction-maker

Sushi Auction Maker
TypeScript
1
star
78

translations

1
star
79

sak3-snapshot

TypeScript
1
star
80

typescript-foundation

TypeScript foundation
JavaScript
1
star
81

kashi-tools

TypeScript
1
star