AccountingEngine). Bidders submit increasing amounts of protocol tokens and the winner receives all auctioned surplus in exchange for their coins which are burned or transferred to another address.
contractEnabled- settlement flag (available only in the pre-settlement surplus auction house)
AUCTION_HOUSE_TYPE- flag set to
authorizedAccounts[usr: address]- addresses allowed to call
bids[id: uint]- storage of all
safeEngine- storage of the
protocolToken- address of the protocol token
auctionsStarted- total auction count
bidDuration- bid lifetime / max bid duration (default: 3 hours)
bidIncrease- minimum bid increase (default: 5%)
totalAuctionLength- maximum auction duration (default: 2 days)
protocolTokenBidReceiver- receiver of protocol tokens after an auction is settled. Only present in the
Bid- state of a specific auction
bidAmount- quantity being offered for the
amountToSell- amount of surplus sold
auctionDeadline- when the auction will finish
isAuthorized- checks whether an address is part of
authorizedAddresses(and thus can call authed functions).
uint256 data)- update a
address addr)- update an
addressparameter. Only present in the
initialBid: uint256)- start a new surplus auction.
restartAuction(id: uint256)- restart an auction if there have been 0 bids and the
bid: uint256)- submit a bid with an increasing amount of protocol tokens for a fixed amount of system coins.
disableContract()- disable the contract.
settleAuction(id: uint256)- claim a winning bid / settles a completed auction.
terminateAuctionPrematurely(id: uint256)- is used in case Governance wishes to upgrade (only) the
PreSettlementSurplusAuctionHouseor in case
GlobalSettlementis triggered. It settles
increaseBidSizephase auctions, sending back the protocol tokens submitted by the
AddAuthorization- emitted when a new address becomes authorized. Contains:
account- the new authorized account
RemoveAuthorization- emitted when an address is de-authorized. Contains:
account- the address that was de-authorized
ModifyParameters- emitted after a parameter is modified
RestartAuction- emitted after an auction is restarted. Contains:
id- the ID of the auction being restarted
auctionDeadline- the new auction deadline
IncreaseBidSize- emitted when someone bids a higher amount of protocol tokens for the same amount of system coins. Contains:
id- the ID of the auction that's being bid on
highBidder- the new high bidder
amountToBuy- the amount of system coins to buy
bid- the amount of protocol tokens bid
bidExpiry- the new deadline when the auction will end which can be before the original
StartAuction- emitted when
uint256)is successfully executed. Contains:
id- auction id
auctionsStarted- total amount of auctions that have started up until now
amountToSell- amount of system coins sold in the auction.
initialBid- starting bid for the auction
auctionDeadline- the auction's deadline
SettleAuction- emitted after an auction is settled. Contains:
id- the ID of the auction that was settled
DisableContract- emitted after the contract is disabled
TerminateAuctionPrematurely- emitted after an auction is terminated before its deadline. Contains:
id- the ID of the auction that was terminated
sender- the address that terminated the auction
highBidder- the auction's high bidder
bidAmount- the latest bid amount
amountToSellof system coins with increasing
bidAmounts of protocol tokens.
bidDuration) without another bid getting placed or when the auction duration (
totalAuctionLength) has been surpassed. When the auction settles, the protocol tokens received are burnt in the case of a
BurningSurplusAuctionHouseor transferred to a separate address in the case of
disableContract, anyone can call
terminateAuctionPrematurelyin order to quickly settle an auction and return the protocol token bid to the