ITranchePool
Inherits: IERC4626Upgradeable
Functions
portfolio
the associated portfolio for this tranche pool
function portfolio() external view returns (IPortfolio portfolio);
Returns
Name | Type | Description |
---|---|---|
portfolio | IPortfolio | The associated portfolio |
ceiling
the ceiling for this tranche pool
function ceiling() external view returns (uint256 ceiling);
Returns
Name | Type | Description |
---|---|---|
ceiling | uint256 | The ceiling value |
availableLiquidity
available liquidity tracked by the token balance tracker
function availableLiquidity() external view returns (uint256);
Returns
Name | Type | Description |
---|---|---|
<none> | uint256 | The available liquidity |
waterfallIndex
the waterfall index for this tranche pool. 0 is equity and 1 is senior
function waterfallIndex() external view returns (uint256 waterfallIndex);
Returns
Name | Type | Description |
---|---|---|
waterfallIndex | uint256 | The waterfall index |
convertToSharesCeil
Converts a given amount of assets to shares (rounded up)
function convertToSharesCeil(uint256 assets) external view returns (uint256 shares);
Parameters
Name | Type | Description |
---|---|---|
assets | uint256 | The amount of assets to convert |
Returns
Name | Type | Description |
---|---|---|
shares | uint256 | The equivalent amount of shares |
convertToAssetsCeil
Converts a given amount of shares to assets (rounded up)
function convertToAssetsCeil(uint256 shares) external view returns (uint256 assets);
Parameters
Name | Type | Description |
---|---|---|
shares | uint256 | The amount of shares to convert |
Returns
Name | Type | Description |
---|---|---|
assets | uint256 | The equivalent amount of assets |
setPortfolio
Sets the portfolio for this tranche pool
function setPortfolio(IPortfolio _portfolio) external;
Parameters
Name | Type | Description |
---|---|---|
_portfolio | IPortfolio | The new portfolio to set |
setDepositController
Sets the deposit controller for this tranche pool
function setDepositController(IDepositController newController) external;
Parameters
Name | Type | Description |
---|---|---|
newController | IDepositController | The new deposit controller to set |
setWithdrawController
Sets the withdraw controller for this tranche pool
function setWithdrawController(IWithdrawController newController) external;
Parameters
Name | Type | Description |
---|---|---|
newController | IWithdrawController | The new withdraw controller to set |
setCeiling
Sets the ceiling for this tranche pool
function setCeiling(uint256 newCeiling) external;
Parameters
Name | Type | Description |
---|---|---|
newCeiling | uint256 | The new ceiling to set |
onPortfolioStart
Called when the portfolio starts
function onPortfolioStart() external returns (uint256);
Returns
Name | Type | Description |
---|---|---|
<none> | uint256 | The balance of the tranche pool |
increaseTokenBalance
Increases the token balance of the tranche pool by the given amount
function increaseTokenBalance(uint256 amount) external;
Parameters
Name | Type | Description |
---|---|---|
amount | uint256 | The amount to increase the token balance by |
Events
DepositControllerChanged
event DepositControllerChanged(IDepositController indexed controller);
DepositFeePaid
event DepositFeePaid(address indexed receiver, uint256 fee);
WithdrawControllerChanged
event WithdrawControllerChanged(IWithdrawController indexed controller);
WithdrawFeePaid
event WithdrawFeePaid(address indexed receiver, uint256 fee);
CeilingChanged
event CeilingChanged(uint256 newCeiling);
Errors
PortfolioAlreadySet
error PortfolioAlreadySet();
NotPortfolio
error NotPortfolio();
PortfolioPaused
error PortfolioPaused();
MaxDepositExceeded
error MaxDepositExceeded();
MaxMintExceeded
error MaxMintExceeded();
MaxWithdrawExceeded
error MaxWithdrawExceeded();
MaxRedeemExceeded
error MaxRedeemExceeded();
InsufficientAllowance
error InsufficientAllowance();