Skip to content

Contract Map

  • /home/code/maia/solidity/raises/src/contracts

Primary orchestration contract for raise operations:

  • Collateral whitelisting and caps
  • Investor entry (invest)
  • Exit paths (divest, divestUnderlying, withdrawFT)
  • Transferability toggle (enableTransferable)
  • Capital release tracking (capitalDivesting)

Position token contract used by PutManager.

  • Current implementation uses ERC-721 position tokens
  • Stores per-position state (collateral token, amount, FT allocated, strike, etc.)
  • Supports partial divest and withdrawFT updates

Collateral wrapper and strategy router:

  • deposit and withdraw paths for put servicing
  • Strategy list management
  • Yield claiming hooks
  • Circuit breaker integration (checkAndRecordOutflow, recordInflow)

Default strategy implementation:

  • Supplies collateral to Aave V3
  • Tracks principal via strategy share supply
  • Exposes yield = valueOfCapital - totalSupply
  • Supports optional withdrawUnderlying path for position-token exit

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

Yield routing helper for fee splits and treasury flows.

Oracle adapter used for deposit-time pricing and FT-per-USD conversion.

  • collateralSupply[token]: active backing collateral per token
  • capitalDivesting[token]: released collateral available for project pull
  • ftOfferingSupply: FT available for sale
  • ftAllocated: FT currently allocated to active positions

Mechanism docs in this site follow current FT implementation terms:

  • Position rights are represented by pFT ERC-721 position NFTs
  • Core user flows map to hold, divest/divestUnderlying, and withdrawFT