AccountableFeeData

Documentation for eth_defi.erc_4626.vault_protocol.accountable.vault.AccountableFeeData Python class.

class AccountableFeeData

Bases: object

Snapshot all Accountable fee-manager terms for one vault.

Accountable has two deployed fee-manager interfaces. The legacy interface supports establishment and performance fees; the current interface also supports an annualised management fee and separate manager/protocol splits for management and performance charges. All percentages use the manager’s runtime BASIS_POINTS() denominator, which is currently one million.

Establishment and prepayment fees are loan terms paid by the borrower. They are included here for a complete native view, but are not ERC-4626 LP deposit or withdrawal fees. minimum_deposit is decimalised using the vault denomination token while minimum_deposit_raw preserves the effective maximum of the vault and strategy contract thresholds.

Attributes summary

block_identifier

Block tag or number shared by every read in this snapshot.

vault_address

ERC-4626 vault whose fee terms were read.

strategy_address

Accountable loan/strategy configured by the vault.

fee_manager_address

Fee-manager contract configured by the strategy.

treasury_address

Address receiving the protocol share of collected fees.

manager_fee_recipient_address

Address receiving the manager share of collected fees.

basis_points

Runtime percentage denominator returned by BASIS_POINTS().

supports_management_fee

Whether the deployed fee manager supports annual management fees.

establishment_fee_raw

Borrower establishment fee in Accountable percentage units.

management_fee_raw

Annualised management fee in Accountable percentage units.

performance_fee_raw

Performance fee in Accountable percentage units.

manager_performance_fee_split_raw

Manager share of the performance fee in Accountable percentage units.

protocol_performance_fee_split_raw

Protocol share of the performance fee in Accountable percentage units.

manager_management_fee_split_raw

Manager share of the management fee, or None on the legacy ABI.

protocol_management_fee_split_raw

Protocol share of the management fee, or None on the legacy ABI.

prepayment_fee_raw

Borrower prepayment fee in Accountable percentage units.

vault_minimum_deposit_raw

Vault-level dust threshold returned by MIN_AMOUNT_WEI(), if exposed.

strategy_minimum_deposit_raw

Strategy-level configured loan.minDeposit, if exposed.

minimum_deposit_raw

Effective ERC-20 base-unit minimum accepted by deposit().

minimum_deposit

Human-readable minimum deposit in denomination-token units, if exposed.

establishment_fee

Return the borrower establishment fee as a fraction.

management_fee

Return the annualised management fee as a fraction.

manager_management_fee_split

Return the manager's share of management fees when supported.

manager_performance_fee_split

Return the manager's share of performance fees as a fraction.

performance_fee

Return the performance fee as a fraction.

prepayment_fee

Return the borrower prepayment fee as a fraction.

protocol_management_fee_split

Return the protocol's share of management fees when supported.

protocol_performance_fee_split

Return the protocol's share of performance fees as a fraction.

Methods summary

__init__(block_identifier, vault_address, ...)

as_generic_fee_data()

Map investor-facing Accountable fees to the shared fee schema.

block_identifier: Union[Literal['latest', 'earliest', 'pending', 'safe', 'finalized'], eth_typing.evm.BlockNumber, eth_typing.evm.Hash32, eth_typing.encoding.HexStr, int]

Block tag or number shared by every read in this snapshot.

vault_address: eth_typing.evm.HexAddress

ERC-4626 vault whose fee terms were read.

strategy_address: eth_typing.evm.HexAddress

Accountable loan/strategy configured by the vault.

fee_manager_address: eth_typing.evm.HexAddress

Fee-manager contract configured by the strategy.

treasury_address: eth_typing.evm.HexAddress

Address receiving the protocol share of collected fees.

manager_fee_recipient_address: eth_typing.evm.HexAddress

Address receiving the manager share of collected fees.

basis_points: int

Runtime percentage denominator returned by BASIS_POINTS().

supports_management_fee: bool

Whether the deployed fee manager supports annual management fees.

establishment_fee_raw: int

Borrower establishment fee in Accountable percentage units.

management_fee_raw: int

Annualised management fee in Accountable percentage units.

Legacy fee managers structurally have no management fee, represented as zero together with supports_management_fee=False.

performance_fee_raw: int

Performance fee in Accountable percentage units.

manager_performance_fee_split_raw: int

Manager share of the performance fee in Accountable percentage units.

protocol_performance_fee_split_raw: int

Protocol share of the performance fee in Accountable percentage units.

manager_management_fee_split_raw: Optional[int]

Manager share of the management fee, or None on the legacy ABI.

protocol_management_fee_split_raw: Optional[int]

Protocol share of the management fee, or None on the legacy ABI.

prepayment_fee_raw: int

Borrower prepayment fee in Accountable percentage units.

vault_minimum_deposit_raw: Optional[int]

Vault-level dust threshold returned by MIN_AMOUNT_WEI(), if exposed.

strategy_minimum_deposit_raw: Optional[int]

Strategy-level configured loan.minDeposit, if exposed.

minimum_deposit_raw: Optional[int]

Effective ERC-20 base-unit minimum accepted by deposit().

This is the maximum of the vault and strategy thresholds when present.

minimum_deposit: Optional[decimal.Decimal]

Human-readable minimum deposit in denomination-token units, if exposed.

property establishment_fee: float

Return the borrower establishment fee as a fraction.

property management_fee: float

Return the annualised management fee as a fraction.

property performance_fee: float

Return the performance fee as a fraction.

property manager_performance_fee_split: float

Return the manager’s share of performance fees as a fraction.

property protocol_performance_fee_split: float

Return the protocol’s share of performance fees as a fraction.

property manager_management_fee_split: Optional[float]

Return the manager’s share of management fees when supported.

property protocol_management_fee_split: Optional[float]

Return the protocol’s share of management fees when supported.

property prepayment_fee: float

Return the borrower prepayment fee as a fraction.

as_generic_fee_data()

Map investor-facing Accountable fees to the shared fee schema.

Accountable deducts management and performance charges before updating the value backing vault shares, so both are internalised skimming fees. Establishment and prepayment charges apply to the underlying borrower, not an LP entering or leaving the ERC-4626 vault. Generic deposit and withdrawal fees are therefore known to be zero.

Returns

Shared fee data suitable for vault metadata and comparisons.

Return type

eth_defi.vault.fee.FeeData

__init__(block_identifier, vault_address, strategy_address, fee_manager_address, treasury_address, manager_fee_recipient_address, basis_points, supports_management_fee, establishment_fee_raw, management_fee_raw, performance_fee_raw, manager_performance_fee_split_raw, protocol_performance_fee_split_raw, manager_management_fee_split_raw, protocol_management_fee_split_raw, prepayment_fee_raw, vault_minimum_deposit_raw, strategy_minimum_deposit_raw, minimum_deposit_raw, minimum_deposit)
Parameters
Return type

None