English Periodic Auction
EnglishPeriodicAuctionInternal
_initializeAuction
function _initializeAuction(address repossessor, address initialBidder, uint256 initialPeriodStartTime, uint256 initialPeriodStartTimeOffset, uint256 startingBid, uint256 auctionLengthSeconds, uint256 minBidIncrement, uint256 bidExtensionWindowLengthSeconds, uint256 bidExtensionSeconds) internal
Initialize parameters
_setAuctionParameters
function _setAuctionParameters(address repossessor, uint256 auctionLengthSeconds, uint256 minBidIncrement, uint256 bidExtensionWindowLengthSeconds, uint256 bidExtensionSeconds, uint256 startingBid) internal
Set auction parameters
_isInitialized
function _isInitialized() internal view returns (bool)
Check if initialized
_startingBid
function _startingBid() internal view returns (uint256)
Get starting bid
_repossessor
function _repossessor() internal view returns (address)
Get repossessor
_setRepossessor
function _setRepossessor(address repossessor) internal
Set repossessor
_initialPeriodStartTime
function _initialPeriodStartTime() internal view returns (uint256)
Get initial period start time
_auctionLengthSeconds
function _auctionLengthSeconds() internal view returns (uint256)
Get auction length
_setStartingBid
function _setStartingBid(uint256 startingBid) internal
Set starting bid
_setAuctionLengthSeconds
function _setAuctionLengthSeconds(uint256 auctionLengthSeconds) internal
Set auction length
_minBidIncrement
function _minBidIncrement() internal view returns (uint256)
Get minimum bid increment
_setMinBidIncrement
function _setMinBidIncrement(uint256 minBidIncrement) internal
Set minimum bid increment
_bidExtensionWindowLengthSeconds
function _bidExtensionWindowLengthSeconds() internal view returns (uint256)
Get bid extension window length
_setBidExtensionWindowLengthSeconds
function _setBidExtensionWindowLengthSeconds(uint256 bidExtensionWindowLengthSeconds) internal
Set bid extension window length
_bidExtensionSeconds
function _bidExtensionSeconds() internal view returns (uint256)
Get bid extension
_setBidExtensionSeconds
function _setBidExtensionSeconds(uint256 bidExtensionSeconds) internal
Set bid extension
_initialBidder
function _initialBidder() internal view returns (address)
Get initial bidder
_highestBid
function _highestBid(uint256 tokenId, uint256 round) internal view returns (struct IEnglishPeriodicAuctionInternal.Bid)
Get highest outstanding bid
_bidOf
function _bidOf(uint256 tokenId, uint256 round, address bidder) internal view returns (struct IEnglishPeriodicAuctionInternal.Bid)
Get bid for address
_isAuctionPeriod
function _isAuctionPeriod(uint256 tokenId) internal view returns (bool)
Get is auction period
_isReadyForTransfer
function _isReadyForTransfer(uint256 tokenId) internal view returns (bool)
Is token ready for transfer
_currentAuctionRound
function _currentAuctionRound(uint256 tokenId) internal view returns (uint256)
Get current auction round
_lockedCollateral
function _lockedCollateral(uint256 tokenId, address bidder) internal view returns (uint256)
Get locked collateral from all bids
_availableCollateral
function _availableCollateral(address bidder) internal view returns (uint256)
Get available collateral
_placeBid
function _placeBid(uint256 tokenId, address bidder, uint256 bidAmount, uint256 collateralAmount) internal
Place a bid
_cancelBid
function _cancelBid(uint256 tokenId, uint256 round, address bidder) internal
Cancel bid for current round if not highest bidder
_cancelAllBids
function _cancelAllBids(uint256 tokenId, address bidder) internal
Cancel bids for all rounds
_withdrawCollateral
function _withdrawCollateral(address bidder) internal
Withdraw collateral
_closeAuction
function _closeAuction(uint256 tokenId) internal
Close auction and trigger a transfer to the highest bidder
_auctionStartTime
function _auctionStartTime(uint256 tokenId) internal view returns (uint256 auctionStartTime)
Get auction start time
_auctionEndTime
function _auctionEndTime(uint256 tokenId) internal view returns (uint256 auctionEndTime)
Get auction end time
_calculateFeeFromBid
function _calculateFeeFromBid(uint256 bidAmount) internal view returns (uint256)
Calculate fee from bid
_checkBidAmount
function _checkBidAmount(uint256 bidAmount, uint256 feeAmount) internal view returns (bool)
Check that fee is within rounding error of bid amount
EnglishPeriodicAuctionStorage
Layout
struct Layout {
bool isInitialized;
address initialBidder;
uint256 startingBid;
address repossessor;
uint256 initialPeriodStartTime;
uint256 initialPeriodStartTimeOffset;
uint256 auctionLengthSeconds;
uint256 minBidIncrement;
uint256 bidExtensionWindowLengthSeconds;
uint256 bidExtensionSeconds;
mapping(uint256 => uint256) tokenInitialPeriodStartTime;
mapping(uint256 => uint256) lastPeriodEndTime;
mapping(uint256 => uint256) currentLicensePeriod;
mapping(uint256 => uint256) currentAuctionRound;
mapping(uint256 => uint256) currentAuctionLength;
mapping(uint256 => mapping(uint256 => mapping(address => struct IEnglishPeriodicAuctionInternal.Bid))) bids;
mapping(uint256 => mapping(uint256 => struct IEnglishPeriodicAuctionInternal.Bid)) highestBids;
mapping(address => uint256) availableCollateral;
}
layout
function layout() internal pure returns (struct EnglishPeriodicAuctionStorage.Layout l)
IEnglishPeriodicAuctionInternal
Bid
struct Bid {
address bidder;
uint256 bidAmount;
uint256 feeAmount;
uint256 collateralAmount;
}
InitialPeriodStartTimeSet
event InitialPeriodStartTimeSet(uint256 initialPeriodStartTime)
RepossessorSet
event RepossessorSet(address repossessor)
AuctionLengthSet
event AuctionLengthSet(uint256 auctionLengthSeconds)
MinBidIncrementSet
event MinBidIncrementSet(uint256 minBidIncrement)
BidExtensionWindowLengthSet
event BidExtensionWindowLengthSet(uint256 bidExtensionWindowLengthSeconds)
BidExtensionSet
event BidExtensionSet(uint256 bidExtensionSeconds)
StartingBidSet
event StartingBidSet(uint256 startingBid)
BidPlaced
event BidPlaced(uint256 tokenId, uint256 round, address bidder, uint256 bidAmount)
AuctionClosed
event AuctionClosed(uint256 tokenId, uint256 round, address winningBidder, address previousOwner, uint256 bidAmount)
IPeriodicAuctionReadable
isAuctionPeriod
function isAuctionPeriod(uint256 tokenId) external view returns (bool)
Get is auction period
initialPeriodStartTime
function initialPeriodStartTime() external view returns (uint256)
Get initial period start time
initialBidder
function initialBidder() external view returns (address)
Get initial bidder
IPeriodicAuctionWritable
setRepossessor
function setRepossessor(address _repossessor) external
Set repossessor
setAuctionLengthSeconds
function setAuctionLengthSeconds(uint256 _auctionLengthSeconds) external
Set auction length
setMinBidIncrement
function setMinBidIncrement(uint256 _minBidIncrement) external
Set minimum bid increment
setBidExtensionWindowLengthSeconds
function setBidExtensionWindowLengthSeconds(uint256 _bidExtensionWindowLengthSeconds) external
Set bid extension window length
setBidExtensionSeconds
function setBidExtensionSeconds(uint256 _bidExtensionSeconds) external
@notice Set bid extension seconds
EnglishPeriodicAuctionFacet
COMPONENT_ROLE
bytes32 COMPONENT_ROLE
initializeAuction
function initializeAuction(address repossessor_, address initialBidder_, uint256 initialPeriodStartTime_, uint256 initialPeriodStartTimeOffset_, uint256 startingBid_, uint256 auctionLengthSeconds_, uint256 minBidIncrement_, uint256 bidExtensionWindowLengthSeconds_, uint256 bidExtensionSeconds_) external
Initialize auction parameters
initializeAuction
function initializeAuction(address owner_, address repossessor_, address initialBidder_, uint256 initialPeriodStartTime_, uint256 initialPeriodStartTimeOffset_, uint256 startingBid_, uint256 auctionLengthSeconds_, uint256 minBidIncrement_, uint256 bidExtensionWindowLengthSeconds_, uint256 bidExtensionSeconds_) external
Initialize auction parameters with owner
setAuctionParameters
function setAuctionParameters(address repossessor_, uint256 auctionLengthSeconds_, uint256 minBidIncrement_, uint256 bidExtensionWindowLengthSeconds_, uint256 bidExtensionSeconds_, uint256 startingBid_) external
Set auction parameters
startingBid
function startingBid() external view returns (uint256)
Get starting bid
isAuctionPeriod
function isAuctionPeriod(uint256 tokenId) external view returns (bool)
Get is auction period
initialPeriodStartTime
function initialPeriodStartTime() external view returns (uint256)
Get initial period start time
initialBidder
function initialBidder() external view returns (address)
Get initial bidder
isReadyForTransfer
function isReadyForTransfer(uint256 tokenId) external view returns (bool)
Is token ready for transfer
placeBid
function placeBid(uint256 tokenId, uint256 bidAmount) external payable
Place a bid
cancelBid
function cancelBid(uint256 tokenId, uint256 round) external
Cancel bid for current round
withdrawCollateral
function withdrawCollateral() external
Withdraw collateral
cancelAllBidsAndWithdrawCollateral
function cancelAllBidsAndWithdrawCollateral(uint256 tokenId) external
Cancel all bids and withdraw collateral
cancelBidAndWithdrawCollateral
function cancelBidAndWithdrawCollateral(uint256 tokenId, uint256 round) external
Cancel bid for current round and withdraw collateral
lockedCollateral
function lockedCollateral(uint256 tokenId, address bidder) external view returns (uint256)
Get locked collateral from all bids
availableCollateral
function availableCollateral(address bidder) external view returns (uint256)
Get available collateral
closeAuction
function closeAuction(uint256 tokenId) external
Close auction and trigger a transfer to the highest bidder
calculateFeeFromBid
function calculateFeeFromBid(uint256 bidAmount) external view returns (uint256)
Calculate fee from bid
auctionStartTime
function auctionStartTime(uint256 tokenId) external view returns (uint256)
Get auction start time
auctionEndTime
function auctionEndTime(uint256 tokenId) external view returns (uint256)
Get auction end time
repossessor
function repossessor() external view returns (address)
Get repossessor
setStartingBid
function setStartingBid(uint256 startingBid_) external
Set starting bid
setRepossessor
function setRepossessor(address repossessor_) external
Set repossessor
auctionLengthSeconds
function auctionLengthSeconds() external view returns (uint256)
Get auction length
setAuctionLengthSeconds
function setAuctionLengthSeconds(uint256 auctionLengthSeconds_) external
Set auction length
minBidIncrement
function minBidIncrement() external view returns (uint256)
Get minimum bid increment
setMinBidIncrement
function setMinBidIncrement(uint256 minBidIncrement_) external
Set minimum bid increment
bidExtensionWindowLengthSeconds
function bidExtensionWindowLengthSeconds() external view returns (uint256)
Get bid extension window length
setBidExtensionWindowLengthSeconds
function setBidExtensionWindowLengthSeconds(uint256 bidExtensionWindowLengthSeconds_) external
Set bid extension window length
bidExtensionSeconds
function bidExtensionSeconds() external view returns (uint256)
@notice Get bid extension seconds
setBidExtensionSeconds
function setBidExtensionSeconds(uint256 bidExtensionSeconds_) external
@notice Set bid extension seconds
highestBid
function highestBid(uint256 tokenId) external view returns (struct IEnglishPeriodicAuctionInternal.Bid)
Get highest outstanding bid
highestBid
function highestBid(uint256 tokenId, uint256 round) external view returns (struct IEnglishPeriodicAuctionInternal.Bid)
Get highest outstanding bid for a particular round
bidOf
function bidOf(uint256 tokenId, address bidder) external view returns (struct IEnglishPeriodicAuctionInternal.Bid)
Get bid for address
bidOf
function bidOf(uint256 tokenId, uint256 round, address bidder) external view returns (struct IEnglishPeriodicAuctionInternal.Bid)
Get bid for address for particular round
currentAuctionRound
function currentAuctionRound(uint256 tokenId) external view returns (uint256)
Get current auction round