Contract Map
Source tree
Section titled “Source tree” PutManager
Central entry point, orchestrates all contract interactions
pFT
Mints positions
ftYieldWrapper
Routes capital
AaveStrategy
Deploys to Aave V3
CircuitBreaker
Rate limits outflows
YieldClaimer
Routes yield fees
FlyingTulipOracle
Deposit-time pricing
Core contracts
Section titled “Core contracts”PutManager.sol
Section titled “PutManager.sol”Entry-point contract for raise operations:
- Collateral whitelisting and caps
- Investor entry (
invest) - Exit paths (
divest,divestUnderlying,withdrawFT) - Transferability toggle (
enableTransferable) - Capital release tracking (
capitalDivesting)
pFT.sol
Section titled “pFT.sol”pFT position token contract used by PutManager.
- Uses ERC-721 position tokens
- Stores per-position state (collateral token, amount, FT allocated, strike, etc.)
- Supports partial
divestandwithdrawFTupdates
ftYieldWrapper.sol
Section titled “ftYieldWrapper.sol”Collateral wrapper and strategy router:
depositandwithdrawpaths for put servicing- Strategy list management
- Yield claiming hooks
- Circuit breaker integration (
checkAndRecordOutflow,recordInflow)
AaveStrategy.sol
Section titled “AaveStrategy.sol”Default strategy implementation:
- Supplies collateral to Aave V3
- Tracks principal via strategy share supply
- Exposes
yield = valueOfCapital - totalSupply(simplified, see implementation for details) - Supports optional
withdrawUnderlyingpath for position-token exit
CircuitBreaker.sol
Section titled “CircuitBreaker.sol”Dual-buffer rate limiter for inflows/outflows:
- Main replenishing buffer
- Elastic buffer tracking recent inflows
- Protected-contract registry
- Owner-configurable windows and max draw rate
YieldClaimer.sol
Section titled “YieldClaimer.sol”Yield routing helper for fee splits and treasury flows.
FlyingTulipOracle.sol
Section titled “FlyingTulipOracle.sol”Oracle adapter used for deposit-time pricing and ftPerUSD conversion.