2020-01-07 17:17:27 +00:00
|
|
|
<!--
|
|
|
|
order: 3
|
|
|
|
-->
|
|
|
|
|
|
|
|
# Messages
|
|
|
|
|
|
|
|
## Bidding
|
|
|
|
|
|
|
|
Users can bid on auctions using the `MsgPlaceBid` message type. All auction types can be bid on using the same message type.
|
|
|
|
|
|
|
|
```go
|
|
|
|
// MsgPlaceBid is the message type used to place a bid on any type of auction.
|
|
|
|
type MsgPlaceBid struct {
|
|
|
|
AuctionID uint64
|
|
|
|
Bidder sdk.AccAddress
|
|
|
|
Bid sdk.Coin
|
|
|
|
Lot sdk.Coin
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
**State Modifications:**
|
|
|
|
|
|
|
|
* Update bidder if different than previous bidder
|
2020-01-09 16:09:19 +00:00
|
|
|
* For Surplus auctions:
|
2020-01-07 17:17:27 +00:00
|
|
|
* Update Bid Amount
|
|
|
|
* Return bid coins to previous bidder
|
|
|
|
* Burn coins equal to the increment in the bid (CurrentBid - PreviousBid)
|
2020-01-09 16:09:19 +00:00
|
|
|
* For Debt auctions:
|
2020-01-07 17:17:27 +00:00
|
|
|
* Update lot amount
|
|
|
|
* Return bid coins to previous bidder
|
2020-01-09 16:09:19 +00:00
|
|
|
* For Collateral auctions:
|
2020-01-07 17:17:27 +00:00
|
|
|
* Return bid coins to previous bidder
|
|
|
|
* If in forward phase:
|
|
|
|
* Update bid amount
|
|
|
|
* If in reverse phase:
|
|
|
|
* Update lot amount
|
|
|
|
* Extend auction by `BidDuration`, or `MaxEndTime`
|