Everstrat Docs home
DevelopersContracts

Interfaces and libraries

Contract boundaries for the registry, NAV, strategies, conversions, and queue.

Interfaces are in src/interfaces in everstrat-xyz/contracts.

Important boundaries include IAMM, IController, IEVE, IExitQueue, IOracle, IRegistry, IConverter, IStrategy, and IStrategyManager. Registry lookups distinguish registered peer authorization from role membership.

Strategy contract boundary

IStrategy defines:

  • identity, version, genesis timestamp, and deposited/withdrawn totals
  • ETH NAV, health, pause state, and deposit/withdrawal capacity
  • deposit, investIdleETH, withdraw, rebalance, and sync
  • pending and settled performance-fee calculations
  • emergencyExit for ADMIN or SECURITY, requiring a paused strategy

It does not define a safety score, withdrawal-priority field, or a generic queued strategy withdrawal hook. StrategyManager's deposit and withdrawal weights are separate registration parameters in the range 0 to 100.

Shared libraries

Auth defines Registry keys and role identifiers. Math provides pricing arithmetic. ExitQueueLimits defines the 25-live-priced-batch limit shared by queue and executor scans.

The registered v2 UniCL strategies use a linked UniCLStratLib for strategy calculations. A merged library or strategy change is not automatically live on existing immutable strategy instances. See Strategy migration.

Last updated on

On this page