Skip to main content
Source: src/FeeManager.sol

Responsibility

FeeManager holds the fund’s fee configuration and fee-accounting state, and computes fee accrual at each settlement. It never holds assets or mints shares itself—it returns amounts and recipients, and the Fund does the minting. All fees are paid in newly minted shares (diluting existing holders), never in assets:
High-water mark (HWM) is tracked on the fee-base-asset share price. First accrual initializes it; afterwards, performance fee only accrues when the new price exceeds the HWM, which ratchets up to the new price.
Fee base asset: management, performance, and protocol fees accrue on the base asset’s report, which is why the Fund always includes feeBaseAsset in the reported asset set.
Protocol fee recipient is not stored here—it is read from the FundManagerDeployer at accrual time. If the resolved recipient is zero, the protocol fee is skipped.
All bps values are capped at 10000 (100%).
Admin functions authorize against the Fund’s access control (spoke pattern).

Function reference

Fund-only

Admin setters

Roles are checked on the Fund.

Views

getFeeConfig(), entryFeeBps, exitFeeBps, managementFeeBps, performanceFeeBps, protocolFeeBps, feeBaseAsset, feeRecipient, highWaterMark, lastFeeAccrual, fund(). Fund · FundManagerDeployer · Fees (user guide)