Events Reference
Complete list of events emitted by RevvFi’s core contracts, taken directly from RevvFiEvents.sol.
Factory Events
event MarketDeployed(
address indexed market,
address indexed borrower,
address borrowAsset,
address collateralAsset,
address collateralOracle,
uint256 timestamp
);
event FeeUpdated(uint256 oldFee, uint256 newFee);
event ArchControllerUpdateRequested(address indexed newArchController);
event ArchControllerUpdated(address indexed oldArchController, address indexed newArchController);Market Events
event Borrow(address indexed borrower, uint256 amount, uint256 weightedApr);
event Repay(address indexed borrower, uint256 amount, uint256 interestPortion, uint256 principalPortion);
event DrawdownExecuted(uint256 totalAmount, uint256 weightedApr, uint256[] positionIds);
event MarketClosedEvent(address indexed borrower, uint256 timestamp);
event PositionLiquidated(uint256 indexed positionId, address indexed liquidator, uint256 auctionId);
// Emitted per-position on a partial repayment where the position stays active
event LenderRepaid(address indexed lender, uint256 indexed positionId, uint256 newPrincipal, uint256 claimableShare);
// Emitted by claimFunds() for a still-active position (vs. PositionSettled for a fully-closed one)
event PositionClaimed(uint256 indexed positionId, address indexed lender, uint256 amount);
event PositionSettled(uint256 indexed positionId, uint256 principalAmount, uint256 interestAmount);
event LiquidationStartedMarket(address indexed borrower);
event LiquidationEndedMarket(address indexed borrower);
event GuardianUpdated(address indexed oldGuardian, address indexed newGuardian);When each fires:
Borrow/DrawdownExecuted— a successfulborrow()call;weightedApris the blended rate across the fill, used only for themaxAprcheck (see Matching Engine) — it is not what any individual position accrues at.Repay— arepay()/repayFull()call.LenderRepaid— once per still-active position affected by a partial repayment;claimableShareis the incremental amount just credited (a position can receive several of these before ever being claimed).PositionClaimed— aclaimFunds()call against a position that’s still active (has remaining principal).PositionSettled— aclaimFunds()call against a position that has been fully settled (no principal remaining).
OfferBook Events
event OfferSubmitted(uint256 indexed offerId, address indexed lender, uint256 amount, uint256 apr, uint8 seniority, uint256 expiry);
event OfferCancelled(uint256 indexed offerId, address indexed lender, uint256 refundedAmount);
event OfferExpired(uint256 indexed offerId, address indexed lender, uint256 refundedAmount);
event OfferFilled(uint256 indexed offerId, address indexed lender, uint256 amountFilled);
event OfferModified(uint256 indexed offerId, uint256 newAmount, uint256 newApr, uint256 newDuration);
event DrawdownExecutedOffer(address indexed borrower, uint256 totalAmount, uint256 weightedApr);PositionNFT Events
event PositionMinted(uint256 indexed tokenId, address indexed lender, address indexed market, uint256 principal, uint256 apr, uint8 seniority);
event PositionBurned(uint256 indexed tokenId);
event PositionRedeemed(uint256 indexed tokenId, uint256 principalAmount, uint256 interestAmount);
event MarketRegistered(address indexed market);
event MarketUnregistered(address indexed market);CollateralEscrow Events
event CollateralDeposited(address indexed borrower, uint256 amount);
event CollateralWithdrawn(address indexed borrower, uint256 amount);
event CollateralLiquidated(address indexed borrower, uint256 collateralAmount, uint256 debtAmount);
event MinCollateralRatioUpdated(uint256 oldRatio, uint256 newRatio);
event LiquidationThresholdUpdated(uint256 oldThreshold, uint256 newThreshold);
event StalePriceThresholdUpdated(uint256 oldThreshold, uint256 newThreshold);
event LiquidationStarted(address indexed borrower);
event LiquidationEnded(address indexed borrower);Liquidator Events
event AuctionCreated(
uint256 indexed auctionId, address indexed market, address indexed borrower,
address borrowAsset, address collateralAsset,
uint256 collateralAmount, uint256 debtAmount, uint256 startTime, uint256 endTime
);
event BidPlaced(uint256 indexed auctionId, address indexed bidder, uint256 bidAmount, uint256 collateralAmount);
event AuctionSettled(
uint256 indexed auctionId, address indexed winner, address collateralAsset,
uint256 collateralAmount, uint256 bidAmount, uint256 debtRepaid
);
event AuctionCancelled(uint256 indexed auctionId);Reputation Events
event BorrowerRegistered(address indexed borrower);
event BorrowActivityRecorded(address indexed borrower, uint256 amount);
event SuccessfulRepaymentRecorded(address indexed borrower, uint256 amount);
event DefaultRecorded(address indexed borrower, uint256 originalDebt, uint256 recoveredAmount);
event ReputationScoreUpdated(address indexed borrower, uint256 oldScore, uint256 newScore);ArchController Events
event MarketAdded(address indexed controller, address market);
event MarketRemoved(address market);
event BorrowerAdded(address borrower);
event BorrowerRemoved(address borrower);
event AssetBlacklisted(address asset);
event AssetPermitted(address asset);
event ControllerAdded(address indexed controllerFactory, address controller);
event ControllerRemoved(address controller);
event ControllerFactoryAdded(address controllerFactory);
event ControllerFactoryRemoved(address controllerFactory);Next Steps
- Review Reference Overview for function signatures and error codes
- Check Deployment for where to find these events on-chain