Skip to content

Repository files navigation

Eagle OVault

Omnichain Yield Aggregator - ERC-4626 compliant vault + LayerZero V2 share bridging

License: MITSolidityLayerZeroMulti-Chain

📋 Table of Contents

Overview

Eagle OVault is an ERC-4626 compliant, WLFI-denominated vault with synchronous deposits and redemptions (deposit/mint/withdraw/redeem). Internally, the system can hold WLFI and other exposures (e.g. USD1) and accounts for them in WLFI-equivalent terms via totalAssets(). Vault share exposure can be bridged across chains via LayerZero V2.

Key Features

  • 🏦 ERC-4626 (synchronous): Standard deposit/mint/withdraw/redeem interface; user deposits are WLFI (the ERC-4626 asset())
  • 🌐 Omnichain Native: LayerZero V2 enables cross-chain bridging of vault shares
  • 📈 Strategy support: Optional strategy layer can deploy capital into external positions (e.g. Charm / Uniswap V3)
  • 🔒 Non-Custodial: Your keys, your tokens - full control maintained
  • ⚡ Gas Optimized: Efficient smart contracts with comprehensive testing
  • 🛡️ Security-focused: Built to be auditable; arrange an independent review before production use

Multi-Chain Support

Eagle OVault is deployed across 8+ blockchains with full LayerZero V2 integration:

NetworkChain IDLZ EIDStatusExplorer
Ethereum130101🟢 ProductionEtherscan
Base845330184🟢 ProductionBaseScan
Arbitrum4216130110🟢 ProductionArbiscan
BSC5630102🔄 ConfiguredBscScan
Avalanche4311430106🔄 ConfiguredSnowTrace
Monad14330390🔄 ConfiguredMonad Blockscout
Sonic14630332🔄 ConfiguredSonicScan
HyperEVM99930367🔄 ConfiguredPurrsec

Architecture

graph TB
%% User Interface
subgraph UI_LAYER["👤 USER INTERFACE"]
UI["<b>Users</b><br/>Deposit WLFI (ERC-4626)"]
end
%% Core Protocol
subgraph ETH_LAYER["⟠ ETHEREUM MAINNET - HUB"]
EV["<b>EagleOVault</b><br/>Main Vault Contract"]
ES["<b>EagleShareOFT</b><br/>LayerZero V2 Bridge"]
subgraph STRATEGIES["📊 STRATEGIES (INTERNAL)"]
S1["<b>Charm</b><br/>WLFI/USD1 exposure"]
S2["<b>Charm</b><br/>WETH/WLFI exposure"]
end
end
%% Cross-Chain Destinations
subgraph CHAINS["🌐 CROSS-CHAIN NETWORKS"]
B["<b>Base</b>"]
A["<b>Arbitrum</b>"]
M["<b>Monad</b>"]
SC["<b>Sonic</b>"]
H["<b>HyperEVM</b>"]
BSC["<b>BSC</b>"]
AV["<b>Avalanche</b>"]
end
%% External Protocols
subgraph EXTERNAL["🎯 EXTERNAL PROTOCOLS"]
CV["<b>Charm Alpha Vaults</b><br/>Uniswap V3 LP"]
end
%% Connections
UI --> EV
EV --> S1
EV --> S2
S1 --> CV
S2 --> CV
EV --> ES
ES --> B
ES --> A
ES --> M
ES --> SC
ES --> H
ES --> BSC
ES --> AV
%% High Contrast Styling with dark text
classDef vault fill:#1565C0,stroke:#0D47A1,stroke-width:3px,color:#FFFFFF
classDef strategy fill:#7B1FA2,stroke:#4A148C,stroke-width:2px,color:#FFFFFF
classDef oft fill:#2E7D32,stroke:#1B5E20,stroke-width:3px,color:#FFFFFF
classDef network fill:#E65100,stroke:#BF360C,stroke-width:2px,color:#FFFFFF
classDef external fill:#C2185B,stroke:#880E4F,stroke-width:2px,color:#FFFFFF
classDef ui fill:#37474F,stroke:#263238,stroke-width:2px,color:#FFFFFF
class EV vault
class S1,S2 strategy
class ES oft
class B,A,M,SC,H,BSC,AV network
class CV external
class UI ui
Loading

Quick Start

Prerequisites

  • Node.js 18+ with pnpm
  • Git for version control

Installation

# Clone the repository
git clone https://github.com/47-Eagle/v1.git
cd v1
# Install dependencies
pnpm install

Development

# Run tests
pnpm test# Start frontend development (integration examples)cd frontend && pnpm dev
# View deployment information
cat deployments/README.md

Project Structure

v1/
├── contracts/ # Solidity smart contracts
│ ├── EagleOVault.sol # Main vault contract
│ ├── strategies/ # Yield strategies (Charm Finance integration)
│ ├── layerzero/ # Cross-chain functionality
│ └── interfaces/ # Contract interfaces
├── deployments/ # Multi-chain deployment registry
│ ├── ethereum/ # Ethereum mainnet contracts
│ ├── base/ # Base network contracts
│ ├── arbitrum/ # Arbitrum contracts
│ └── README.md # Deployment documentation
├── docs/
│ └── notes/ # Historical fix notes / internal checklists
├── solana/ # Solana programs & LayerZero integration
│ ├── programs/ # Smart contracts (OFT, Registry)
│ └── layerzero/ # Integration tools & examples
├── frontend/ # Integration examples & configurations
│ ├── src/
│ │ ├── hooks/ # Contract interaction hooks
│ │ ├── config/ # Contract addresses & ABIs
│ │ └── pages/ # Example page components
│ └── package.json # Frontend dependencies
├── LICENSE # MIT license
├── README.md # This documentation
└── package.json # Project configuration

Project Notes

Historical fix notes, checklists, and internal status docs live under docs/notes/ to keep the repo root clean.

Contracts

Core Contracts

ContractAddressNetworkDescription
EagleOVault0x47b3ef629D9cB8DFcF8A6c61058338f4e99d7953EthereumERC-4626 vault (WLFI asset; synchronous deposit/redemption)
EagleShareOFT0x474eD38C256A7FA0f3B8c48496CE1102ab0eA91EEthereumLayerZero OFT for cross-chain shares
EagleVaultWrapper0x47dAc5063c526dBc6f157093DD1D62d9DE8891c5EthereumWrapper for additional functionality

Strategy Contracts

Strategy contracts live under contracts/strategies/ and integrate with external venues (e.g. Charm / Uniswap V3). Exact strategy wiring is deployment-specific—use deployments/ and frontend/src/config/contracts.ts as the source of truth.

Cross-Chain Contracts

AssetBase ContractSpoke Contracts
EAGLE0x474eD38C256A7FA0f3B8c48496CE1102ab0eA91EBase, Arbitrum, Monad, Sonic, HyperEVM, BSC, Avalanche
WLFI OFT0x47af3595BFBE6c86E59a13d5db91AEfbFF0eA91eBase

Solana Integration

Eagle OVault includes Solana blockchain integration for enhanced cross-chain functionality:

Solana Programs

ComponentDescriptionLocation
Eagle OFTLayerZero OFT implementation for Solanasolana/programs/eagle-oft-layerzero/
RegistryCross-chain state managementsolana/programs/eagle-registry-solana/

LayerZero Integration

# Build Solana programscd solana/programs
anchor build
# Run LayerZero examplescd solana/layerzero
pnpm install
npx tsx examples/send-to-ethereum.ts

Solana Addresses

  • OFT Program ID: Deployed program address (see deployment logs)
  • Registry Program ID: Deployed program address (see deployment logs)

Testing & Security

Testing

# Run the test suite
pnpm test# Run security analysis (when dependencies are available)# Note: Advanced testing requires additional setup

Security Features

  • Access Controls: Multi-signature recommended for admin functions
  • OpenZeppelin Standards: Uses standard, battle-tested primitives where applicable
  • Defense-in-depth: Reentrancy guards, input checks, and conservative external integrations

Security Monitoring

  • Dependabot: Automated dependency updates and security alerts
  • Manual Reviews: Regular security assessments
  • Audit Reports: If/when published, link them here (recommended before production use)

Usage

Deposit & Withdraw

// ERC-4626 deposit (WLFI asset)IERC4626 vault =IERC4626(EAGLE_OVAULT);
IERC20 asset =IERC20(vault.asset());
asset.approve(address(vault), assets);
uint256 shares = vault.deposit(assets, receiver);
// ERC-4626 redeem (synchronous)uint256 assetsOut = vault.redeem(shares, receiver, owner);

Cross-Chain Bridging

// See `frontend/abis/EagleShareOFT.json` for the exact structs.// High-level flow:// 1) quoteSend(sendParam, payInLzToken)// 2) send(sendParam, fee, refundAddress)

Development

Smart Contracts

# Install dependencies
pnpm install
# Run tests
pnpm test# For contract development, additional tools may be needed:# - Foundry (forge) for advanced Solidity testing# - Hardhat for Ethereum development# - LayerZero CLI for cross-chain configuration

Frontend Integration

The frontend/ directory contains integration examples and hooks:

cd frontend
# Install dependencies
pnpm install
# Start development server (view integration examples)
pnpm dev
# Build examples
pnpm build

Solana Development

cd solana/programs
# Build Solana programs (requires Anchor)
anchor build
# Deploy to devnet (requires Solana CLI)
anchor deploy --provider.cluster devnet

API Reference

Vault Functions

  • asset() - ERC-4626 underlying asset (WLFI)
  • totalAssets() - Total assets under management (WLFI-denominated)
  • deposit(uint256 assets, address receiver) - Deposit WLFI and receive shares
  • mint(uint256 shares, address receiver) - Mint shares by depositing the required WLFI
  • withdraw(uint256 assets, address receiver, address owner) - Withdraw WLFI by burning shares
  • redeem(uint256 shares, address receiver, address owner) - Redeem shares for WLFI
  • convertToShares(uint256 assets) - Convert assets to shares
  • convertToAssets(uint256 shares) - Convert shares to assets

Configuration

Contract Addresses

All deployed contract addresses are documented in the deployments/ directory:

# View deployment information
cat deployments/README.md
# View specific network deployments
cat deployments/ethereum/ethereum.json
cat deployments/base/base.json

Network Information

The protocol is deployed across multiple networks. See the Multi-Chain Support section above for complete deployment details.

Frontend Integration

Contract addresses and ABIs for frontend integration are available in:

# Contract addresses
frontend/src/config/contracts.ts
# Integration hooks
frontend/src/hooks/

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes with comprehensive tests
  4. Run the full test suite: pnpm test
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to your branch (git push origin feature/amazing-feature)
  7. Open a Pull Request with detailed description

Development Guidelines

  • Follow Solidity style guide
  • Write comprehensive tests for new features
  • Update documentation for API changes
  • Ensure all tests pass before submitting PR
  • Use conventional commit messages

Security

Audit Reports

  • If you are deploying this system in production, arrange an independent security review and publish the report(s) here.

Best Practices

  • Multi-signature recommended for admin functions
  • Timelock on critical parameter changes
  • Emergency pause functionality available
  • Input validation on all user-facing functions
  • Reentrancy protection implemented throughout

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support


🌐 Multi-Chain DeFi Protocol | ⚡ Powered by LayerZero V2 | 🔄 Charm Finance Integration | 🛡️ Security Audited

Eagle OVault - Democratizing omnichain yield aggregation through institutional-grade infrastructure.

About

Omnichain yield aggregator powered by LayerZero V2. Deposit WLFI + USD1, earn over 50% APY via Charm Finance's concentrated liquidity strategies on Uniswap V3. Seamless cross-chain vault shares (EAGLE) with identical addresses across Ethereum, Arbitrum, Base & more.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages