Skip to content

Auction Module Overview

Eg edited this page Jun 2, 2021 · 4 revisions

Auction Module

NFT market for Cosmos Gaming Hub
Final Image Ex: https://opensea.io/

Requirements

Functions

  • fixed price order and royalty (implemented in affondra)
    • CreateItemMsg
    type MsgCreateItem struct {
      ID          string
      Creator     sdk.AccAddress `json:"creator" yaml:"creator"`
      Denom       string         `json:"denom" yaml:"denom"`
      NftId       string         `json:"nftId" yaml:"nftId"`
      Price       sdk.Coin       `json:"price" yaml:"price"`
      Affiliate   sdk.Coin       `json:"affiliate" yaml:"affiliate"`
      Description string         `json:"description" yaml:"description"`
      InSale      bool           `json:"inSale" yaml:"inSale"`
    }
    • BuyItemMsg
    type MsgBuyItem struct {
      ID           string         `json:"id" yaml:"id"`
      Receiver     sdk.AccAddress `json:"receiver" yaml:"receiver"`
      IntroducedBy sdk.AccAddress `json:"introduced_by" yaml:"introduced_by"`
    }

If someone buy an item in a market, then the person should pay for the royalty as a market fee.

  • Auction

    • StartAuction
    type StartAuctionMsg struct {
      AuctionID   string
      Creator     sdk.AccAddress 
      Denom       string         
      NftId       string        
      MinPrice    sdk.Coin     
      Affiliate   sdk.Coin       
      Description string       
      Expire      int64 # Block Number
    }
    • TenderAuction
    type TenderAuctionMsg struct {
      AuctionID   string
      Price       sdk.Coin 
    }
  • Offer

    type SendOfferMsg struct {
      OfferID     string
      ItemID      string
      Sender      sdk.AccAddress    
      OfferPrice  sdk.Coin     
      Expire      int64 # Block Number
      IsValid     bool
    }
    type AcceptOfferMsg struct {
      OfferID    string
    }

Tx

Query

Clone this wiki locally