diff --git a/contracts/crowdfund_registry/src/contract.rs b/contracts/crowdfund_registry/src/contract.rs index e8ce364..8e96746 100644 --- a/contracts/crowdfund_registry/src/contract.rs +++ b/contracts/crowdfund_registry/src/contract.rs @@ -3,7 +3,8 @@ use crate::events::{ CampaignApproved, CampaignCancelled, CampaignCreated, CampaignFailed, CampaignFunded, CampaignRejected, CampaignSubmittedForReview, CampaignTerminated, CampaignValidated, CampaignVoteRejected, DisputeResolved, MilestoneApproved, MilestoneDisputed, MilestoneOverdue, - MilestoneRevisionRequested, MilestoneSubmitted, PledgeRecorded, RefundBatchProcessed, + MilestoneRejected, MilestoneRevisionRequested, MilestoneSubmitted, PledgeRecorded, + RefundBatchProcessed, }; use crate::storage::{ Campaign, CampaignStatus, CrowdfundDataKey, CrowdfundMilestoneStatus, DisputeResolution, @@ -785,6 +786,12 @@ impl CrowdfundRegistry { ms.status = CrowdfundMilestoneStatus::Rejected; env.storage().persistent().set(&ms_key, &ms); + MilestoneRejected { + campaign_id, + milestone_id: milestone_index, + } + .publish(&env); + Ok(()) } diff --git a/contracts/crowdfund_registry/src/events/mod.rs b/contracts/crowdfund_registry/src/events/mod.rs index 8313b3d..6ca2609 100644 --- a/contracts/crowdfund_registry/src/events/mod.rs +++ b/contracts/crowdfund_registry/src/events/mod.rs @@ -43,6 +43,14 @@ pub struct MilestoneApproved { pub milestone_id: u32, } +#[contractevent] +#[derive(Clone, Debug, Eq, PartialEq)] +pub struct MilestoneRejected { + #[topic] + pub campaign_id: u64, + pub milestone_id: u32, +} + #[contractevent] #[derive(Clone, Debug, Eq, PartialEq)] pub struct CampaignFailed {