This contract manages a pool of assets, allowing for the creatio and redemption of bond and leverage tokens. It also handles distribution periods and interacts with an oracle for price information.

The Pool is the core contract for the protocol. The pool holds all underlying assets for a particular set of derivatives and handles the issuance and burn of all derivatives related to its specific strategy. The first pool is uses wstETH and splits the total return of wstETH into two products targeted at different investor profiles, bondETH - a stabilized profile that received a coupon in USDC every quarter, and levETH - levered exposure to wstETH. In this case, the pool contract holds all the wstETH and issues the bondETH and levETH tokens.

Inherits: Initializable, PausableUpgradeable, ReentrancyGuardUpgradeable, OracleReaderValidator

State Variables

POINT_EIGHT

uint256 private constant POINT_EIGHT = 800000;

POINT_TWO

uint256 private constant POINT_TWO = 200000;

COLLATERAL_THRESHOLD

uint256 private constant COLLATERAL_THRESHOLD = 1200000;

PRECISION

uint256 private constant PRECISION = 1000000;

BOND_TARGET_PRICE

uint256 private constant BOND_TARGET_PRICE = 100;

COMMON_DECIMALS

uint8 private constant COMMON_DECIMALS = 18;

SECONDS_PER_YEAR

uint256 private constant SECONDS_PER_YEAR = 365 days;

MIN_LIQUIDATION_THRESHOLD

uint256 private constant MIN_LIQUIDATION_THRESHOLD = 90;