Testing Summary
Multyr's codebase has been subjected to extensive automated testing across multiple methodologies. Testing alone does not prove the absence of bugs, but it provides a strong foundation for the audit process.
Test Coverage
| Metric | Value |
|---|---|
| Test files | 226 |
| Test cases | 2,567+ |
Testing Methodologies
Unit Tests
Per-module tests covering individual contract functions and state transitions. Each module (CoreVault, StrategyRouter, BufferManager, FeeCollector, etc.) has a dedicated test suite.
Integration Tests
End-to-end tests validating complete user flows: deposit → allocation → yield accrual → withdrawal, including fee calculation and share accounting across the full lifecycle.
Fork Testing
Tests run against forked chain state (Arbitrum) to validate:
- Real asset behavior with live USDC
- Real adapter interactions with Aave V3, Euler, Morpho, and Compound
- Oracle edge cases with live price feeds
- Gas constraints under realistic conditions
Fuzz & Invariant Testing
Property-based testing that generates randomized inputs to verify protocol invariants hold under unexpected conditions. Key invariants tested include:
- Total shares always redeemable for total assets
- NAV per share never decreases absent a strategy loss event
- Fee calculations are deterministic and bounded
- No user action can extract more value than their proportional share
Shadow Vault Testing
Before mainnet launch, the full protocol stack runs on-chain in a shadow testing configuration:
- Same contracts and parameters as mainnet
- Real oracle feeds
- Limited or test capital
- Long-running observation to catch timing, gas, liquidity, and accounting edge cases not visible in unit tests
Audit Status
A comprehensive audit of all core contracts and strategy adapters is planned before mainnet launch. Audit reports will be published as they become available.
Bug Bounty
A bug bounty program is planned on Immunefi (or a comparable platform) before mainnet launch. Details will be published when the program is live.
Document version: 1.0 Last updated: 2026-04-10