fee-architecture

Reference for Doppler fee collection, distribution, and configuration across Airlock, FeesManager, locker contracts, and hook-based fee paths.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "fee-architecture" with this command: npx skills add rustydotwtf/doppler-skills/rustydotwtf-doppler-skills-fee-architecture

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 typePrimary locationTypical claim path
Protocol/integrator accountingsrc/Airlock.solcollectProtocolFees(...), collectIntegratorFees(...)
Beneficiary fees (initializer/locker)src/base/FeesManager.sol, locker modulescollectFees(...)
Rehypothecation hook beneficiary + protocol-owner bucketssrc/dopplerHooks/RehypeDopplerHook.solcollectFees(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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

uniswap-fundamentals

No summary provided by upstream source.

Repository SourceNeeds Review
General

token-lifecycle

No summary provided by upstream source.

Repository SourceNeeds Review
General

verification

No summary provided by upstream source.

Repository SourceNeeds Review
General

proceeds-split-migration

No summary provided by upstream source.

Repository SourceNeeds Review