fee-architecture

SKILL.md

Source References: Use Doppler deployments as the contract source of truth for deployed addresses and revisions.

Fee Architecture

When to use

  • You need to explain where fees are tracked and how payouts are derived
  • You are debugging fee outcomes across migration and beneficiary paths
  • You are changing LP fee configuration or hook-driven fee behavior
  • You are validating multicurve fee decay configuration (startFee, fee, durationSeconds, startingTime)

Prerequisites

  • Identify sale path (static, dynamic, multicurve, or hook-initialized multicurve path)
  • Identify whether pool is locked (beneficiaries enabled) or migrable

Core workflow

  1. Identify fee surfaces in the flow:
    • Swap-time LP fees (pool/hook context)
    • Migration-time proceeds accounting in Airlock
    • Beneficiary fee tracking in FeesManager / locker modules
  2. Confirm storage location for each fee bucket:
    • Airlock fee accounting mappings
    • Hook-local storage (for example RehypeDopplerHook fee buckets)
    • Locker/initializer collectFees paths for beneficiaries
  3. Validate claim paths for each actor (beneficiary, buyback destination, integrator, or protocol owner).
  4. Reconcile balances before and after claims on-chain.

Quick facts

Fee type Primary location Typical claim path
Protocol/integrator accounting src/Airlock.sol collectProtocolFees(...), collectIntegratorFees(...)
Beneficiary fees (initializer/locker) src/base/FeesManager.sol, locker modules collectFees(...)
Rehypothecation hook beneficiary + protocol-owner buckets src/dopplerHooks/RehypeDopplerHook.sol collectFees(asset), claimAirlockOwnerFees(asset)

Failure modes

  • Wrong signer for beneficiary claim/update methods
  • Wrong signer for protocol/integrator claim methods
  • Using stale pool status assumptions (Initialized vs Locked/Graduated)
  • Confusing proceeds split logic with LP fee accounting
  • Treating V2-only mechanics as active defaults

References

Related skills

Weekly Installs
8
GitHub Stars
3
First Seen
Feb 3, 2026
Installed on
opencode8
gemini-cli7
claude-code7
github-copilot7
codex7
kimi-cli7