Skip to content

Implement Donation Status State Machine #54

@grantfox-oss

Description

@grantfox-oss

Description:
Model the donation lifecycle as an explicit state machine in Rust.

Tasks:

  • Create src/models/donation_status.rs
  • Define DonationStatus enum: Pending, Submitted, Confirming, Confirmed, Failed, Refunded
  • Implement DonationStatus::transition(event: DonationEvent) -> Result<DonationStatus, TransitionError>
  • Reject invalid state transitions (e.g. Confirmed → Pending)
  • Use this state machine in all donation update flows

Acceptance Criteria:
Invalid state transitions return an error; valid transitions update the status correctly.


Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official Campaign

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions