Skip to main content

IWatermarkFeeManager

Git Source

Inherits: IFeeManager, ISecurityModuleReference, IMachinePeriphery

Functions

mgmtFeeRatePerSecond

Management fee rate per second, 1e18 = 100%.

function mgmtFeeRatePerSecond() external view returns (uint256);

smFeeRatePerSecond

Security module fee rate per second, 1e18 = 100%.

function smFeeRatePerSecond() external view returns (uint256);

perfFeeRate

Performance fee rate on profit, 1e18 = 100%.

function perfFeeRate() external view returns (uint256);

mgmtFeeReceivers

Fixed fee receivers.

function mgmtFeeReceivers() external view returns (address[] memory);

mgmtFeeSplitBps

Fixed fee split between receivers in basis points. Values must sum to 10_000.

function mgmtFeeSplitBps() external view returns (uint256[] memory);

perfFeeReceivers

Performance fee receivers.

function perfFeeReceivers() external view returns (address[] memory);

perfFeeSplitBps

Performance fee split between receivers in basis points. Values must sum to 10_000.

function perfFeeSplitBps() external view returns (uint256[] memory);

sharePriceWatermark

Current share price high watermark for the associated Machine.

function sharePriceWatermark() external view returns (uint256);

resetSharePriceWatermark

Resets the share price high watermark.

function resetSharePriceWatermark(uint256 sharePrice) external;

setMgmtFeeRatePerSecond

Sets the management fee rate per second.

function setMgmtFeeRatePerSecond(uint256 newMgmtFeeRatePerSecond) external;

Parameters

NameTypeDescription
newMgmtFeeRatePerSeconduint256The new management fee rate per second. 1e18 = 100%.

setSmFeeRatePerSecond

Sets the security module fee rate per second.

function setSmFeeRatePerSecond(uint256 newSmFeeRatePerSecond) external;

Parameters

NameTypeDescription
newSmFeeRatePerSeconduint256The new security module fee rate per second. 1e18 = 100%.

setPerfFeeRate

Sets the performance fee rate.

function setPerfFeeRate(uint256 newPerfFeeRate) external;

Parameters

NameTypeDescription
newPerfFeeRateuint256The new performance fee rate on profit. 1e18 = 100%.

setMgmtFeeSplit

Sets the fixed fee split and receivers.

function setMgmtFeeSplit(address[] calldata newMgmtFeeReceivers, uint256[] calldata newMgmtFeeSplitBps) external;

Parameters

NameTypeDescription
newMgmtFeeReceiversaddress[]The new fixed fee receivers.
newMgmtFeeSplitBpsuint256[]The new fixed fee split between receivers in basis points. Values must sum to 10_000.

setPerfFeeSplit

Sets the performance fee split and receivers.

function setPerfFeeSplit(address[] calldata newPerfFeeReceivers, uint256[] calldata newPerfFeeSplitBps) external;

Parameters

NameTypeDescription
newPerfFeeReceiversaddress[]The new performance fee receivers.
newPerfFeeSplitBpsuint256[]The new performance fee split between receivers in basis points. Values must sum to 10_000.

Events

MgmtFeeSplitChanged

event MgmtFeeSplitChanged();

MgmtFeeRatePerSecondChanged

event MgmtFeeRatePerSecondChanged(uint256 oldRate, uint256 newRate);

PerfFeeRateChanged

event PerfFeeRateChanged(uint256 oldRate, uint256 newRate);

PerfFeeSplitChanged

event PerfFeeSplitChanged();

SmFeeRatePerSecondChanged

event SmFeeRatePerSecondChanged(uint256 oldRate, uint256 newRate);

SecurityModuleSet

event SecurityModuleSet(address indexed securityModule);

WatermarkReset

event WatermarkReset(uint256 indexed newWatermark);

Structs

WatermarkFeeManagerInitParams

Initialization parameters.

struct WatermarkFeeManagerInitParams {
uint256 initialMgmtFeeRatePerSecond;
uint256 initialSmFeeRatePerSecond;
uint256 initialPerfFeeRate;
uint256[] initialMgmtFeeSplitBps;
address[] initialMgmtFeeReceivers;
uint256[] initialPerfFeeSplitBps;
address[] initialPerfFeeReceivers;
}

Properties

NameTypeDescription
initialMgmtFeeRatePerSeconduint256Management fee rate per second, in 18 decimals precision.
initialSmFeeRatePerSeconduint256Security module fee rate per second, in 18 decimals precision.
initialPerfFeeRateuint256Performance fee rate on profit, in 18 decimals precision.
initialMgmtFeeSplitBpsuint256[]Fixed fee split between receivers in basis points. Values must sum to 10_000.
initialMgmtFeeReceiversaddress[]Fixed fee receivers.
initialPerfFeeSplitBpsuint256[]Performance fee split between receivers in basis points. Values must sum to 10_000.
initialPerfFeeReceiversaddress[]Performance fee receivers.