IWatermarkFeeManager
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
Name | Type | Description |
---|---|---|
newMgmtFeeRatePerSecond | uint256 | The new management fee rate per second. 1e18 = 100%. |
setSmFeeRatePerSecond
Sets the security module fee rate per second.
function setSmFeeRatePerSecond(uint256 newSmFeeRatePerSecond) external;
Parameters
Name | Type | Description |
---|---|---|
newSmFeeRatePerSecond | uint256 | The new security module fee rate per second. 1e18 = 100%. |
setPerfFeeRate
Sets the performance fee rate.
function setPerfFeeRate(uint256 newPerfFeeRate) external;
Parameters
Name | Type | Description |
---|---|---|
newPerfFeeRate | uint256 | The 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
Name | Type | Description |
---|---|---|
newMgmtFeeReceivers | address[] | The new fixed fee receivers. |
newMgmtFeeSplitBps | uint256[] | 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
Name | Type | Description |
---|---|---|
newPerfFeeReceivers | address[] | The new performance fee receivers. |
newPerfFeeSplitBps | uint256[] | 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
Name | Type | Description |
---|---|---|
initialMgmtFeeRatePerSecond | uint256 | Management fee rate per second, in 18 decimals precision. |
initialSmFeeRatePerSecond | uint256 | Security module fee rate per second, in 18 decimals precision. |
initialPerfFeeRate | uint256 | Performance fee rate on profit, in 18 decimals precision. |
initialMgmtFeeSplitBps | uint256[] | Fixed fee split between receivers in basis points. Values must sum to 10_000. |
initialMgmtFeeReceivers | address[] | Fixed fee receivers. |
initialPerfFeeSplitBps | uint256[] | Performance fee split between receivers in basis points. Values must sum to 10_000. |
initialPerfFeeReceivers | address[] | Performance fee receivers. |