Skip to content

[Contracts] Add dispute resolution flow #313

@Kaylahray

Description

@Kaylahray

Description

The contract README explicitly calls out dispute resolution as a future enhancement, but the on-chain flow currently ends at donation, refund, or cancellation.

User Story

As a donor or requester,
I want to escalate a disputed help request or giveaway,
so that the contract can record a formal resolution path.

Requirements and Context

  • Files: contracts/geev-core/src/mutual_aid.rs, contracts/geev-core/src/giveaway.rs, contracts/geev-core/src/test.rs
  • Add a dispute state and a resolution function
  • Restrict resolution to admin or authorized moderators
  • Ensure a disputed request cannot continue normal payout flow until resolved

Suggested Implementation

// DISPUTE FLOW
// 1. Mark the request or giveaway as disputed.
// 2. Block normal completion or refund paths while disputed.
// 3. Add an admin resolution action.
// 4. Emit dispute lifecycle events.

Acceptance Criteria

  • Disputed items can be marked on-chain.
  • Normal completion or payout paths are blocked while disputed.
  • Admin resolution changes the final state explicitly.

Submission Guidelines

  • Branch: feat/dispute-resolution
  • Depends on: request and giveaway state machine
  • PR: feat(contracts): add dispute resolution lifecycle

Metadata

Metadata

Assignees

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions