PoolConfigurator
Inherits: VersionedInitializable, IPoolConfigurator, PoolConfiguratorStorage
See the documentation in {IPoolConfigurator}.
State Variables
HUNDRED_PERCENT
uint256 public constant HUNDRED_PERCENT = 1_000_000;POOL_CONFIGURATOR_REVISION
uint256 public constant POOL_CONFIGURATOR_REVISION = 0x1;ADDRESSES_PROVIDER
IPoolAddressesProvider public immutable ADDRESSES_PROVIDER;Functions
whenNotPaused
modifier whenNotPaused();onlyAdminOrGovernor
modifier onlyAdminOrGovernor();onlyGovernor
modifier onlyGovernor();onlyAdmin
modifier onlyAdmin();onlyPool
modifier onlyPool();constructor
constructor(IPoolAddressesProvider provider_);getRevision
Returns the revision number of the contract
Needs to be defined in the inherited class as a constant.
function getRevision() public pure virtual override returns (uint256 revision_);Returns
revision_
uint256
The revision number
initialize
The initializer function for the pool configurator (must be called directly after deployment).
function initialize(
IPoolAddressesProvider provider_,
address poolAdmin_,
address asset_,
string calldata name_,
string calldata symbol_
)
external
override
initializer;Parameters
provider_
IPoolAddressesProvider
The address of the pool addresses provider.
poolAdmin_
address
The address of the pool admin.
asset_
address
The ERC20 asset used in the lending pool.
name_
string
The name of the pool token.
symbol_
string
The symbol of the pool token.
transferAdmin
Transfers to a new admin.
function transferAdmin(address newAdmin_) external virtual override onlyGovernor;Parameters
newAdmin_
address
The address of the new admin.
setBuyer
Assigns a buyer to the pool.
function setBuyer(address buyer_) external override whenNotPaused onlyAdmin;Parameters
buyer_
address
The address of the buyer for this pool.
setValidSeller
Sets the status of a seller.
function setValidSeller(address seller_, bool isValid_) external override whenNotPaused onlyAdmin;Parameters
seller_
address
The address of the seller.
isValid_
bool
Whether the seller is valid.
setValidLender
Sets the status of a lender (liquidity providers).
function setValidLender(address lender_, bool isValid_) external override whenNotPaused onlyAdmin;Parameters
lender_
address
The address of the lender.
isValid_
bool
Whether the lender is valid.
setAdminFee
Sets the admin fee rate that would be applied to the pool.
function setAdminFee(uint24 adminFee_) external override whenNotPaused onlyAdmin;Parameters
adminFee_
uint24
The new admin fee.
setOpenToPublic
Sets whether the pool is open to the public (permissioned or permissionless).
function setOpenToPublic(bool isOpenToPublic_) external override whenNotPaused onlyAdmin;Parameters
isOpenToPublic_
bool
Whether the pool is open to the public.
setMaxCoverLiquidation
Sets the max cover liquidation for the pool configurator.
function setMaxCoverLiquidation(uint24 maxCoverLiquidation_) external override whenNotPaused onlyGovernor;Parameters
maxCoverLiquidation_
uint24
The max cover liquidation as a percentage for the pool admin.
setMinCover
Sets the min cover required for the pool configurator.
function setMinCover(uint104 minCover_) external override whenNotPaused onlyGovernor;Parameters
minCover_
uint104
The min cover required for the pool admin.
setPoolLimit
Sets the pool limit for the pool configurator.
function setPoolLimit(uint104 poolLimit_) external override whenNotPaused onlyGovernor;Parameters
poolLimit_
uint104
The size limit of the pool.
requestFunds
Request funds from the pool and fund the loan manager.
function requestFunds(uint256 principal_) external override whenNotPaused;Parameters
principal_
uint256
The amount of principal to request.
triggerDefault
Triggers the defaults of a specific loan in the loan manager.
function triggerDefault(uint16 loanId_) external override whenNotPaused onlyAdminOrGovernor;Parameters
loanId_
uint16
The ID of the defaulted loan.
requestRedeem
Requests to redeem shares.
function requestRedeem(uint256 shares_, address owner_) external override whenNotPaused onlyPool;Parameters
shares_
uint256
The amount of shares to redeem.
owner_
address
The owner of the shares.
processRedeem
Processes the redemption of shares for a specific owner.
function processRedeem(
uint256 shares_,
address owner_,
address sender_
)
external
override
whenNotPaused
onlyPool
returns (uint256 redeemableShares_, uint256 resultingAssets_);Parameters
shares_
uint256
The amount of shares to redeem.
owner_
address
The owner of the shares.
sender_
address
The sender of the process request.
Returns
redeemableShares_
uint256
The amount of redeemable shares.
resultingAssets_
uint256
The corresponding amount of assets with the redeemable shares.
removeShares
Removes shares from its withdrawal request.
function removeShares(
uint256 shares_,
address owner_
)
external
override
whenNotPaused
onlyPool
returns (uint256 sharesReturned_);Parameters
shares_
uint256
The amount of shares to remove from withdrawal.
owner_
address
The owner of the shares.
Returns
sharesReturned_
uint256
The amount of shares returned.
depositCover
Pool admin deposits pool cover.
function depositCover(uint256 amount_) external override whenNotPaused;Parameters
amount_
uint256
The amount of assets to deposit as first-loss cover.
withdrawCover
Pool admin withdraws from pool cover.
function withdrawCover(uint256 amount_, address recipient_) external override whenNotPaused onlyAdmin;Parameters
amount_
uint256
The amount of assets to withdraw from first-loss cover.
recipient_
address
The address of the recipient.
openToPublic
Returns whether the pool is open to public.
function openToPublic() external view override returns (bool openToPublic_);Returns
openToPublic_
bool
Whether the pool is open to public.
adminFee
Returns the admin fee of the pool.
function adminFee() external view override returns (uint24 adminFee_);Returns
adminFee_
uint24
The admin fee of the pool.
maxCoverLiquidation
Returns the max cover liquidation of the pool.
function maxCoverLiquidation() external view returns (uint24 maxCoverLiquidation_);Returns
maxCoverLiquidation_
uint24
The max cover liquidation of the pool.
minCover
Returns the min cover required for the pool configurator.
function minCover() external view returns (uint104 minCover_);Returns
minCover_
uint104
The min cover required for the pool admin.
poolLimit
Returns the pool limit of the pool configurator.
function poolLimit() external view returns (uint104 poolLimit_);Returns
poolLimit_
uint104
The size limit of the pool.
maxDeposit
Returns the max deposit amount of a receiver.
function maxDeposit(address receiver_) external view virtual override returns (uint256 maxAssets_);Parameters
receiver_
address
The address of the receiver.
Returns
maxAssets_
uint256
The max amount of assets that can be deposited.
maxMint
Returns the max mint amount of a receiver.
function maxMint(address receiver_) external view virtual override returns (uint256 maxShares_);Parameters
receiver_
address
The address of the receiver.
Returns
maxShares_
uint256
The max amount of shares that can be minted.
maxRedeem
Returns the max redeem amount of an owner.
function maxRedeem(address owner_) external view virtual override returns (uint256 maxShares_);Parameters
owner_
address
The address of the owner.
Returns
maxShares_
uint256
The max amount of shares that can be redeemed.
previewRedeem
Previews the amount of assets that can be redeemed for the amount of shares specified.
function previewRedeem(address owner_, uint256 shares_) external view virtual override returns (uint256 assets_);Parameters
owner_
address
The address of the owner.
shares_
uint256
The amount of shares to redeem.
Returns
assets_
uint256
The amount of assets that would be received.
totalAssets
Returns the total amount of assets in the pool.
function totalAssets() external view override returns (uint256 totalAssets_);Returns
totalAssets_
uint256
The total amount of assets in the pool.
hasSufficientCover
Returns whether the pool currently has sufficient cover.
function hasSufficientCover() external view override returns (bool hasSufficientCover_);Returns
hasSufficientCover_
bool
Whether the pool currently has sufficient cover.
unrealizedLosses
Returns the current amount of unrealized losses of the pool.
function unrealizedLosses() external view override returns (uint256 unrealizedLosses_);Returns
unrealizedLosses_
uint256
The current amount of unrealized losses of the pool.
_totalAssets
function _totalAssets() internal view returns (uint256 totalAssets_);_revertIfPaused
function _revertIfPaused() internal view;_revertIfNotAdmin
function _revertIfNotAdmin() internal view;_revertIfNotAdminOrGovernor
function _revertIfNotAdminOrGovernor() internal view;_revertIfNotGovernor
function _revertIfNotGovernor() internal view;_revertIfNotPool
function _revertIfNotPool() internal view;_hasSufficientCover
function _hasSufficientCover() internal view returns (bool hasSufficientCover_);_handleCover
function _handleCover(uint256 losses_) internal;_min
function _min(uint256 a_, uint256 b_) internal pure returns (uint256 min_);_getMaxAssets
function _getMaxAssets(address receiver_, uint256 totalAssets_) internal view returns (uint256 maxAssets_);_globals
function _globals() internal view returns (IIsleGlobals globals_);_loanManager
function _loanManager() internal view returns (ILoanManager loanManager_);_withdrawalManager
function _withdrawalManager() internal view returns (IWithdrawalManager withdrawalManager_);Last updated