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 Raffls deployments.

Enabled custom fees overrides the global creation fee.

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

Parameters

NameTypeDescription
raffleaddressAddress of the Raffl.

poolFeeData

Exposes the fee that will be collected from the pool on success draws for Raffls.

Enabled custom fees overrides the global transfer fee.

function poolFeeData(address raffle) external view returns (address feeCollector, uint64 poolFeePercentage);

Parameters

NameTypeDescription
raffleaddressAddress of the Raffl.

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 poolFeePercentage;
}

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;
}