Composable fee system for ERC-4626 vaults supporting management, performance, entry, and exit fees. Abstract contract — inherit it in any vault to add plug-and-play fee collection with immutable caps.
Category: contracts
Files: 5
Chains: Ethereum, Arbitrum, Base, Optimism
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; /// @title Vault Fee Module /// @notice Pluggable fee system: streaming, performance, entry/exit fees. contract VaultFeeModule { address public immutable owner; uint256 public constant VERSION = 1; event Initialized(address indexed deployer); constructor() { owner = msg.sender; emit Initialized(msg.sender); } // ... full implementation in purchased package }