Skip to main content

Purpose: Help developers move from task-oriented docs into the autogenerated contract reference without losing context. Audience: Developers moving from tutorials into the contract reference. Level: Intermediate Source of truth: the relevant contract page in Smart Contracts, interpreted alongside [email protected]. Use this page when: you need the right reference page fast, not a full tutorial. Do not use this page for: learning Octant from scratch or replacing a workflow guide.

Reading the Smart-Contract Reference

Before you read this page
  • Required: Developer Orientation (you know which track you're on)
  • Helpful: Complete at least one tutorial first

The pages in Smart Contracts are the most precise source for contract names, function signatures, events, role-gated methods, inheritance, and deployment surfaces. They are also dense. Use them as a reference layer, not as your first stop for every task.

Source-of-truth rule

Use this order when you need exact contract detail:

  1. the relevant page in Smart Contracts,
  2. the matching contract source in [email protected],
  3. the tutorial or concept page you came from for workflow context.

Tutorial pages explain how to think about a flow. The reference pages explain the exact surface area you are calling.

Compatibility interfaces in 1.2.0-develop.15

The pinned core package intentionally retains a few deprecated interfaces for package import-path stability: src/interfaces/IDragon.sol, src/interfaces/IFactory.sol, and src/interfaces/IMorphoCompounderStrategyFactoryV1.sol. Use IMorphoCompounderStrategyFactoryV1 only when interacting with the older mainnet Morpho factory at 0x052d20B0e0b141988bD32772C735085e45F357c1, whose createStrategy(...) signature has no _symbol parameter. Newer factory flows should use the current reference pages and deployed-address guidance.

Use this page when

  • you know what you want to build or operate, but you are not sure which contract page matters,
  • you need exact function names, events, roles, or modifiers,
  • you want to move from a tutorial into ABI-level detail,
  • you need to understand where shared implementation ends and integration-specific logic begins,
  • you are helping an LLM assistant retrieve the right contract page instead of a random one.

Tutorials first, reference second

Start with the curated guide when you need context or a workflow. Jump to the reference page when you need exact details.

If you need...Start hereThen open...
Your first Yield Donating StrategyHello World StrategyBaseStrategy, YieldDonatingTokenizedStrategy, TokenizedStrategy
A deeper YDS build pathHow to Create a YieldDonating StrategyBaseStrategy, YieldDonatingTokenizedStrategy, BaseHealthCheck, TokenizedStrategy
A Yield Skimming StrategyWriting a YSS StrategyBaseYieldSkimmingHealthCheck, YieldSkimmingTokenizedStrategy, TokenizedStrategy
A multi-strategy vaultMulti-Strategy VaultsMultistrategyVault, MultistrategyLockedVault, DebtManagementLib
Community staking flowsRegen StakerRegenStaker, RegenStakerBase, RegenEarningPowerCalculator
Allocation mechanismsTokenized Allocation MechanismsBaseAllocationMechanism, TokenizedAllocationMechanism, AllocationMechanismFactory
Payment routingPayment Splitter PatternsPaymentSplitter, PaymentSplitterFactory

Which reference page answers which question?

Strategy authors

Vault operators

  • Read MultistrategyVault for strategy queues, debt updates, report processing, and withdrawal behavior.
  • Read MultistrategyLockedVault when you need cooldown-based exits or stronger policy-change protections.
  • Read DebtManagementLib if you are debugging rebalancing behavior or edge cases around debt increases and decreases.
  • Read MultistrategyVaultFactory when you are wiring deployment rather than only operating an existing vault.

Allocation-mechanism authors

Staking and distribution operators

Payment routing and downstream distribution

A simple read order

  1. Start with the curated page for your task.
  2. Open the matching reference page only when you need exact signatures, events, roles, factories, or edge-case behavior.
  3. Keep the curated page open while reading the reference page. It supplies the mental model the autogenerated page does not.
  4. When the reference page stops being enough, open the matching factory page and trace the deployment surface as well.
  5. When in doubt, use Common Developer Workflows to re-anchor yourself in a task flow.

How to read a contract reference page

Reference pages follow a consistent structure. Here's what each section tells you:

Inheritance section — This tells you what contracts this one extends or interfaces it implements. Understanding inheritance helps you trace shared behavior. For example, a strategy always inherits from BaseStrategy, which provides the core lifecycle hooks.

Functions section — Every callable method appears here with its full signature, parameters, return values, and access modifiers. For strategy authors, the three you care about most are _deployFunds(), _freeFunds(), and _harvestAndReport() — these are the hooks you override. For vault operators, look for public methods like addStrategy(), updateDebt(), and report().

Events section — This shows what gets emitted when key actions happen. Events are useful for building frontend listeners or analytics pipelines. For example, Transfer events track share movements, and StrategyAdded events track when a new strategy joins a vault.

Modifiers section — This shows access control rules. Modifiers like onlyManagement or onlyVaultManagers tell you who can call each method. Always check modifiers before assuming any account can trigger a function.

Retrieval cues

This page is the right entry point for questions like:

  • Which contract page should I read for YDS hooks?
  • Where do I look up the exact RegenStaker runtime surface?
  • Which reference page covers multi-strategy vault debt management?
  • I know the workflow, but where are the exact signatures?

Before you leave this page

If you are still not sure where to start, go back to Developer Orientation. It maps the main build paths and links the recommended reading order for each one.