MORE
  • Introduction
  • MORE Vaults
    • Vaults Framework
      • Diamond Standard (EIP-2535)
      • Component Interactions
      • Upgrade & Governance Flow
    • Core Protocol Components
      • Factory
      • Core Facets
      • Registries
      • Internal Libraries
      • Accounting
    • Connectors
      • AMMs & DEXes
      • Staking
      • Lending
      • Leverage
      • Oracles
      • External Interfaces
      • Multicall
    • Security & Governance
      • Roles & Access Control
      • Upgrade Flow & Timelock
      • Configuration Guard Rails
      • Registries as Boundaries
      • Error & Event Catalogue
    • Developer Workflows
      • Deploying a New Vault
      • Extend with New Facets
      • Indexer Integration
    • Reference & Glossary
      • Event Index
      • Capabilities
      • Terms & Abbreviations
      • Contracts
  • MORE Markets
    • Markets Framework
      • Liquidity Protocol
      • Supply
      • Borrow
      • Repay
      • Withdraw
      • Liquidations
      • Flash Loans
      • Risks
    • Markets
      • Liquidity Pool
      • Reserve
      • Incentives
      • Oracles
    • Contracts
    • Build
  • Resources
    • Code, Licenses & Audits
    • Brand Assets
  • Privacy Policy
  • Terms of Use
Powered by GitBook
On this page
  1. MORE Vaults
  2. Vaults Framework

Component Interactions

PreviousDiamond Standard (EIP-2535)NextUpgrade & Governance Flow

Last updated 16 days ago

A single MORE Vault is more than just a vault contract. It is the crux of a small ecosystem: the factory that mints it, the registry that vouches for it, the diamond proxy that hosts its logic, and the shared storage library that keeps every facet in sync.

Understanding how data and authority flow across those components is critical for auditors, integrators, and strategy creators. This section walks through the lifecycle of a call, from deposits via a front-end, through the factory, diamond, facets, and finally back to the user, highlighting where state is mutated, where security boundaries lie, and which contracts are purely informational.

  1. Vaults Factory deploys a fresh Diamond, wires in an initial facet bundle, and emits VaultDeployed.

  2. The new vault registers itself in the VaultsRegistry, making it discoverable and authenticatable. ​

  3. MoreVaultsLib sits behind every facet, anchoring shared storage (assets list, fee config, selector map) at MORE_VAULTS_STORAGE_POSITION. All facets read/write through this library, eliminating storage-collision risk. ​

  4. MulticallFacet offers a batched submitActions → executeActions flow with a built-in timelock, so managers can publish an upgrade plan and users can exit if they dislike it or a guardians can veto it. ​

  5. Read-only tooling (dashboards, indexers) queries DiamondLoupeFacet to paint a live picture of vault capabilities.

No single facet is privileged to touch user funds directly; they cooperate through the common storage layer and respect ERC-4626 accounting ingrained in VaultFacet (covered in ).

Core Protocol Components