// Create validation request (oracle)
function createValidation(
bytes32 gigId,
bytes32 deliverableHash,
uint8 requiredQuorum
) external onlyOracle returns (uint256 validationId);
// Cast a vote (any eligible validator)
function vote(
uint256 validationId,
bool approve,
uint8 confidence
) external nonReentrant whenNotPaused;
// Check if consensus is reached
function hasConsensus(uint256 validationId) external view returns (
bool reached,
bool approved,
uint8 approvalPct
);
// Get validation details
function getValidation(uint256 validationId) external view returns (
bytes32 gigId,
uint8 status, // 0=pending, 1=approved, 2=rejected
uint8 voteCount,
uint8 approvalPct,
bool consensusReached
);