event AuctionInitialized(
bytes32 indexed auctionId,
address indexed lender,
address collateralToken,
uint256 amount,
uint96 startPrice,
uint96 floorPrice,
uint40 deadline
);
event AuctionActivated(bytes32 indexed auctionId);
event BidAttempted(
bytes32 indexed auctionId,
address indexed solver,
uint96 currentPrice
);
event ComplianceCheckStarted(
bytes32 indexed auctionId,
address indexed solver,
address registry
);
event ComplianceChecked(
bytes32 indexed auctionId,
address indexed solver,
bool passed
);
event BidRejected(
bytes32 indexed auctionId,
address indexed solver,
bytes32 reason
);
event SettlementStarted(
bytes32 indexed auctionId,
bytes32 adapter
);
event SettlementPulled(
bytes32 indexed auctionId,
address from,
address to,
uint96 amount,
bytes4 purpose // "lender" | "fee"
);
event SettlementDistributed(
bytes32 indexed auctionId,
uint96 toLender,
uint96 toFeeRecipient
);
event SettlementPushed(
bytes32 indexed auctionId,
address indexed solver,
uint256 collateralAmount
);
event AuctionSettled(
bytes32 indexed auctionId,
address indexed solver,
uint96 clearingPrice,
uint96 lenderProceeds,
uint96 protocolFee
);
event AuctionEnded(
bytes32 indexed auctionId,
uint8 status // Failed | Cancelled
);