Interfaces
This section provides an overview of the core interfaces used in the vault system. Each interface defines the standard methods for interacting with key components of the architecture.
Core Interfaces
DepositPipe
DepositPipeInterface for deposit operations. Each DepositPipe handles deposits for a specific asset type and implements ERC4626 compatibility.
Use Cases:
User deposits from same chain (hub)
Cross-chain deposits via LayerZero
Integration with DeFi protocols
RedemptionPipe
RedemptionPipeInterface for redemption operations. Handles instant and standard redemptions with liquidity management.
Use Cases:
User redemptions on hub chain
Cross-chain redemptions
Liquidity provider integrations
ShareManager
ShareManagerInterface for managing vault shares. Tracks total supply on all chains and enforces limits on deposits, supply, and withdrawals.
Use Cases:
Share minting/burning operations
Limit enforcement
Cross-chain share transfers
Security controls
NAVOracle
NAVOracleInterface for Net Asset Value (NAV) management. Tracks the total value of assets in the vault and provides controlled mechanisms for updating it.
Use Cases:
NAV tracking for share pricing
Deposit/redemption NAV updates
External valuation integrations
Standard Interfaces
The system also implements standard ERC interfaces:
ERC20: ShareManager implements standard ERC20 for share tokens
OFT: xTokens Share implements the LayerZero OFT standard
ERC4626: DepositPipe and RedemptionPipe implements ERC4626 and ERC7545 vault standard
Decimal Handling
Shares: Always 18 decimals
NAV: Always 18 decimals (normalized internally)
Deposit Assets: Native decimals (USDC = 6, USDT = 6, USDe = 18)
Last updated