Skip to main content

IFactoryFeeManager

Git Source Inherits: IFeeManager Interface that describes the struct and accessor function for the data related to the collection of fees.

Functions

setFeeCollector

FUNCTIONS *Set address of fee collector. Requirements:
  • msg.sender has to be the owner of the factory.
  • newFeeCollector can’t be address 0x0.*
Parameters

scheduleGlobalCreationFee

Sets a new global creation fee value, to take effect after 1 hour. msg.sender has to be the fee collector of the factory.
Parameters

scheduleGlobalPoolFee

Sets a new global pool fee percentage, to take effect after 1 hour. *Percentages and fees are calculated using 18 decimals where 1 ether is 100%. Requirements:
  • newFeePercentage must be within minPoolFee and maxPoolFee.
  • msg.sender has to be the fee collector of the factory.*
Parameters

scheduleCustomCreationFee

Sets a new custom creation fee value for a specific User, to be enabled and take effect after 1 hour from the time of this transaction. *Allows the contract owner to modify the creation fee associated with a specific User. The new fee becomes effective after a delay of 1 hour, aiming to provide a buffer for users to be aware of the upcoming fee change. This function updates the fee and schedules its activation, ensuring transparency and predictability in fee adjustments. The fee is specified in wei, allowing for granular control over the fee structure. Emits a CustomCreationFeeChange event upon successful fee update. Requirements:
  • msg.sender has to be the fee collector of the factory.*
Parameters

scheduleCustomPoolFee

Sets a new custom pool fee percentage for a specific User, to be enabled and take effect after 1 hour from the time of this transaction. *This function allows the contract owner to adjust the pool fee for a User. The fee adjustment is delayed by 1 hour to provide transparency and predictability. Fees are calculated with precision to 18 decimal places, where 1 ether equals 100% fee. The function enforces fee limits; newFeePercentage must be within the predefined 0-MAX_POOL_FEE bounds. If the custom fee was previously disabled or set to a different value, this operation schedules the new fee to take effect after the delay, enabling it if necessary. Emits a CustomPoolFeeChange event upon successful execution. Requirements:
  • msg.sender has to be the fee collector of the factory.
  • newFeePercentage must be within the range limited by MAX_POOL_FEE.*
Parameters

toggleCustomCreationFee

Enables or disables the custom creation fee for a given Raffle, with the change taking effect after 1 hour. msg.sender has to be the fee collector of the factory.
Parameters

toggleCustomPoolFee

Enables or disables the custom pool fee for a given Raffle, to take effect after 1 hour. msg.sender has to be the fee collector of the factory.
Parameters

minPoolFee

Exposes the minimum pool fee.

maxPoolFee

Exposes the maximum pool fee.

feeCollector

Exposes the FeeData.feeCollector to users.

globalCreationFee

Retrieves the current global creation fee to users.

globalPoolFee

Retrieves the current global pool fee percentage to users.

creationFeeData

Returns the current creation fee for a specific user, considering any pending updates.
Parameters

poolFeeData

Returns the current pool fee for a specific user, considering any pending updates.
Parameters

Events

FeeCollectorChange

EVENTS
Parameters

GlobalCreationFeeChange

Parameters

GlobalPoolFeeChange

Parameters

CustomCreationFeeChange

Parameters

CustomCreationFeeToggle

Parameters

CustomPoolFeeChange

Parameters

CustomPoolFeeToggle

Parameters