Skip to content

Latest commit

 

History

History
43 lines (39 loc) · 2.47 KB

carnival_doc.org

File metadata and controls

43 lines (39 loc) · 2.47 KB

Carnival Design Doc

Next steps

which markets own which nfts

markets are defined by person, can choose to make new market or add to existing market

can define restriction that only when signed by a program, can an nft be withdrawn. like if true, then change delgate (probably to carnival auth, so then onlywhent he program interacts from carnival and does cpi, nft can be removed from market), if false don’t change delegate

in withdraw function specifically, need to add a program signer option, such that users can’t trade in their voucher for a delegate locked nft.

abilities

to see all existing markets, can look thoguh carnival market list, and pda using market index into market metadata (creator, seeds to sign as pda, etc)

to see all a markets a user has created, still do get multiple accounts, filter by owner

to see all the nfts in a market, can query all the accounts owned by exhibition, then look though delegates, if delegates exist, then a market owns

to withdraw nfts from the market, the nft’s deleate is checed with the market’s pubkey, if the market has singed, only then be able to withdraw

FUTURE

honor creator royalities

Overview

The goal is to make the NFT trading experience more liquid and easy to use, like Sudoswap

Sudoswap works by displaying a single marketplace for all nfts that belong to a collection. The marketplace is an aggregation of several, user-created markets (linear, exponential, and potentially AMM curves) that dictate how trading takes place. Users can provide both NFTs and SOL to allow for LP benefits, or just NFTs and SOL to provide one way trading.

Functionality

Get NFT

OFFER (floorbid) (make collection Offer in sudo)

allow user to make order for x NFTs for y ETH

BUY (sweep in sudo and magic)

Buy NFTs with Tokens

just choose x number of NFTs and buy

SELL NFT

LIST

list all NFT into market place

Market SELL

sell NFTs into existing bids

Liquidity

Allow people to post both sides of market, and collect trade fees

Search across collection

Architecture

Carnival Account

nfts

can make multiple smaller accounts (with seeds of market owner pubkey)
create token accounts for smaller accounts
can allow carnival to own all
mark nft depoistor as delegates (revoke delgation to make sure delagate value is 0)
After trade is completed, mark trades on DLL structure, once trade is settled, write to DLL, next transaction actually moves the NFTs