Auction House
The Auction House contract is the center of the Axis system. It is split into two variants, reflecting the two types of auctions: Atomic Auction House and Batch Auction House.
Each Auction House is a singleton contract that users can interact with to perform most actions within the system. It implements the core logic for these key features:
- Creation and cancellation of Auctions
- Installation, upgrade, and administration of modules
- Fee management and allocation to the protocol, referrers, and curators
- Custodying and transfer of funds
- Atomic Auction House
- Purchases
- Batch Auction House
- Bids
- Refunds
- Bid claims
- Settlement
The Auction House is designed to handle common functionality required for the Auction Type it is implemented for, such as receiving payments and sending out proceeds. However, it does implement any pricing logic to determine the outcome of auctions. This is left to the Auction Modules which implement specific Auction Formats and are installed on the Auction House.