-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
duplicateThis issue or pull request already existsThis issue or pull request already existsenhancementNew feature or requestNew feature or request
Description
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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
duplicateThis issue or pull request already existsThis issue or pull request already existsenhancementNew feature or requestNew feature or request