From 8c71220abf43687b07368eb587dafd553985e199 Mon Sep 17 00:00:00 2001 From: Mahabub Alahi Date: Mon, 23 Feb 2026 23:24:17 +0600 Subject: [PATCH] Refactor disburseFees function in KeepWhatsRaised contract to allow fee disbursement before or after cancellation, ensuring accrued fees are not trapped. --- src/treasuries/KeepWhatsRaised.sol | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/treasuries/KeepWhatsRaised.sol b/src/treasuries/KeepWhatsRaised.sol index 673e039..cab9db1 100644 --- a/src/treasuries/KeepWhatsRaised.sol +++ b/src/treasuries/KeepWhatsRaised.sol @@ -992,11 +992,12 @@ contract KeepWhatsRaised is IReward, BaseTreasury, TimestampChecker, ICampaignDa /** * @dev Disburses all accumulated fees to the appropriate fee collector or treasury. + * Callable before or after cancellation so that accrued fees are never trapped. * * Requirements: * - Only callable when fees are available. */ - function disburseFees() public override whenNotPaused whenNotCancelled { + function disburseFees() public override whenNotPaused { address[] memory acceptedTokens = INFO.getAcceptedTokens(); address protocolAdmin = INFO.getProtocolAdminAddress(); address platformAdmin = INFO.getPlatformAdminAddress(PLATFORM_HASH);