ReserveConfiguration
Implements the bitmap logic to handle the reserve configuration
LTV_MASK
uint256 LTV_MASKLIQUIDATION_THRESHOLD_MASK
uint256 LIQUIDATION_THRESHOLD_MASKLIQUIDATION_BONUS_MASK
uint256 LIQUIDATION_BONUS_MASKDECIMALS_MASK
uint256 DECIMALS_MASKACTIVE_MASK
uint256 ACTIVE_MASKFROZEN_MASK
uint256 FROZEN_MASKBORROWING_MASK
uint256 BORROWING_MASKSTABLE_BORROWING_MASK
uint256 STABLE_BORROWING_MASKPAUSED_MASK
uint256 PAUSED_MASKBORROWABLE_IN_ISOLATION_MASK
uint256 BORROWABLE_IN_ISOLATION_MASKSILOED_BORROWING_MASK
uint256 SILOED_BORROWING_MASKFLASHLOAN_ENABLED_MASK
uint256 FLASHLOAN_ENABLED_MASKRESERVE_FACTOR_MASK
uint256 RESERVE_FACTOR_MASKBORROW_CAP_MASK
uint256 BORROW_CAP_MASKSUPPLY_CAP_MASK
uint256 SUPPLY_CAP_MASKLIQUIDATION_PROTOCOL_FEE_MASK
uint256 LIQUIDATION_PROTOCOL_FEE_MASKEMODE_CATEGORY_MASK
uint256 EMODE_CATEGORY_MASKUNBACKED_MINT_CAP_MASK
uint256 UNBACKED_MINT_CAP_MASKDEBT_CEILING_MASK
uint256 DEBT_CEILING_MASKLIQUIDATION_THRESHOLD_START_BIT_POSITION
uint256 LIQUIDATION_THRESHOLD_START_BIT_POSITIONFor the LTV, the start bit is 0 (up to 15), hence no bitshifting is needed
LIQUIDATION_BONUS_START_BIT_POSITION
uint256 LIQUIDATION_BONUS_START_BIT_POSITIONRESERVE_DECIMALS_START_BIT_POSITION
uint256 RESERVE_DECIMALS_START_BIT_POSITIONIS_ACTIVE_START_BIT_POSITION
uint256 IS_ACTIVE_START_BIT_POSITIONIS_FROZEN_START_BIT_POSITION
uint256 IS_FROZEN_START_BIT_POSITIONBORROWING_ENABLED_START_BIT_POSITION
uint256 BORROWING_ENABLED_START_BIT_POSITIONSTABLE_BORROWING_ENABLED_START_BIT_POSITION
uint256 STABLE_BORROWING_ENABLED_START_BIT_POSITIONIS_PAUSED_START_BIT_POSITION
uint256 IS_PAUSED_START_BIT_POSITIONBORROWABLE_IN_ISOLATION_START_BIT_POSITION
uint256 BORROWABLE_IN_ISOLATION_START_BIT_POSITIONSILOED_BORROWING_START_BIT_POSITION
uint256 SILOED_BORROWING_START_BIT_POSITIONFLASHLOAN_ENABLED_START_BIT_POSITION
uint256 FLASHLOAN_ENABLED_START_BIT_POSITIONRESERVE_FACTOR_START_BIT_POSITION
uint256 RESERVE_FACTOR_START_BIT_POSITIONBORROW_CAP_START_BIT_POSITION
uint256 BORROW_CAP_START_BIT_POSITIONSUPPLY_CAP_START_BIT_POSITION
uint256 SUPPLY_CAP_START_BIT_POSITIONLIQUIDATION_PROTOCOL_FEE_START_BIT_POSITION
uint256 LIQUIDATION_PROTOCOL_FEE_START_BIT_POSITIONEMODE_CATEGORY_START_BIT_POSITION
uint256 EMODE_CATEGORY_START_BIT_POSITIONUNBACKED_MINT_CAP_START_BIT_POSITION
uint256 UNBACKED_MINT_CAP_START_BIT_POSITIONDEBT_CEILING_START_BIT_POSITION
uint256 DEBT_CEILING_START_BIT_POSITIONMAX_VALID_LTV
uint256 MAX_VALID_LTVMAX_VALID_LIQUIDATION_THRESHOLD
uint256 MAX_VALID_LIQUIDATION_THRESHOLDMAX_VALID_LIQUIDATION_BONUS
uint256 MAX_VALID_LIQUIDATION_BONUSMAX_VALID_DECIMALS
uint256 MAX_VALID_DECIMALSMAX_VALID_RESERVE_FACTOR
uint256 MAX_VALID_RESERVE_FACTORMAX_VALID_BORROW_CAP
uint256 MAX_VALID_BORROW_CAPMAX_VALID_SUPPLY_CAP
uint256 MAX_VALID_SUPPLY_CAPMAX_VALID_LIQUIDATION_PROTOCOL_FEE
uint256 MAX_VALID_LIQUIDATION_PROTOCOL_FEEMAX_VALID_EMODE_CATEGORY
uint256 MAX_VALID_EMODE_CATEGORYMAX_VALID_UNBACKED_MINT_CAP
uint256 MAX_VALID_UNBACKED_MINT_CAPMAX_VALID_DEBT_CEILING
uint256 MAX_VALID_DEBT_CEILINGDEBT_CEILING_DECIMALS
uint256 DEBT_CEILING_DECIMALSMAX_RESERVES_COUNT
uint16 MAX_RESERVES_COUNTsetLtv
function setLtv(struct DataTypes.ReserveConfigurationMap self, uint256 ltv) internal pureSets the Loan to Value of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
ltv
uint256
The new ltv
getLtv
function getLtv(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the Loan to Value of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The loan to value
setLiquidationThreshold
function setLiquidationThreshold(struct DataTypes.ReserveConfigurationMap self, uint256 threshold) internal pureSets the liquidation threshold of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
threshold
uint256
The new liquidation threshold
getLiquidationThreshold
function getLiquidationThreshold(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the liquidation threshold of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The liquidation threshold
setLiquidationBonus
function setLiquidationBonus(struct DataTypes.ReserveConfigurationMap self, uint256 bonus) internal pureSets the liquidation bonus of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
bonus
uint256
The new liquidation bonus
getLiquidationBonus
function getLiquidationBonus(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the liquidation bonus of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The liquidation bonus
setDecimals
function setDecimals(struct DataTypes.ReserveConfigurationMap self, uint256 decimals) internal pureSets the decimals of the underlying asset of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
decimals
uint256
The decimals
getDecimals
function getDecimals(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the decimals of the underlying asset of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The decimals of the asset
setActive
function setActive(struct DataTypes.ReserveConfigurationMap self, bool active) internal pureSets the active state of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
active
bool
The active state
getActive
function getActive(struct DataTypes.ReserveConfigurationMap self) internal pure returns (bool)Gets the active state of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
bool
The active state
setFrozen
function setFrozen(struct DataTypes.ReserveConfigurationMap self, bool frozen) internal pureSets the frozen state of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
frozen
bool
The frozen state
getFrozen
function getFrozen(struct DataTypes.ReserveConfigurationMap self) internal pure returns (bool)Gets the frozen state of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
bool
The frozen state
setPaused
function setPaused(struct DataTypes.ReserveConfigurationMap self, bool paused) internal pureSets the paused state of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
paused
bool
The paused state
getPaused
function getPaused(struct DataTypes.ReserveConfigurationMap self) internal pure returns (bool)Gets the paused state of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
bool
The paused state
setBorrowableInIsolation
function setBorrowableInIsolation(struct DataTypes.ReserveConfigurationMap self, bool borrowable) internal pureSets the borrowable in isolation flag for the reserve.
When this flag is set to true, the asset will be borrowable against isolated collaterals and the borrowed amount will be accumulated in the isolated collateral's total debt exposure. Only assets of the same family (eg USD stablecoins) should be borrowable in isolation mode to keep consistency in the debt ceiling calculations.
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
borrowable
bool
True if the asset is borrowable
getBorrowableInIsolation
function getBorrowableInIsolation(struct DataTypes.ReserveConfigurationMap self) internal pure returns (bool)Gets the borrowable in isolation flag for the reserve.
If the returned flag is true, the asset is borrowable against isolated collateral. Assets borrowed with isolated collateral is accounted for in the isolated collateral's total debt exposure. Only assets of the same family (eg USD stablecoins) should be borrowable in isolation mode to keep consistency in the debt ceiling calculations.
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
bool
The borrowable in isolation flag
setSiloedBorrowing
function setSiloedBorrowing(struct DataTypes.ReserveConfigurationMap self, bool siloed) internal pureSets the siloed borrowing flag for the reserve.
When this flag is set to true, users borrowing this asset will not be allowed to borrow any other asset.
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
siloed
bool
True if the asset is siloed
getSiloedBorrowing
function getSiloedBorrowing(struct DataTypes.ReserveConfigurationMap self) internal pure returns (bool)Gets the siloed borrowing flag for the reserve.
When this flag is set to true, users borrowing this asset will not be allowed to borrow any other asset.
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
bool
The siloed borrowing flag
setBorrowingEnabled
function setBorrowingEnabled(struct DataTypes.ReserveConfigurationMap self, bool enabled) internal pureEnables or disables borrowing on the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
enabled
bool
True if the borrowing needs to be enabled, false otherwise
getBorrowingEnabled
function getBorrowingEnabled(struct DataTypes.ReserveConfigurationMap self) internal pure returns (bool)Gets the borrowing state of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
bool
The borrowing state
setStableRateBorrowingEnabled
function setStableRateBorrowingEnabled(struct DataTypes.ReserveConfigurationMap self, bool enabled) internal pureEnables or disables stable rate borrowing on the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
enabled
bool
True if the stable rate borrowing needs to be enabled, false otherwise
getStableRateBorrowingEnabled
function getStableRateBorrowingEnabled(struct DataTypes.ReserveConfigurationMap self) internal pure returns (bool)Gets the stable rate borrowing state of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
bool
The stable rate borrowing state
setReserveFactor
function setReserveFactor(struct DataTypes.ReserveConfigurationMap self, uint256 reserveFactor) internal pureSets the reserve factor of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
reserveFactor
uint256
The reserve factor
getReserveFactor
function getReserveFactor(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the reserve factor of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The reserve factor
setBorrowCap
function setBorrowCap(struct DataTypes.ReserveConfigurationMap self, uint256 borrowCap) internal pureSets the borrow cap of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
borrowCap
uint256
The borrow cap
getBorrowCap
function getBorrowCap(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the borrow cap of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The borrow cap
setSupplyCap
function setSupplyCap(struct DataTypes.ReserveConfigurationMap self, uint256 supplyCap) internal pureSets the supply cap of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
supplyCap
uint256
The supply cap
getSupplyCap
function getSupplyCap(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the supply cap of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The supply cap
setDebtCeiling
function setDebtCeiling(struct DataTypes.ReserveConfigurationMap self, uint256 ceiling) internal pureSets the debt ceiling in isolation mode for the asset
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
ceiling
uint256
The maximum debt ceiling for the asset
getDebtCeiling
function getDebtCeiling(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the debt ceiling for the asset if the asset is in isolation mode
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The debt ceiling (0 = isolation mode disabled)
setLiquidationProtocolFee
function setLiquidationProtocolFee(struct DataTypes.ReserveConfigurationMap self, uint256 liquidationProtocolFee) internal pureSets the liquidation protocol fee of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
liquidationProtocolFee
uint256
The liquidation protocol fee
getLiquidationProtocolFee
function getLiquidationProtocolFee(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the liquidation protocol fee
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The liquidation protocol fee
setUnbackedMintCap
function setUnbackedMintCap(struct DataTypes.ReserveConfigurationMap self, uint256 unbackedMintCap) internal pureSets the unbacked mint cap of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
unbackedMintCap
uint256
The unbacked mint cap
getUnbackedMintCap
function getUnbackedMintCap(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the unbacked mint cap of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The unbacked mint cap
setEModeCategory
function setEModeCategory(struct DataTypes.ReserveConfigurationMap self, uint256 category) internal pureSets the eMode asset category
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
category
uint256
The asset category when the user selects the eMode
getEModeCategory
function getEModeCategory(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256)Gets the eMode asset category
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The eMode category for the asset
setFlashLoanEnabled
function setFlashLoanEnabled(struct DataTypes.ReserveConfigurationMap self, bool flashLoanEnabled) internal pureSets the flashloanable flag for the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
flashLoanEnabled
bool
True if the asset is flashloanable, false otherwise
getFlashLoanEnabled
function getFlashLoanEnabled(struct DataTypes.ReserveConfigurationMap self) internal pure returns (bool)Gets the flashloanable flag for the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
bool
The flashloanable flag
getFlags
function getFlags(struct DataTypes.ReserveConfigurationMap self) internal pure returns (bool, bool, bool, bool, bool)Gets the configuration flags of the reserve
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
bool
The state flag representing active
[1]
bool
The state flag representing frozen
[2]
bool
The state flag representing borrowing enabled
[3]
bool
The state flag representing stableRateBorrowing enabled
[4]
bool
The state flag representing paused
getParams
function getParams(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256, uint256, uint256, uint256, uint256, uint256)Gets the configuration parameters of the reserve from storage
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The state param representing ltv
[1]
uint256
The state param representing liquidation threshold
[2]
uint256
The state param representing liquidation bonus
[3]
uint256
The state param representing reserve decimals
[4]
uint256
The state param representing reserve factor
[5]
uint256
The state param representing eMode category
getCaps
function getCaps(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256, uint256)Gets the caps parameters of the reserve from storage
Parameters
self
struct DataTypes.ReserveConfigurationMap
The reserve configuration
Return Values
[0]
uint256
The state param representing borrow cap
[1]
uint256
The state param representing supply cap.