Variables ​
Inherits: ERC20, ERC20Permit, Error, Constants, IFToken
State Variables ​
TOKEN_NAME_PREFIX ​
prefix for token name. fToken will append the underlying asset name
string private constant TOKEN_NAME_PREFIX = "Fluid ";TOKEN_SYMBOL_PREFIX ​
prefix for token symbol. fToken will append the underlying asset symbol
string private constant TOKEN_SYMBOL_PREFIX = "f";_rewardsRateModel ​
address of the LendingRewardsRateModel.
IFluidLendingRewardsRateModel internal _rewardsRateModel;__placeholder_gap ​
uint96 private __placeholder_gap;_liquidityExchangePrice ​
exchange price for the underlying assset in the liquidity protocol (without rewards)
uint64 internal _liquidityExchangePrice;_tokenExchangePrice ​
exchange price between fToken and the underlying assset (with rewards)
uint64 internal _tokenExchangePrice;_lastUpdateTimestamp ​
timestamp when exchange prices were updated the last time
uint40 internal _lastUpdateTimestamp;_status ​
status for reentrancy guard
uint8 internal _status;_rewardsActive ​
flag to signal if rewards are active without having to read slot 6
bool internal _rewardsActive;_rebalancer ​
rebalancer address allowed to call rebalance() and source for funding rewards (ReserveContract).
address internal _rebalancer;Functions ​
constructor ​
constructor(IFluidLiquidity liquidity_, IFluidLendingFactory lendingFactory_, IERC20 asset_)
    validAddress(address(liquidity_))
    validAddress(address(lendingFactory_))
    validAddress(address(asset_))
    Constants(liquidity_, lendingFactory_, asset_)
    ERC20(
        string(abi.encodePacked(TOKEN_NAME_PREFIX, IERC20Metadata(address(asset_)).name())),
        string(abi.encodePacked(TOKEN_SYMBOL_PREFIX, IERC20Metadata(address(asset_)).symbol()))
    )
    ERC20Permit(string(abi.encodePacked(TOKEN_NAME_PREFIX, IERC20Metadata(address(asset_)).name())));Parameters
| Name | Type | Description | 
|---|---|---|
liquidity_ | IFluidLiquidity | liquidity contract address | 
lendingFactory_ | IFluidLendingFactory | lending factory contract address | 
asset_ | IERC20 | underlying token address | 
_checkValidAddress ​
checks that address is not the zero address, reverts if so. Calling the method in the modifier reduces bytecode size as modifiers are inlined into bytecode
function _checkValidAddress(address value_) internal pure;validAddress ​
validates that an address is not the zero address
modifier validAddress(address value_);
