0VIX Docs
Search
K
Comment on page

Key Events

This page describes the events 0vix emits when core protocol functions are called
Event
Underlying function
Description
Mint(address minter, uint mintAmount, uint mintTokens)
function mint(uint mintAmount)
returns (uint)
Emitted when a user mints or deposits an asset into the protocol. The asset starts earning interest at the current supply rate. In return, the user is given oTokens, calculated by dividing the supplied tokens by the current Exchange Rate.
Redeem(address redeemer, uint redeemAmount, uint redeemTokens)
function redeem(uint redeemTokens)
returns (uint)
Emitted when a user exchange oTokens for the underlying asset based on the current Exchange Rate. The received asset amount is determined by multiplying the oTokens redeemed by the Exchange Rate. The redemption must not exceed the user's Account Liquidity or the market's available liquidity.
Redeem(address redeemer, uint redeemAmount, uint redeemTokens)
function redeemUnderlying(uint redeemAmount)
returns (uint)
The redeem underlying function enables users to exchange oTokens for a specified amount of the underlying asset based on the current Exchange Rate. The oTokens redeemed are determined by dividing the received asset amount by the Exchange Rate. The redemption must not exceed the user's Account Liquidity or the market's available liquidity.
Borrow(address borrower, uint borrowAmount, uint accountBorrows, uint totalBorrows)
function borrow(uint borrowAmount)
returns (uint)
Emitted when a user obtains an asset from the protocol, creating a balance that accrues interest at the borrow rate. The borrowed amount must not exceed the user's account liquidity or the market's available liquidity. To borrow Matic, the borrower must meet the 'payable' requirement in Solidity.
RepayBorrow(address payer, address borrower, uint repayAmount, uint accountBorrows, uint totalBorrows)
function repayBorrow(uint repayAmount)
returns (uint)
Emitted when a user transfers an asset into the protocol, reducing the user’s borrow balance.
RepayBorrow(address payer, address borrower, uint repayAmount, uint accountBorrows, uint totalBorrows)
function repayBorrowBehalf(address borrower, uint repayAmount)
returns (uint)
Emitted when users deposit an asset into the protocol, which reduces the target user's outstanding borrow balance.
LiquidateBorrow(address liquidator, address borrower, uint repayAmount, address oTokenCollateral, uint seizeTokens)
function liquidateBorrow(address borrower, uint amount, address collateral)
returns (uint)
Emitted when a user has negative account liquidity, they can be liquidated by other users to restore positive liquidity. Liquidators repay part or all of the borrower's debt and receive discounted collateral as a liquidation incentive. Liquidators can close a fixed percentage of the outstanding borrow and they must interact with each oToken contract to repay and seize collateral. Upon seizing collateral, liquidators receive oTokens, which can be redeemed like supplied assets. Liquidators must approve each oToken contract before initiating liquidation.