RustFund

First Flight #36
Beginner FriendlyRust
100 EXP
View results
Submission Details
Severity: medium
Invalid

No Explicit Campaign State in RustFund Contract

Summary

The contract lacks an explicit state (e.g., Pending, Active, Failed) to track campaign progress.

Vulnerability Details:
The Fund struct relies on deadline and dealine_set:

rust

pub struct Fund {
pub deadline: u64,
pub dealine_set: bool,
}
  • Implicit State: deadline = 0 means "not set," but no clear state machine.

Impact:

  • Logic Clarity: Harder to reason about campaign status.

  • User Experience: Less transparent to users.

Tools Used: Manual Review

Recommendations:
Add a state enum:

rust

#[derive(AnchorSerialize, AnchorDeserialize, Clone, PartialEq)]
pub enum CampaignState {
Pending,
Active,
Failed,
Succeeded,
}
pub struct Fund {
// ...
pub state: CampaignState,
}

Updates

Appeal created

bube Lead Judge 2 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.