Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/treasuries/AllOrNothing.sol
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,7 @@ contract AllOrNothing is IReward, BaseTreasury, TimestampChecker, ReentrancyGuar
function removeReward(bytes32 rewardName)
external
onlyCampaignOwner
currentTimeIsLess(INFO.getLaunchTime())
whenCampaignNotPaused
whenNotPaused
whenCampaignNotCancelled
Expand Down
1 change: 1 addition & 0 deletions src/treasuries/KeepWhatsRaised.sol
Original file line number Diff line number Diff line change
Expand Up @@ -639,6 +639,7 @@ contract KeepWhatsRaised is IReward, BaseTreasury, TimestampChecker, ICampaignDa
function removeReward(bytes32 rewardName)
external
onlyCampaignOwner
currentTimeIsLess(INFO.getLaunchTime())

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Gate reward removal on treasury launch time

removeReward now checks currentTimeIsLess(INFO.getLaunchTime()), but this contract’s runtime schedule is driven by s_campaignData.launchTime (set in configureTreasury) and pledge gating uses getLaunchTime(). Because configureTreasury does not enforce campaignData.launchTime == INFO.getLaunchTime(), these values can diverge, so reward removal can be incorrectly blocked before this treasury’s launch or incorrectly allowed after it, depending on which timestamp is earlier.

Useful? React with 👍 / 👎.

whenCampaignNotPaused
whenNotPaused
whenCampaignNotCancelled
Expand Down