Messages

Bidding

Users can bid on auctions using the MsgPlaceBid message type. All auction types can be bid on using the same message type.

// MsgPlaceBid is the message type used to place a bid on any type of auction.
type MsgPlaceBid struct {
	AuctionID uint64
	Bidder    sdk.AccAddress
	Amount    sdk.Coin
}

State Modifications:

  • Update bidder if different than previous bidder
  • For Surplus auctions:
    • Update Bid to msg.Amount
    • Return bid coins to previous bidder
    • Burn coins equal to the increment in the bid (CurrentBid - PreviousBid)
  • For Debt auctions:
    • Update Lot amount to msg.Amount
    • Return bid coins to previous bidder
  • For Collateral auctions:
    • Return bid coins to previous bidder
    • If in forward phase:
      • Update Bid amount to msg.Amount
    • If in reverse phase:
      • Update Lot amount to msg.Amount
  • Extend auction by BidDuration, up to MaxEndTime