Skip to content

Emit rich lifecycle events for every state change in Crowdfunding #760

Description

@nanaf6203-bit

Problem Statement

Crowdfunding misses events on partial cancellations, refund queue updates, milestone transitions.

Why it matters

Off-chain indexers rely on event completeness to power investor UIs.

Technical Context

Add events for: CampaignPaused, CampaignResumed, MilestoneApproved/Rejected, RefundBatchStarted, RefundBatchCompleted.

Expected Outcome

Every state transition has a corresponding event with topic fields.

Acceptance Criteria

  1. New events appear in cargo contract events.
  2. SDK updated.
  3. New regression coverage in tests/crowdfunding_events.rs.
  4. Doc updated.

Implementation Notes

Hand-add events; add doc.

Files or modules likely to be affected

contracts/crowdfunding/src/lib.rs.

Dependencies

None.

Difficulty level

MEDIUM.

Estimated effort

S (~1 day).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions