IFluidLendingResolver
LENDING_FACTORY
function LENDING_FACTORY() external view returns (contract IFluidLendingFactory)
returns the lending factory address
LIQUIDITY_RESOLVER
function LIQUIDITY_RESOLVER() external view returns (contract IFluidLiquidityResolver)
returns the liquidity resolver address
getAllFTokenTypes
function getAllFTokenTypes() external view returns (string[])
returns all fToken types at the LENDING_FACTORY
getAllFTokens
function getAllFTokens() external view returns (address[])
returns all created fTokens at the LENDING_FACTORY
isLendingFactoryAuth
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
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
function computeFToken(address asset_, string fTokenType_) external view returns (address)
computes deterministic token address for asset_
for a lending protocol
Parameters
Name | Type | Description |
---|---|---|
asset_ | address | address of the asset |
fTokenType_ | string | type 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
Name | Type | Description |
---|---|---|
0 | address | token_ detemrinistic address of the computed token |
getFTokenDetails
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
Name | Type | Description |
---|---|---|
fToken_ | contract IFToken | the fToken to get the details for |
Return Values
Name | Type | Description |
---|---|---|
fTokenDetails_ | struct Structs.FTokenDetails | retrieved FTokenDetails struct |
getFTokenInternalData
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
Name | Type | Description |
---|---|---|
fToken_ | contract IFToken | the fToken to get the data for |
Return Values
Name | Type | Description |
---|---|---|
liquidity_ | contract IFluidLiquidity | address of the Liquidity contract. |
lendingFactory_ | contract IFluidLendingFactory | address of the Lending factory contract. |
lendingRewardsRateModel_ | contract IFluidLendingRewardsRateModel | address of the rewards rate model contract. changeable by LendingFactory auths. |
permit2_ | contract IAllowanceTransfer | address of the Permit2 contract used for deposits / mint with signature |
rebalancer_ | address | address of the rebalancer allowed to execute rebalance() |
rewardsActive_ | bool | true if rewards are currently active |
liquidityBalance_ | uint256 | current 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
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
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
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
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
function getUserPosition(contract IFToken fToken_, address user_) external view returns (struct Structs.UserPosition userPosition)
gets a user_
position for an fToken_
.
Return Values
Name | Type | Description |
---|---|---|
userPosition | struct Structs.UserPosition | user position struct |
getPreviews
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
Name | Type | Description |
---|---|---|
previewDeposit_ | uint256 | preview for deposit of assets_ |
previewMint_ | uint256 | preview for mint of shares_ |
previewWithdraw_ | uint256 | preview for withdraw of assets_ |
previewRedeem_ | uint256 | preview for redeem of shares_ |