IBaseFeeCalculator

Base interface for a contract that calculates TVL and performance fees for a vault and protocol

Functions

setProtocolFeeRecipient

Set the protocol fee recipient

function setProtocolFeeRecipient(address feeRecipient) external;

Parameters

Name
Type
Description

feeRecipient

address

The address of the protocol fee recipient

setProtocolFees

Set the protocol fee rates

function setProtocolFees(uint16 tvl, uint16 performance) external;

Parameters

Name
Type
Description

tvl

uint16

The TVL fee rate in basis points

performance

uint16

The performance fee rate in basis points

setVaultFees

Set the vault-specific fee rates

function setVaultFees(address vault, uint16 tvl, uint16 performance) external;

Parameters

Name
Type
Description

vault

address

The address of the vault

tvl

uint16

The TVL fee rate in basis points

performance

uint16

The performance fee rate in basis points

setVaultAccountant

Set the accountant for a vault

function setVaultAccountant(address vault, address accountant) external;

Parameters

Name
Type
Description

vault

address

The address of the vault

accountant

address

The address of the new accountant

Events

VaultFeesSet

Emitted when a vault's fees are updated

event VaultFeesSet(address indexed vault, uint16 tvlFee, uint16 performanceFee);

Parameters

Name
Type
Description

vault

address

The address of the vault

tvlFee

uint16

The new TVL fee rate in basis points

performanceFee

uint16

The new performance fee rate in basis points

ProtocolFeeRecipientSet

Emitted when the protocol fee recipient is updated

event ProtocolFeeRecipientSet(address indexed feeRecipient);

Parameters

Name
Type
Description

feeRecipient

address

The address of the protocol fee recipient

ProtocolFeesSet

Emitted when protocol fees are updated

event ProtocolFeesSet(uint16 tvlFee, uint16 performanceFee);

Parameters

Name
Type
Description

tvlFee

uint16

The new protocol TVL fee rate in basis points

performanceFee

uint16

The new protocol performance fee rate in basis points

VaultAccountantSet

Emitted when the accountant for a vault is updated

event VaultAccountantSet(address vault, address accountant);

Parameters

Name
Type
Description

vault

address

The address of the vault whose accountant is being updated

accountant

address

The address of the new accountant assigned to the vault

Errors

Aera__TvlFeeTooHigh

Thrown when attempting to set an TVL fee higher than the maximum allowed

error Aera__TvlFeeTooHigh();

Aera__PerformanceFeeTooHigh

Thrown when attempting to set a performance fee higher than the maximum allowed

error Aera__PerformanceFeeTooHigh();

Aera__ZeroAddressProtocolFeeRecipient

Thrown when attempting to set a protocol fee recipient to the zero address

error Aera__ZeroAddressProtocolFeeRecipient();

Aera__CallerIsNotVaultOwner

Thrown when attempting to set vault fees for a vault that is not owned by the caller

error Aera__CallerIsNotVaultOwner();

Aera__CallerIsNotVaultAccountant

Thrown when attempting to perform an action on a vault by someone who is not its assigned accountant

error Aera__CallerIsNotVaultAccountant();

Aera__VaultNotRegistered

Thrown during a vault is not registered and action requires a registered vault

error Aera__VaultNotRegistered();

Last updated