ReserveConfiguration

Implements the bitmap logic to handle the reserve configuration

LTV_MASK

uint256 LTV_MASK

LIQUIDATION_THRESHOLD_MASK

uint256 LIQUIDATION_THRESHOLD_MASK

LIQUIDATION_BONUS_MASK

uint256 LIQUIDATION_BONUS_MASK

DECIMALS_MASK

uint256 DECIMALS_MASK

ACTIVE_MASK

uint256 ACTIVE_MASK

FROZEN_MASK

uint256 FROZEN_MASK

BORROWING_MASK

uint256 BORROWING_MASK

STABLE_BORROWING_MASK

uint256 STABLE_BORROWING_MASK

PAUSED_MASK

uint256 PAUSED_MASK

SILOED_BORROWING_MASK

uint256 SILOED_BORROWING_MASK

RESERVE_FACTOR_MASK

uint256 RESERVE_FACTOR_MASK

BORROW_CAP_MASK

uint256 BORROW_CAP_MASK

SUPPLY_CAP_MASK

uint256 SUPPLY_CAP_MASK

LIQUIDATION_PROTOCOL_FEE_MASK

uint256 LIQUIDATION_PROTOCOL_FEE_MASK

ASSET_TYPE_MASK

uint256 ASSET_TYPE_MASK

LIQUIDATION_THRESHOLD_START_BIT_POSITION

uint256 LIQUIDATION_THRESHOLD_START_BIT_POSITION

For 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_POSITION

RESERVE_DECIMALS_START_BIT_POSITION

uint256 RESERVE_DECIMALS_START_BIT_POSITION

IS_ACTIVE_START_BIT_POSITION

uint256 IS_ACTIVE_START_BIT_POSITION

IS_FROZEN_START_BIT_POSITION

uint256 IS_FROZEN_START_BIT_POSITION

BORROWING_ENABLED_START_BIT_POSITION

uint256 BORROWING_ENABLED_START_BIT_POSITION

STABLE_BORROWING_ENABLED_START_BIT_POSITION

uint256 STABLE_BORROWING_ENABLED_START_BIT_POSITION

IS_PAUSED_START_BIT_POSITION

uint256 IS_PAUSED_START_BIT_POSITION

SILOED_BORROWING_START_BIT_POSITION

uint256 SILOED_BORROWING_START_BIT_POSITION

RESERVE_FACTOR_START_BIT_POSITION

uint256 RESERVE_FACTOR_START_BIT_POSITION

bit 63 reserved

BORROW_CAP_START_BIT_POSITION

uint256 BORROW_CAP_START_BIT_POSITION

SUPPLY_CAP_START_BIT_POSITION

uint256 SUPPLY_CAP_START_BIT_POSITION

LIQUIDATION_PROTOCOL_FEE_START_BIT_POSITION

uint256 LIQUIDATION_PROTOCOL_FEE_START_BIT_POSITION

ASSET_TYPE_START_BIT_POSITION

uint256 ASSET_TYPE_START_BIT_POSITION

MAX_VALID_LTV

uint256 MAX_VALID_LTV

MAX_VALID_LIQUIDATION_THRESHOLD

uint256 MAX_VALID_LIQUIDATION_THRESHOLD

MAX_VALID_LIQUIDATION_BONUS

uint256 MAX_VALID_LIQUIDATION_BONUS

MAX_VALID_DECIMALS

uint256 MAX_VALID_DECIMALS

MAX_VALID_RESERVE_FACTOR

uint256 MAX_VALID_RESERVE_FACTOR

MAX_VALID_BORROW_CAP

uint256 MAX_VALID_BORROW_CAP

MAX_VALID_SUPPLY_CAP

uint256 MAX_VALID_SUPPLY_CAP

MAX_VALID_LIQUIDATION_PROTOCOL_FEE

uint256 MAX_VALID_LIQUIDATION_PROTOCOL_FEE

MAX_ASSET_TYPE

uint256 MAX_ASSET_TYPE

MAX_RESERVES_COUNT

uint16 MAX_RESERVES_COUNT

setLtv

function setLtv(struct DataTypes.ReserveConfigurationMap self, uint256 ltv) internal pure

Sets the Loan to Value of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

uint256

The loan to value

setLiquidationThreshold

function setLiquidationThreshold(struct DataTypes.ReserveConfigurationMap self, uint256 threshold) internal pure

Sets the liquidation threshold of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

uint256

The liquidation threshold

setLiquidationBonus

function setLiquidationBonus(struct DataTypes.ReserveConfigurationMap self, uint256 bonus) internal pure

Sets the liquidation bonus of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

uint256

The liquidation bonus

setDecimals

function setDecimals(struct DataTypes.ReserveConfigurationMap self, uint256 decimals) internal pure

Sets the decimals of the underlying asset of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

uint256

The decimals of the asset

setAssetType

function setAssetType(struct DataTypes.ReserveConfigurationMap self, enum DataTypes.AssetType assetType) internal pure

Sets the asset type of the reserve

Parameters

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

assetType

enum DataTypes.AssetType

The asset type

getAssetType

function getAssetType(struct DataTypes.ReserveConfigurationMap self) internal pure returns (enum DataTypes.AssetType)

Gets the asset type of the reserve

Parameters

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

enum DataTypes.AssetType

The asset type

setActive

function setActive(struct DataTypes.ReserveConfigurationMap self, bool active) internal pure

Sets the active state of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

bool

The active state

setFrozen

function setFrozen(struct DataTypes.ReserveConfigurationMap self, bool frozen) internal pure

Sets the frozen state of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

bool

The frozen state

setPaused

function setPaused(struct DataTypes.ReserveConfigurationMap self, bool paused) internal pure

Sets the paused state of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

bool

The paused state

setSiloedBorrowing

function setSiloedBorrowing(struct DataTypes.ReserveConfigurationMap self, bool siloed) internal pure

Sets 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

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

bool

The siloed borrowing flag

setBorrowingEnabled

function setBorrowingEnabled(struct DataTypes.ReserveConfigurationMap self, bool enabled) internal pure

Enables or disables borrowing on the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

bool

The borrowing state

setReserveFactor

function setReserveFactor(struct DataTypes.ReserveConfigurationMap self, uint256 reserveFactor) internal pure

Sets the reserve factor of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

uint256

The reserve factor

setBorrowCap

function setBorrowCap(struct DataTypes.ReserveConfigurationMap self, uint256 borrowCap) internal pure

Sets the borrow cap of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

uint256

The borrow cap

setSupplyCap

function setSupplyCap(struct DataTypes.ReserveConfigurationMap self, uint256 supplyCap) internal pure

Sets the supply cap of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

uint256

The supply cap

setLiquidationProtocolFee

function setLiquidationProtocolFee(struct DataTypes.ReserveConfigurationMap self, uint256 liquidationProtocolFee) internal pure

Sets the liquidation protocol fee of the reserve

Parameters

NameTypeDescription

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

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

uint256

The liquidation protocol fee

getFlags

function getFlags(struct DataTypes.ReserveConfigurationMap self) internal pure returns (bool, bool, bool, bool, enum DataTypes.AssetType)

Gets the configuration flags of the reserve

Parameters

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[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 paused

[4]

enum DataTypes.AssetType

The asset type

getParams

function getParams(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256, uint256, uint256, uint256, uint256)

Gets the configuration parameters of the reserve from storage

Parameters

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[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

getCaps

function getCaps(struct DataTypes.ReserveConfigurationMap self) internal pure returns (uint256, uint256)

Gets the caps parameters of the reserve from storage

Parameters

NameTypeDescription

self

struct DataTypes.ReserveConfigurationMap

The reserve configuration

Return Values

NameTypeDescription

[0]

uint256

The state param representing borrow cap

[1]

uint256

The state param representing supply cap.