Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ v1 Public

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.

License

Notifications You must be signed in to change notification settings

47-Eagle/v1

Repository files navigation

Eagle OVault

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

License: MIT Solidity LayerZero Multi-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:

Network Chain ID LZ EID Status Explorer
Ethereum 1 30101 🟒 Production Etherscan
Base 8453 30184 🟒 Production BaseScan
Arbitrum 42161 30110 🟒 Production Arbiscan
BSC 56 30102 πŸ”„ Configured BscScan
Avalanche 43114 30106 πŸ”„ Configured SnowTrace
Monad 143 30390 πŸ”„ Configured Monad Blockscout
Sonic 146 30332 πŸ”„ Configured SonicScan
HyperEVM 999 30367 πŸ”„ Configured Purrsec

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

Contract Address Network Description
EagleOVault 0x47b3ef629D9cB8DFcF8A6c61058338f4e99d7953 Ethereum ERC-4626 vault (WLFI asset; synchronous deposit/redemption)
EagleShareOFT 0x474eD38C256A7FA0f3B8c48496CE1102ab0eA91E Ethereum LayerZero OFT for cross-chain shares
EagleVaultWrapper 0x47dAc5063c526dBc6f157093DD1D62d9DE8891c5 Ethereum Wrapper 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

Asset Base Contract Spoke Contracts
EAGLE 0x474eD38C256A7FA0f3B8c48496CE1102ab0eA91E Base, Arbitrum, Monad, Sonic, HyperEVM, BSC, Avalanche
WLFI OFT 0x47af3595BFBE6c86E59a13d5db91AEfbFF0eA91e Base

Solana Integration

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

Solana Programs

Component Description Location
Eagle OFT LayerZero OFT implementation for Solana solana/programs/eagle-oft-layerzero/
Registry Cross-chain state management solana/programs/eagle-registry-solana/

LayerZero Integration

# Build Solana programs
cd solana/programs
anchor build

# Run LayerZero examples
cd 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

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 4

  •  
  •  
  •  
  •