ICollateralManager

Functions

getVault

  function getVault(
  ) external returns (address)

Get the address of vault

Return Values:

NameTypeDescription

vault

address

address of vault

getClearingHouseConfig

  function getClearingHouseConfig(
  ) external returns (address)

Get the address of clearing house config

Return Values:

NameTypeDescription

clearingHouseConfig

address

address of clearing house config

getCollateralConfig

  function getCollateralConfig(
    address token
  ) external returns (struct Collateral.Config)

Get collateral config by token address

Parameters:

NameTypeDescription

token

address

address of token

Return Values:

NameTypeDescription

collateral

struct Collateral.Config

config

getPriceFeedDecimals

  function getPriceFeedDecimals(
    address token
  ) external returns (uint8)

Get price feed decimals of the collateral token

Parameters:

NameTypeDescription

token

address

address of token

Return Values:

NameTypeDescription

decimals

uint8

of the price feed

getPrice

  function getPrice(
    address token
  ) external returns (uint256)

Get the price of the collateral token

Parameters:

NameTypeDescription

token

address

address of token

Return Values:

NameTypeDescription

price

uint256

of the certain period

getMaxCollateralTokensPerAccount

  function getMaxCollateralTokensPerAccount(
  ) external returns (uint8)

Get the max number of collateral tokens per account

Return Values:

NameTypeDescription

max

uint8

number of collateral tokens per account

getMmRatioBuffer

  function getMmRatioBuffer(
  ) external returns (uint24)

Get the minimum margin ratio - mmRatio before the account's collateral is liquidatable

6 decimals, same decimals as _mmRatio

getDebtNonSettlementTokenValueRatio

  function getDebtNonSettlementTokenValueRatio(
  ) external returns (uint24)

Get the maximum debt / nonSettlementTokenValue before the account's collaterals are liquidated

6 decimals

getLiquidationRatio

  function getLiquidationRatio(
  ) external returns (uint24)

Get the maximum ratio of debt can be repaid in one transaction

6 decimals. For example, liquidationRatio = 50% means the liquidator can repay as much as half of the trader’s debt in one liquidation

Return Values:

NameTypeDescription

liquidation

uint24

ratio

getCLInsuranceFundFeeRatio

  function getCLInsuranceFundFeeRatio(
  ) external returns (uint24)

Get the insurance fund fee ratio when liquidating a trader's collateral

6 decimals. For example, clInsuranceFundFeeRatio = 5% means the liquidator will pay 5% of transferred settlement token to insurance fund

Return Values:

NameTypeDescription

insurance

uint24

fund fee ratio

getDebtThreshold

  function getDebtThreshold(
  ) external returns (uint256)

Get the default maximum debt (denominated in settlement token) allowed before an account’s collateral is liquidatable.

6 decimals

getDebtThresholdByTrader

  function getDebtThresholdByTrader(
  ) external returns (uint256)

Get the maximum whitelisted debt (denominated in settlement token) allowed before an account’s collateral is liquidatable.

6 decimals

getTotalWhitelistedDebtThreshold

  function getTotalWhitelistedDebtThreshold(
  ) external returns (uint256)

Get the total whitelisted debt (denominated in settlement token) allowed

6 decimals

getCollateralValueDust

  function getCollateralValueDust(
  ) external returns (uint256)

Get the threshold of the minium repaid. If a trader’s collateral value (denominated in settlement token) falls below the threshold, the liquidator can convert it with 100% liquidationRatio so there is no dust left

6 decimals

Return Values:

NameTypeDescription

Dust

uint256

collateral value

isCollateral

  function isCollateral(
    address token
  ) external returns (bool)

Check if the given token is one of collateral tokens

Parameters:

NameTypeDescription

token

address

address of token

Return Values:

NameTypeDescription

true

bool

if the token is one of collateral tokens

requireValidCollateralMmRatio

  function requireValidCollateralMmRatio(
    uint24 mmRatioBuffer
  ) external returns (uint24)

Require and get the the valid collateral maintenance margin ratio by mmRatioBuffer

Parameters:

NameTypeDescription

mmRatioBuffer

uint24

safe margin ratio buffer; 6 decimals, same decimals as _mmRatio

Return Values:

NameTypeDescription

collateralMmRatio

uint24

the collateral maintenance margin ratio

Events

CollateralAdded

  event CollateralAdded(
    address token,
    address priceFeed,
    uint24 collateralRatio,
    uint24 discountRatio,
    uint256 depositCap
  )

Emitted when owner add collateral

Parameters:

NameTypeDescription

token

address

address of token

priceFeed

address

address of price feed

collateralRatio

uint24

collateral ratio

discountRatio

uint24

discount ratio for the collateral liquidation

depositCap

uint256

max amount of collateral that can be deposited

ClearingHouseConfigChanged

  event ClearingHouseConfigChanged(
    address clearingHouseConfig
  )

Emitted when owner update the address of clearing house config

Parameters:

NameTypeDescription

clearingHouseConfig

address

address of clearing house config

VaultChanged

  event VaultChanged(
    address vault
  )

Emitted when owner update the address of vault

Parameters:

NameTypeDescription

vault

address

address of vault

PriceFeedChanged

  event PriceFeedChanged(
    address token,
    address priceFeed
  )

Emitted when owner update the price feed address of a collateral token

Parameters:

NameTypeDescription

token

address

address of token

priceFeed

address

address of price feed

CollateralRatioChanged

  event CollateralRatioChanged(
    address token,
    uint24 collateralRatio
  )

Emitted when owner update the collateral ratio of a collateral token

Parameters:

NameTypeDescription

token

address

address of token

collateralRatio

uint24

collateral ratio

DiscountRatioChanged

  event DiscountRatioChanged(
    address token,
    uint24 discountRatio
  )

Emitted when owner change the discount ratio

Parameters:

NameTypeDescription

token

address

address of token

discountRatio

uint24

discount ratio for the collateral liquidation

DepositCapChanged

  event DepositCapChanged(
    address token,
    uint256 depositCap
  )

Emitted when owner update the deposit cap of a collateral token

Parameters:

NameTypeDescription

token

address

address of token

depositCap

uint256

max amount of the collateral that can be deposited

MaxCollateralTokensPerAccountChanged

  event MaxCollateralTokensPerAccountChanged(
    uint8 maxCollateralTokensPerAccount
  )

Emitted when owner init or update the max collateral tokens that per account can have, this is can prevent high gas cost.

Parameters:

NameTypeDescription

maxCollateralTokensPerAccount

uint8

max amount of collateral tokens that per account can have

MmRatioBufferChanged

  event MmRatioBufferChanged(
    uint24 mmRatioBuffer
  )

Emitted when owner init or update the maintenance margin ratio buffer, the value provides a safe range between the mmRatio & the collateralMMRatio.

Parameters:

NameTypeDescription

mmRatioBuffer

uint24

safe buffer number (bps)

DebtNonSettlementTokenValueRatioChanged

  event DebtNonSettlementTokenValueRatioChanged(
    uint24 debtNonSettlementTokenValueRatio
  )

Emitted when owner init or update the debt non-settlement token value ratio, maximum debt / nonSettlementTokenValue before the account's is liquidatable

Parameters:

NameTypeDescription

debtNonSettlementTokenValueRatio

uint24

debt non-settlement token value ratio, ≤ 1

LiquidationRatioChanged

  event LiquidationRatioChanged(
    uint24 liquidationRatio
  )

Emitted when owner init or update the liquidation ratio, the value presents the max repaid ratio of the collateral liquidation.

Parameters:

NameTypeDescription

liquidationRatio

uint24

liquidation ratio, ≤ 1

CLInsuranceFundFeeRatioChanged

  event CLInsuranceFundFeeRatioChanged(
    uint24 clInsuranceFundFeeRatio
  )

Emitted when owner init or update the clearing house insurance fund fee ratio, charge fee for clearing house insurance fund.

Parameters:

NameTypeDescription

clInsuranceFundFeeRatio

uint24

clearing house insurance fund fee ratio, ≤ 1

DebtThresholdChanged

  event DebtThresholdChanged(
    uint256 debtThreshold
  )

Emitted when owner init or update the debt threshold, maximum debt allowed before an account’s collateral is liquidatable.

Parameters:

NameTypeDescription

debtThreshold

uint256

debt threshold

WhitelistedDebtThresholdChanged

  event WhitelistedDebtThresholdChanged(
    address whitelistedDebtThreshold
  )

Emitted when owner init or update the whitelisted debt threshold, maximum debt allowed before an account’s collateral is liquidatable.

Parameters:

NameTypeDescription

whitelistedDebtThreshold

address

whitelisted debt threshold

CollateralValueDustChanged

  event CollateralValueDustChanged(
    uint256 collateralValueDust
  )

Emitted when owner init or update the collateral value dust, if a trader’s debt value falls below this dust threshold, the liquidator will ignore the liquidationRatio.

Parameters:

NameTypeDescription

collateralValueDust

uint256

collateral value dust

Last updated