Skip to main content

Overview

FeeVault manages fee accrual and distribution for Aera V3 vaults. Fees accrue over time based on vault performance and are calculated by a dedicated fee calculator contract — DelayedFeeCalculator for single-depositor vaults or PriceAndFeeCalculator for multi-depositor vaults. The guardian or fee recipient can claim accrued fees, but cannot manipulate the fee calculation itself. Fee accrual uses time-delayed or snapshot-based mechanisms to prevent manipulation through timing. The vault owner configures fee parameters and recipient addresses. For the conceptual model of how fees work in the Aera V3 protocol, see Curation and Security.

Functions

reportFees

Reports the current fee state to the vault. Called by the guardian or fee calculator to update accrued fee amounts based on the latest vault value. Signature:
function reportFees(uint256 vaultValue) external
ParameterTypeDescription
vaultValueuint256Current vault value for fee calculation

claimFees

Claims accrued fees for the caller. The fee recipient can withdraw their accrued fees from the vault. Signature:
function claimFees(address token, uint256 amount, address recipient) external
ParameterTypeDescription
tokenaddressToken address to claim fees in
amountuint256Amount of fees to claim
recipientaddressAddress to receive the claimed fees

setFeeRecipient

Sets the address that receives guardian fees. Only callable by the vault owner. Signature:
function setFeeRecipient(address recipient) external
ParameterTypeDescription
recipientaddressAddress of the new fee recipient

accruedFees

Returns the total accrued fees available for claiming. Signature:
function accruedFees() external view returns (uint256)

feeRecipient

Returns the current fee recipient address. Signature:
function feeRecipient() external view returns (address)

Events

FeesReported

Emitted when fees are reported to the vault.
event FeesReported(uint256 vaultValue, uint256 feesAccrued)

FeesClaimed

Emitted when accrued fees are claimed.
event FeesClaimed(address indexed token, uint256 amount, address indexed recipient)

FeeRecipientSet

Emitted when the fee recipient is updated.
event FeeRecipientSet(address indexed recipient)

Errors

FeeVault__InsufficientFees

Thrown when a claim exceeds accrued fees.
error FeeVault__InsufficientFees()

FeeVault__NotAuthorized

Thrown when an unauthorized address attempts a fee operation.
error FeeVault__NotAuthorized()

Inheritance

FeeVault is typically composed alongside a vault rather than inherited directly:
  • BaseVault uses FeeVault for fee accounting
  • DelayedFeeCalculator — Time-delayed fee calculation for single-depositor vaults
  • PriceAndFeeCalculator — Unit-based fee calculation for multi-depositor vaults
See Periphery for fee calculator contract details.
This page was manually created as a baseline. Run the contract reference generation pipeline to update with complete NatSpec documentation from the Solidity source.