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, OracleReader, Validator
uint256 private constant POINT_EIGHT = 800000;
uint256 private constant POINT_TWO = 200000;
uint256 private constant COLLATERAL_THRESHOLD = 1200000;
uint256 private constant PRECISION = 1000000;
uint256 private constant BOND_TARGET_PRICE = 100;
uint8 private constant COMMON_DECIMALS = 18;
uint256 private constant SECONDS_PER_YEAR = 365 days;
uint256 private constant MIN_LIQUIDATION_THRESHOLD = 90;