Protocol parameters
Description of protocol parameters
Hub
liquidationFee
Protocol cut from the liquidation (a fraction of
LiquidationInput.assetReceiptAmounts
)
liquidationCalculator
The
ILiquidationCalculator
smart contract is responsible for providing helpers and calculations for the Hub when handling liquidations
priceUtilities
The
HubPriceUtilities
smart contract contains helper functions for assets' prices
assetRegistry
The
AssetRegistry
smart contract contains the list of assets supported by the protocol and their parameters inAssetInfo
structs.
HubPriceUtilities
priceStandardDeviations
The number of standard deviations of the Laplacian distribution that is used to create a spread between the deposit price of an asset and the debt price of an asset. e.g. if the true price of an asset is $1000 per unit, the standard deviation returned from the price oracle is $5 and priceStandardDeviations is 4.0 then the asset will be priced at $980 per unit when used as deposit and at $1020 when used as debt. This is to further ensure that the protocol always has enough collateral.
priceOracle
The
SynonymPriceOracle
smart contract is an abstraction layer allowing the protocol to switch between Chainlink and Pyth oracles.
SynonymPriceOracle
maxPriceAge
In seconds
If we get the price from Pyth / Chainlink, which is older than that, we'll revert
LiquidationCalculator
maxHealthFactor
A global parameter
Is >= 1
By health we understand collateralization ratio = deposited/borrowed
by deposited we understand a sum of the $ values of deposits divided by their corresponding
collateralizationRatioDeposit
. ThecollateralizationRatioDeposit
value decreases the effective value of the deposits.by borrowed we understand a sum of the $ values of deposits multiplied by their corresponding
collateralizationRatioBorrow
. ThecollateralizationRatioBorrow
increases the effective value of the loans.
When collateralization ratio is < 1, some of the debt can be liquidated
When liquidating debt, a liquidator can bring the collateralization ratio up to
maxHealthFactor
valueIt's up to the liquidator what debt they want to liquidate
It's up to the liquidator what collateral they want in return
their bonus depennds on what collateral they choose
AssetInfo
collateralizationRatioDeposit
Must be > 1
Precision:
assetRegistry.getCollateralizationRatioPrecision()
It decreases the effective value of your collateral
collateralizationRatioBorrow
Must be > 1
Precision:
assetRegistry.getCollateralizationRatioPrecision()
It increases the weight of your loans on your effective collateral
borrowLimit
Maximum total amount of token units which can be borrowed by all users combined
supplyLimit
Maximum total amount of token units which can be deposited by all users combined
maxLiquidationPortion
The maximym portion of a loan which can be liquidated in a single transaction, set per asset
Precision:
assetRegistry.getMaxLiquidationPortionPrecision()
maxLiquidationBonus
130e4 = 130% = 1.3
1.3 means the liquidator gets 30% over what he repays
The liquidation bonus is paid form the collateral and it's value is derived from the chosen collateral asset
interestRateCalculator
LinearInterestRate > InterestRateModel
rateIntercept
- linear function "b" intercept
rateCoefficient
- linear function "a" coefficient
reserveFactor
- the protocol cut (% of the borrow interest)
PiecewiseInterestRate > PiecewiseInterestRateModel
kinks
, rates
:
generally:
rate[0] applies when borrowed/deposited <= kink[0]
rate[1] applies when borrowed/deposited <= kink[1]
etc. until we run out of kinks and use the last rate
actually we use a linear functions between kinks
reserveFactor
- the protocol cut (% of the deposit interest paid to the protocol)
Last updated