Skip to content

Team-Based PoI Verification System #12

@LuminaEnvision

Description

@LuminaEnvision

Overview

This issue implements the backend logic for the PoI verification process, supporting both:

  1. Internal verifier review system (admin-controlled)
  2. Future community verifiers who staked DCU via smart contracts

It will handle verifier roles, API endpoints, and verification metadata storage.


🎯 Objectives

  • Add PoI verification statuses (Pending, Verified, Rejected)
  • Admin API for internal verifiers to update statuses and leave feedback
  • Prepare logic to fetch verifier eligibility from smart contract
  • Record verification actions and make them visible on frontend

🧩 Functional Requirements

1. Models

  • Extend PoI schema:
    • status: "pending" | "verified" | "rejected"
    • verifiedBy: wallet or user ID
    • verificationComment: optional string
    • verifiedAt: timestamp

2. APIs

  • GET /api/poi/:id/status

    • Returns verification status, comments, verifier, timestamp
  • PATCH /api/poi/:id/verify

    • Body: { status, comment }
    • Auth: Only for users with role: 'verifier'
    • Logs verifiedBy and verifiedAt
  • GET /api/verifier/:wallet

    • Returns:
      • isVerifier: true | false
      • stake: number
    • (Pulls from smart contract via Web3 or subgraph)

3. Admin Panel (Optional MVP)

  • Web-based admin dashboard or protected route to manage PoI reviews
  • Internal-only for now; future update will expose this via DApp

🔐 Dependencies

  • contracts: VerifierStaking + Registry
  • dapp: Verifier UI + staking interface

🧪 Future Logic (v2.3+)

  • Verifier voting with quorum (multi-sig style approvals)
  • Slashing reputation for false/malicious verification
  • Auto-payout to verifiers upon successful submissions

Related

contracts issue #87: Link
dApp issue #57 : Link

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions