Vaults

The vaults module in the Inception protocol manages how assets are deposited, tokenized, and routed through strategy-specific adapters. It forms the foundation of the Inception inToken infrastructure and enables composability by abstracting different underlying strategies behind a unified vault interface.

Vaults are modular and extensible, powered by a plug-in architecture using adapters and handlers. Each vault is deployed through a factory and interacts with both assets and strategies via well-defined adapter interfaces.

Key Components

1. Base Adapters

  • InceptionBaseAdapter.sol: Core abstract contract that standardizes the adapter structure. It handles initialization, asset registration, access control, and compatibility with ERC-4626-like logic.

  • InceptionEigenAdapter.sol: Adapter implementation integrating EigenLayer strategies into Inception vaults.

2. Adapter Handler

  • AdapterHandler.sol: A router that maps vaults to their respective adapters. Ensures that calls from vaults are correctly forwarded to the adapter implementing the logic for the selected strategy.

3. Asset Handler

  • Controls the list of supported tokens and tracks relationships between vaults and the tokens they can accept.

4. Interfaces

  • Define the expected structure and communication standard between vaults, adapters, and other contracts (e.g., IVault, IAdapter, etc.).

Flow Overview

  1. A new vault is created via the factory, specifying:

    • Accepted asset(s)

    • Adapter to use

    • Configuration parameters

  2. Deposits into the vault are routed to the adapter, which executes strategy-specific logic (e.g., restaking, yield generation).

  3. Withdrawals are similarly processed through the adapter, ensuring asset recovery and accounting.

  4. Tokenized representations (e.g., inETH) are minted and burned based on deposits/withdrawals.

Smart Contract Highlights

Contract

Role

InceptionBaseAdapter.sol

Defines adapter logic base class

InceptionEigenAdapter.sol

Specific adapter for EigenLayer strategies

AdapterHandler.sol

Central adapter registry and router

AssetHandler.sol

Asset registry and validation

VaultFactory.sol (external)

Deploys and configures new vaults

Extensibility

  • Developers can build new adapters for different protocols (e.g., Lido, Pendle, Morpho).

  • New strategies only require adapter contracts to follow the same interfaces.

  • Vaults are upgradeable (OpenZeppelin proxies), allowing iterative improvements and safety fixes.

Notes

  • Contracts are written in Solidity and follow Hardhat development standards.

  • .openzeppelin/ folder contains proxy deployment metadata.

  • Tests and deployment scripts are found in test/ and scripts/ respectively.

Last updated