Skip to main content

Testing

Current Phase: Shadow Mainnet Testing

Multyr contracts are deployed on Arbitrum One. The system is currently in validation phase. Deposits are not open to the public. Behavior described on this page reflects the protocol's designed behavior; some mechanisms are active in shadow testing, others become active at public launch. See the Status page for details.

Multyr has undergone extensive testing across multiple dimensions, including correctness, resilience, and adversarial behavior.


Overview

The testing framework includes:

  • unit testing
  • integration testing
  • fuzz testing
  • invariant testing
  • fork-based validation
  • adversarial simulations
  • stress and chaos testing

Testing is designed to validate both normal operation and extreme edge cases.


Test Scale

  • 289 test files
  • 3,500+ test functions
  • 50+ stateful invariants
  • 14 fork validation domains
  • multi-phase chaos simulation (24h equivalent)

Invariant Testing

Stateful invariant testing verifies that core system properties always hold, regardless of execution order.

Examples include:

  • solvency conditions
  • share-to-asset consistency
  • fee bounds enforcement
  • queue integrity
  • value conservation

These invariants are tested across thousands of randomized execution sequences.


Fuzz Testing

Fuzz testing is applied across critical paths:

  • deposits and withdrawals
  • fee calculations
  • strategy allocation
  • adapter interactions

Randomized inputs are used to verify:

  • correctness
  • rounding behavior
  • boundary conditions

Adversarial Testing

The system is tested against hostile scenarios, including:

  • reentrancy attacks
  • cross-function interactions
  • denial-of-service patterns
  • gas griefing attempts

These tests validate that the system remains stable under malicious behavior.


Chaos & Stress Testing

The protocol is tested under simulated stress conditions:

  • multi-phase failure scenarios
  • oracle degradation
  • adapter failures
  • liquidity constraints

Recovery behavior is explicitly validated.


Fork Validation

Testing is performed against live protocol environments via fork testing.

This validates:

  • real integration behavior
  • external protocol interactions
  • system consistency under real-world conditions

Summary

Testing in Multyr is designed to:

  • validate correctness
  • enforce critical invariants
  • simulate adversarial conditions
  • ensure recovery under stress

Testing significantly reduces risk but does not eliminate it.


For a detailed breakdown of testing coverage and invariant suites, see: → Testing Deep Dive