From 21b6b15711169df9f2aead9a4e169cd085401198 Mon Sep 17 00:00:00 2001 From: jacktruedream Date: Tue, 30 Jun 2026 09:16:00 +0000 Subject: [PATCH] fix: revoke verification on description update, validate platform fee maximum Resolves #545 Resolves #548 Resolves #549 --- src/admin.rs | 2 +- src/campaigns/update.rs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/admin.rs b/src/admin.rs index 0a40d18..f34fd9d 100644 --- a/src/admin.rs +++ b/src/admin.rs @@ -159,7 +159,7 @@ pub(crate) fn update_platform_fee(env: &Env, new_fee: u32) -> Result<(), Error> let admin = get_admin(env); assert_admin(env, &admin)?; // No require_not_paused: admin must be able to adjust fees during an emergency pause (#388). - if new_fee > crate::PLATFORM_FEE_MAX_BPS { + if new_fee > crate::PLATFORM_FEE_MAX_BPS || new_fee > 10000 { return Err(Error::InvalidPlatformFee); } let old_fee = get_platform_fee(env); diff --git a/src/campaigns/update.rs b/src/campaigns/update.rs index c49b42f..01593f2 100644 --- a/src/campaigns/update.rs +++ b/src/campaigns/update.rs @@ -61,6 +61,7 @@ pub(crate) fn update_campaign_description( let mut campaign = get_creator_campaign(env, campaign_id)?; require_not_paused(env)?; + require_unverified_campaign(&campaign)?; require_active_campaign(&campaign)?; if description.len() < crate::CAMPAIGN_DESCRIPTION_MIN_LEN || description.len() > crate::CAMPAIGN_DESCRIPTION_MAX_LEN @@ -71,6 +72,7 @@ pub(crate) fn update_campaign_description( bump_instance_ttl(env); let event_desc = description.clone(); campaign.description = description; + campaign.is_verified = false; set_campaign(env, campaign_id, &campaign); env.events()