Skip to main content

IAtomicAuction

Git Source

Inherits: IAuction

Interface for atomic auctions

The implementing contract should define the following additional areas:

  • Any un-implemented functions
  • State variables for storage and configuration

Functions

purchase

Purchase tokens from an auction lot

The implementing function should handle the following:

  • Validate the purchase parameters
  • Store the purchase data
function purchase(
uint96 lotId_,
uint256 amount_,
bytes calldata auctionData_
) external returns (uint256 payout, bytes memory auctionOutput);

Parameters

NameTypeDescription
lotId_uint96The lot id
amount_uint256The amount of quote tokens to purchase
auctionData_bytesThe auction-specific data

Returns

NameTypeDescription
payoutuint256The amount of payout tokens to receive
auctionOutputbytesThe auction-specific output

payoutFor

Returns the payout for a given lot and amount

function payoutFor(uint96 lotId_, uint256 amount_) external view returns (uint256 payout);

Parameters

NameTypeDescription
lotId_uint96ID of the auction lot
amount_uint256Amount of quoteToken to purchase with (in native decimals)

Returns

NameTypeDescription
payoutuint256Amount of baseToken (in native decimals) to be received by the buyer

priceFor

Returns the price for a given lot and payout

function priceFor(uint96 lotId_, uint256 payout_) external view returns (uint256 price);

Parameters

NameTypeDescription
lotId_uint96ID of the auction lot
payout_uint256Amount of baseToken (in native decimals) to be received by the buyer

Returns

NameTypeDescription
priceuint256The purchase price in terms of the quote token

maxPayout

Returns the max payout for a given lot

function maxPayout(uint96 lotId_) external view returns (uint256 payout);

Parameters

NameTypeDescription
lotId_uint96ID of the auction lot

Returns

NameTypeDescription
payoutuint256The maximum amount of baseToken (in native decimals) that can be received by the buyer

maxAmountAccepted

Returns the max amount accepted for a given lot

function maxAmountAccepted(uint96 lotId_) external view returns (uint256 maxAmount);

Parameters

NameTypeDescription
lotId_uint96ID of the auction lot

Returns

NameTypeDescription
maxAmountuint256The maximum amount of quoteToken (in native decimals) that can be accepted by the auction