IFeeManager

Git Source

Interface that describes the struct and accessor function for the data related to the collection of fees.

Functions

creationFeeData

Exposes the creation fee for new VestingTokens deployments.

Enabled custom fees overrides the global creation fee.

function creationFeeData(address underlyingToken)
    external
    view
    returns (address feeCollector, uint64 creationFeeValue);

Parameters

NameTypeDescription
underlyingTokenaddressAddress of the underlyingToken.

transferFeeData

Exposes the transfer fee for VestingTokens to consume.

Enabled custom fees overrides the global transfer fee.

function transferFeeData(address underlyingToken)
    external
    view
    returns (address feeCollector, uint64 transferFeePercentage);

Parameters

NameTypeDescription
underlyingTokenaddressAddress of the underlyingToken.

claimFeeData

Exposes the claim fee for VestingTokens to consume.

Enabled custom fees overrides the global claim fee.

function claimFeeData(address underlyingToken) external view returns (address feeCollector, uint64 claimFeeValue);

Parameters

NameTypeDescription
underlyingTokenaddressAddress of the underlyingToken.

Structs

FeeData

The FeeData struct is used to store fee configurations such as the collection address and fee amounts for various transaction types in the contract.

struct FeeData {
    address feeCollector;
    uint64 creationFee;
    uint64 transferFeePercentage;
    uint64 claimFee;
}

UpcomingFeeData

Stores global fee data upcoming change and timestamp for that change.

struct UpcomingFeeData {
    uint64 nextValue;
    uint64 valueChangeAt;
}

CustomFeeData

Stores custom fee data, including its current state, upcoming changes, and the timestamps for those changes.

struct CustomFeeData {
    bool isEnabled;
    uint64 value;
    uint64 nextValue;
    uint64 valueChangeAt;
    bool nextEnableState;
    uint64 statusChangeAt;
}