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

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

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

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

Parameters

Name
Type
Description

feeRecipient

address

The address of the protocol fee recipient

ProtocolFeesSet

Emitted when protocol fees are updated

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

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

Aera__PerformanceFeeTooHigh

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

Aera__ZeroAddressProtocolFeeRecipient

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

Aera__CallerIsNotVaultOwner

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

Aera__CallerIsNotVaultAccountant

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

Aera__VaultNotRegistered

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

Last updated