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.senderhas to be the owner of the factory.newFeeCollectorcan’t be address 0x0.*
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.
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:newFeePercentagemust be within minPoolFee and maxPoolFee.msg.senderhas to be the fee collector of the factory.*
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 aCustomCreationFeeChange event upon successful fee update.
Requirements:
msg.senderhas to be the fee collector of the factory.*
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.senderhas to be the fee collector of the factory.newFeePercentagemust be within the range limited byMAX_POOL_FEE.*
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.
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.
minPoolFee
Exposes the minimum pool fee.maxPoolFee
Exposes the maximum pool fee.feeCollector
Exposes theFeeData.feeCollector to users.