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. Developer Workflows

Extend with New Facets

Upgrades follow a publish‑delay‑commit rhythm so that depositors see them coming.

  1. Draft the facet: Import BaseFacetInitializer, use MoreVaultsLib for shared storage, and guard sensitive calls with the existing role modifiers.

  2. Audit & dry‑run: Because the facet is self‑contained, diffing focuses on its selectors and storage writes, not the whole vault.

  3. Submit via Multicall: Pack a diamondCut plus any config tweaks into submitActions; the call is timestamped and logged.

  4. Wait out the timelock: Deposit‑side UX and bots can decode the pending batch through getPendingActions.

  5. Execute: A manager calls executeActions. DiamondCutFacet swaps the selectors, and DiamondLoupeFacet immediately reflects the new map for indexers.

If something looks off, a guardian can cancel with vetoActions before the delay expire; no need to pause or migrate funds.

PreviousDeploying a New VaultNextIndexer Integration

Last updated 14 days ago