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 one assigned
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions