Skip to content

IFluidLendingResolver ​

LENDING_FACTORY ​

solidity
function LENDING_FACTORY() external view returns (contract IFluidLendingFactory)

returns the lending factory address

LIQUIDITY_RESOLVER ​

solidity
function LIQUIDITY_RESOLVER() external view returns (contract IFluidLiquidityResolver)

returns the liquidity resolver address

getAllFTokenTypes ​

solidity
function getAllFTokenTypes() external view returns (string[])

returns all fToken types at the LENDING_FACTORY

getAllFTokens ​

solidity
function getAllFTokens() external view returns (address[])

returns all created fTokens at the LENDING_FACTORY

isLendingFactoryAuth ​

solidity
function isLendingFactoryAuth(address auth_) external view returns (bool)

reads if a certain auth_ address is an allowed auth or not. Owner is auth by default.

isLendingFactoryDeployer ​

solidity
function isLendingFactoryDeployer(address deployer_) external view returns (bool)

reads if a certain deployer_ address is an allowed deployer or not. Owner is deployer by default.

computeFToken ​

solidity
function computeFToken(address asset_, string fTokenType_) external view returns (address)

computes deterministic token address for asset_ for a lending protocol

Parameters ​

NameTypeDescription
asset_addressaddress of the asset
fTokenType_stringtype of fToken: - if underlying asset supports EIP-2612, the fToken should be type EIP2612Deposits - otherwise it should use Permit2Deposits - if it's the native token, it should use NativeUnderlying - could be more types available, check fTokenTypes()

Return Values ​

NameTypeDescription
[0]addresstoken_ detemrinistic address of the computed token

getFTokenDetails ​

solidity
function getFTokenDetails(contract IFToken fToken_) external view returns (struct Structs.FTokenDetails fTokenDetails_)

gets all public details for a certain fToken_, such as fToken type, name, symbol, decimals, underlying asset, total amounts, convertTo values, rewards. Note it also returns whether the fToken supports deposits / mints via EIP-2612, but it is not a 100% guarantee! To make sure, check for the underlying if it supports EIP-2612 manually.

Parameters ​

NameTypeDescription
fToken_contract IFTokenthe fToken to get the details for

Return Values ​

NameTypeDescription
fTokenDetails_struct Structs.FTokenDetailsretrieved FTokenDetails struct

getFTokenInternalData ​

solidity
function getFTokenInternalData(contract IFToken fToken_) external view returns (contract IFluidLiquidity liquidity_, contract IFluidLendingFactory lendingFactory_, contract IFluidLendingRewardsRateModel lendingRewardsRateModel_, contract IAllowanceTransfer permit2_, address rebalancer_, bool rewardsActive_, uint256 liquidityBalance_, uint256 liquidityExchangePrice_, uint256 tokenExchangePrice_)

returns config, rewards and exchange prices data of an fToken.

Parameters ​

NameTypeDescription
fToken_contract IFTokenthe fToken to get the data for

Return Values ​

NameTypeDescription
liquidity_contract IFluidLiquidityaddress of the Liquidity contract.
lendingFactory_contract IFluidLendingFactoryaddress of the Lending factory contract.
lendingRewardsRateModel_contract IFluidLendingRewardsRateModeladdress of the rewards rate model contract. changeable by LendingFactory auths.
permit2_contract IAllowanceTransferaddress of the Permit2 contract used for deposits / mint with signature
rebalancer_addressaddress of the rebalancer allowed to execute rebalance()
rewardsActive_booltrue if rewards are currently active
liquidityBalance_uint256current Liquidity supply balance of address(this) for the underyling asset
liquidityExchangePrice_uint256(updated) exchange price for the underlying assset in the liquidity protocol (without rewards)
tokenExchangePrice_uint256(updated) exchange price between fToken and the underlying assset (with rewards)

getFTokensEntireData ​

solidity
function getFTokensEntireData() external view returns (struct Structs.FTokenDetails[])

gets all public details for all itokens, such as fToken type, name, symbol, decimals, underlying asset, total amounts, convertTo values, rewards

getUserPositions ​

solidity
function getUserPositions(address user_) external view returns (struct Structs.FTokenDetailsUserPosition[])

gets all public details for all itokens, such as fToken type, name, symbol, decimals, underlying asset, total amounts, convertTo values, rewards and user position for each token

getFTokenRewards ​

solidity
function getFTokenRewards(contract IFToken fToken_) external view returns (contract IFluidLendingRewardsRateModel rewardsRateModel_, uint256 rewardsRate_)

gets rewards related data: the rewardsRateModel_ contract and the current rewardsRate_ for the fToken_

getFTokenRewardsRateModelConfig ​

solidity
function getFTokenRewardsRateModelConfig(contract IFToken fToken_) external view returns (uint256 duration_, uint256 startTime_, uint256 endTime_, uint256 startTvl_, uint256 maxRate_, uint256 rewardAmount_, address initiator_)

gets rewards rate model config constants

getUserPosition ​

solidity
function getUserPosition(contract IFToken fToken_, address user_) external view returns (struct Structs.UserPosition userPosition)

gets a user_ position for an fToken_.

Return Values ​

NameTypeDescription
userPositionstruct Structs.UserPositionuser position struct

getPreviews ​

solidity
function getPreviews(contract IFToken fToken_, uint256 assets_, uint256 shares_) external view returns (uint256 previewDeposit_, uint256 previewMint_, uint256 previewWithdraw_, uint256 previewRedeem_)

gets fToken_ preview amounts for assets_ or shares_.

Return Values ​

NameTypeDescription
previewDeposit_uint256preview for deposit of assets_
previewMint_uint256preview for mint of shares_
previewWithdraw_uint256preview for withdraw of assets_
previewRedeem_uint256preview for redeem of shares_