Skip to content

Implement decentralized dispute resolution in VertixEscrow #11

@am-miracle

Description

@am-miracle

Title: Replace Owner-Based Dispute Resolution with Decentralized Mechanism in VertixEscrow

Description:

To enhance fairness and decentralization, replace the owner-based dispute resolution in VertixEscrow with a decentralized mechanism using a pool of trusted arbitrators. This will reduce reliance on a single owner and increase user trust in non-NFT asset trades.

Tasks:

  • Define an ARBITRATOR_ROLE using AccessControlUpgradeable in VertixEscrow.
  • Add functions to VertixGovernance to manage arbitrators (e.g., addArbitrator, removeArbitrator).
  • Update resolveDispute to require votes from multiple arbitrators (e.g., majority of 3+ arbitrators).
  • Implement a voting mechanism with voteOnDispute(listingId, winner) and track votes in a mapping.
  • Add a timeout for voting, after which the owner can finalize (as a fallback).
  • Update tests to cover voting, majority resolution, and edge cases (e.g., tied votes, timeout).

Acceptance criteria:

  • Arbitrators can be added/removed via VertixGovernance by the owner.
  • resolveDispute requires a majority vote from arbitrators (e.g., 2/3 or 3/5).
  • Voting has a deadline (e.g., 7 days), after which the owner can resolve as a fallback.
  • Tests verify voting logic, edge cases (e.g., no votes, tied votes), and fallback resolution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already existsenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions