AdminModuleConstants
NATIVE_TOKEN_MAX_BORROW_LIMIT_CAP
uint256 NATIVE_TOKEN_MAX_BORROW_LIMIT_CAP
hard cap value for max borrow limit, used as sanity check. Usually 10x of total supply.
constructor
constructor(uint256 nativeTokenMaxBorrowLimitCap_) internal
GovernanceModule
Fluid Liquidity Governance only related methods
onlyGovernance
modifier onlyGovernance()
only governance guard
_checkValidAddress
function _checkValidAddress(address value_) internal pure
_checks that value_
is a valid address (not zero address)_
_checkIsContractOrNativeAddress
function _checkIsContractOrNativeAddress(address value_) internal view
_checks that value_
address is a contract (which includes address zero check)_
_checkTokenDecimalsRange
function _checkTokenDecimalsRange(address token_) internal view
_checks that token_
decimals are betweenMIN*TOKEN_DECIMALS
andMAX_TOKEN_DECIMALS
(inclusive).*
updateAuths
function updateAuths(struct Structs.AddressBool[] authsStatus_) external
adds/removes auths. Auths generally could be contracts which can have restricted actions defined on contract. auths can be helpful in reducing governance overhead where it's not needed.
Parameters
Name | Type | Description |
---|---|---|
authsStatus_ | struct Structs.AddressBool | array of structs setting allowed status for an address. status true => add auth, false => remove auth |
updateGuardians
function updateGuardians(struct Structs.AddressBool[] guardiansStatus_) external
adds/removes guardians. Only callable by Governance.
Parameters
Name | Type | Description |
---|---|---|
guardiansStatus_ | struct Structs.AddressBool | array of structs setting allowed status for an address. status true => add guardian, false => remove guardian |
updateRevenueCollector
function updateRevenueCollector(address revenueCollector_) external
changes the revenue collector address (contract that is sent revenue). Only callable by Governance.
Parameters
Name | Type | Description |
---|---|---|
revenueCollector_ | address | new revenue collector address |
AuthInternals
_computeRateDataPackedV1
function _computeRateDataPackedV1(struct Structs.RateDataV1Params rataDataV1Params_) internal pure returns (uint256 rateData_)
computes rata data packed uint256 for version 1 rate input params telling desired values at different uzilitation points (0%, kink, 100%)
Parameters
Name | Type | Description |
---|---|---|
rataDataV1Params_ | struct Structs.RateDataV1Params | rata data params for a given token |
Return Values
Name | Type | Description |
---|---|---|
rateData_ | uint256 | packed uint256 rate data |
_computeRateDataPackedV2
function _computeRateDataPackedV2(struct Structs.RateDataV2Params rataDataV2Params_) internal pure returns (uint256 rateData_)
computes rata data packed uint256 for rate version 2 input params telling desired values at different uzilitation points (0%, kink1, kink2, 100%)
Parameters
Name | Type | Description |
---|---|---|
rataDataV2Params_ | struct Structs.RateDataV2Params | rata data params for a given token |
Return Values
Name | Type | Description |
---|---|---|
rateData_ | uint256 | packed uint256 rate data |
_updateExchangePrices
function _updateExchangePrices(address token_) internal returns (uint256 supplyExchangePrice_, uint256 borrowExchangePrice_)
updates the exchange prices in storage for token_
and returnssupplyExchangePrice*
andborrowExchangePrice*
.
Recommended to use only in a method that later calls _updateExchangePricesAndRates()
.
_updateExchangePricesAndRates
function _updateExchangePricesAndRates(address token_) internal returns (uint256 supplyExchangePrice_, uint256 borrowExchangePrice_)
_updates the exchange prices + rates in storage for token_
and returnssupplyExchangePrice*
andborrowExchangePrice*
_
AuthModule
Fluid Liquidity Auths only related methods
onlyAuths
modifier onlyAuths()
only auths guard
collectRevenue
function collectRevenue(address[] tokens_) external
collects revenue for tokens to configured revenueCollector address.
Note that this can revert if token balance is < revenueAmount (utilization > 100%)
Parameters
Name | Type | Description |
---|---|---|
tokens_ | address | array of tokens to collect revenue for |
changeStatus
function changeStatus(uint256 newStatus_) external
changes current status, e.g. for pausing or unpausing all user operations. Only callable by Auths.
Parameters
Name | Type | Description |
---|---|---|
newStatus_ | uint256 | new status status = 2 -> pause, status = 1 -> resume. |
updateRateDataV1s
function updateRateDataV1s(struct Structs.RateDataV1Params[] tokensRateData_) external
update tokens rate data version 1. Only callable by Auths.
Parameters
Name | Type | Description |
---|---|---|
tokensRateData_ | struct Structs.RateDataV1Params | array of RateDataV1Params with rate data to set for each token |
updateRateDataV2s
function updateRateDataV2s(struct Structs.RateDataV2Params[] tokensRateData_) external
update tokens rate data version 2. Only callable by Auths.
Parameters
Name | Type | Description |
---|---|---|
tokensRateData_ | struct Structs.RateDataV2Params | array of RateDataV2Params with rate data to set for each token |
updateTokenConfigs
function updateTokenConfigs(struct Structs.TokenConfig[] tokenConfigs_) external
updates token configs: fee charge on borrowers interest & storage update utilization threshold. Only callable by Auths.
Parameters
Name | Type | Description |
---|---|---|
tokenConfigs_ | struct Structs.TokenConfig | contains token address, fee & utilization threshold |
updateUserClasses
function updateUserClasses(struct Structs.AddressUint256[] userClasses_) external
updates user classes: 0 is for new protocols, 1 is for established protocols. Only callable by Auths.
Parameters
Name | Type | Description |
---|---|---|
userClasses_ | struct Structs.AddressUint256 | struct array of uint256 value to assign for each user address |
updateUserSupplyConfigs
function updateUserSupplyConfigs(struct Structs.UserSupplyConfig[] userSupplyConfigs_) external
sets user supply configs per token basis. Eg: with interest or interest-free and automated limits. Only callable by Auths.
Parameters
Name | Type | Description |
---|---|---|
userSupplyConfigs_ | struct Structs.UserSupplyConfig | struct array containing user supply config, see UserSupplyConfig struct for more info |
updateUserBorrowConfigs
function updateUserBorrowConfigs(struct Structs.UserBorrowConfig[] userBorrowConfigs_) external
setting user borrow configs per token basis. Eg: with interest or interest-free and automated limits. Only callable by Auths.
Parameters
Name | Type | Description |
---|---|---|
userBorrowConfigs_ | struct Structs.UserBorrowConfig | struct array containing user borrow config, see UserBorrowConfig struct for more info |
GuardianModule
Fluid Liquidity Guardians only related methods
onlyGuardians
modifier onlyGuardians()
only guardians guard
pauseUser
function pauseUser(address user_, address[] supplyTokens_, address[] borrowTokens_) public
pause operations for a particular user in class 0 (class 1 users can't be paused by guardians). Only callable by Guardians.
Parameters
Name | Type | Description |
---|---|---|
user_ | address | address of user to pause operations for |
supplyTokens_ | address | token addresses to pause withdrawals for |
borrowTokens_ | address | token addresses to pause borrowings for |
unpauseUser
function unpauseUser(address user_, address[] supplyTokens_, address[] borrowTokens_) public
unpause operations for a particular user in class 0 (class 1 users can't be paused by guardians). Only callable by Guardians.
Parameters
Name | Type | Description |
---|---|---|
user_ | address | address of user to unpause operations for |
supplyTokens_ | address | token addresses to unpause withdrawals for |
borrowTokens_ | address | token addresses to unpause borrowings for |
FluidLiquidityAdminModule
Fluid Liquidity auth protected methods to configure things such as: guardians, auths, governance, revenue, token configs, allowances etc. Accessibility of methods is restricted to Governance, Auths or Guardians. Governance is Auth & Governance by default
constructor
constructor(uint256 nativeTokenMaxBorrowLimitCap_) public
updateExchangePrices
function updateExchangePrices(address[] tokens_) external returns (uint256[] supplyExchangePrices_, uint256[] borrowExchangePrices_)
gets the current updated exchange prices for n tokens and updates all prices, rates related data in storage.
Parameters
Name | Type | Description |
---|---|---|
tokens_ | address | tokens to update exchange prices for |
Return Values
Name | Type | Description |
---|---|---|
supplyExchangePrices_ | uint256 | new supply rates of overall system for each token |
borrowExchangePrices_ | uint256 | new borrow rates of overall system for each token |