FluidLiquidityConfigHandler ​
Inherits:Constants, Error, Events, Structs
Sets limits on Liquidity for a protocol based on TVL checkpoints.
Functions ​
validAddress ​
Validates that an address is not the zero address
solidity
modifier validAddress(address value_);
onlyRebalancer ​
Validates that an address is a rebalancer (taken from reserve contract)
solidity
modifier onlyRebalancer();
constructor ​
solidity
constructor(
IFluidReserveContract reserveContract_,
IFluidLiquidity liquidity_,
address protocol_,
address withdrawToken_,
address borrowToken_,
LimitCheckPoints memory withdrawCheckPoints_,
LimitCheckPoints memory borrowCheckPoints_
) validAddress(address(reserveContract_)) validAddress(address(liquidity_)) validAddress(protocol_);
getProtocolSupplyData ​
returns PROTOCOL
total supply at Liquidity
solidity
function getProtocolSupplyData()
public
view
returns (uint256 supply_, uint256 oldExpandPercent_, uint256 userSupplyData_);
getProtocolBorrowData ​
returns PROTOCOL
total borrow at Liquidity
solidity
function getProtocolBorrowData()
public
view
returns (uint256 borrow_, uint256 oldExpandPercent_, uint256 userBorrowData_);
rebalance ​
Rebalances the configs for PROTOCOL
at Fluid Liquidity based on protocol total supply & total borrow. Emits LogUpdateWithdrawLimitExpansion
or LogUpdateBorrowLimitExpansion
if any update is executed. Reverts if no update is needed. Can only be called by an authorized rebalancer.
solidity
function rebalance() external onlyRebalancer;
_updateWithdrawLimits ​
| | INTERNALS | |__________________________________
solidity
function _updateWithdrawLimits() internal returns (bool updated_);
_updateBorrowLimits ​
solidity
function _updateBorrowLimits() internal returns (bool updated_);
_validateLimitCheckPoints ​
solidity
function _validateLimitCheckPoints(LimitCheckPoints memory checkPoints_) internal pure;