0VIX Docs
  • 0VIX
  • Research & Risk Assessment
  • DAO
    • Legal set up
    • Governance - DAO charter
  • Core Protocol
    • Supply
      • Supply Assets
      • Earning
    • Borrow
      • Borrowing Assets
      • Repayments
      • Health Factor
    • Loan Liquidation
    • oToken
  • Developers
    • Protocol Parameters
    • Contract Addresses
      • Mumbai
      • PoS
      • zkEVM
    • $VIX Pre-mining
      • $VIX Pre-mining APRs
    • Key Events
    • Exchange Rate
  • Support
    • FAQ
    • Supported Assets
    • Video Tutorials
  • References
    • Audits
    • Social Media Links
    • Brand Assets
Powered by GitBook
On this page

Was this helpful?

  1. Developers

Key Events

This page describes the events 0vix emits when core protocol functions are called

Previous$VIX Pre-mining APRsNextExchange Rate

Last updated 2 years ago

Was this helpful?

Event
Underlying function
Description

Mint(address minter, uint mintAmount, uint mintTokens)

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 .

Redeem(address redeemer, uint redeemAmount, uint redeemTokens)

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 . The redemption must not exceed the user's Account Liquidity or the market's available liquidity.

Redeem(address redeemer, uint redeemAmount, uint redeemTokens)

The redeem underlying function enables users to exchange oTokens for a specified amount of the underlying asset based on the current . The oTokens redeemed are determined by dividing the received asset amount by the . 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)

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)

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)

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)

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.

function mint(uint mintAmount) 
returns (uint)
function redeem(uint redeemTokens) 
returns (uint)
function redeemUnderlying(uint redeemAmount) 
returns (uint)
function borrow(uint borrowAmount) 
returns (uint)
function repayBorrow(uint repayAmount) 
returns (uint)
function repayBorrowBehalf(address borrower, uint repayAmount) 
returns (uint)
function liquidateBorrow(address borrower, uint amount, address collateral) 
returns (uint)
Exchange Rate
Exchange Rate
Exchange Rate
Exchange Rate