Interface Documentation
This repository contains the Move interface definitions for the The Ferra DAMM (Dynamic Automated Market Maker )protocol. These interfaces provide type definitions and function signatures without imp
Last updated
┌─────────────────────────────────────────────────────────────┐
│ GlobalConfig │
│ (Fee Tiers, Fee Schedulers, Dynamic Fee Params, ACL) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Factory │
│ (Pool Registry, Pool Creation) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Pool │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │TickManager │ │PositionMng │ │ RewarderManager │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ PairParameters │ │
│ │ (Fee Scheduler + Dynamic Fee + Price State) │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Position NFT │
│ (Transferable, Lockable, Fee Earning) │
└─────────────────────────────────────────────────────────────┘total_fee = base_fee + variable_fee
where:
- base_fee = scheduled_fee (from fee scheduler) OR static_fee_rate
- variable_fee = volatility_based_fee (from dynamic fee system)current_fee = cliff_fee - (periods_elapsed × reduction_per_period)current_fee = cliff_fee × (decay_factor ^ periods_elapsed)variable_fee = (volatility_accumulator × variable_fee_control) / PRECISION