Skip to content

[Contracts] Add advanced participant verification #314

@Kaylahray

Description

@Kaylahray

Description

The contract README notes advanced participant verification as a future enhancement, but giveaway entry currently only checks auth, timing, and duplicate participation.

User Story

As a giveaway creator,
I want to restrict participants by extra conditions,
so that I can run allowlisted or reputation-gated campaigns.

Requirements and Context

  • Files: contracts/geev-core/src/giveaway.rs, contracts/geev-core/src/types.rs, contracts/geev-core/src/test.rs
  • Add support for entry allowlists or minimum reputation requirements
  • Enforce the verification rule before a participant is accepted
  • Keep the normal entry path unchanged when no extra checks are configured

Suggested Implementation

// PARTICIPANT VERIFICATION
// 1. Add optional verification rules to giveaway state.
// 2. Check allowlist or reputation before accepting an entry.
// 3. Reject unauthorized entries with a clear error.
// 4. Preserve existing duplicate-entry protections.

Acceptance Criteria

  • Allowlisted or reputation-gated giveaways reject unqualified participants.
  • Open giveaways still accept normal entries.
  • Verification failures are surfaced clearly in tests.

Submission Guidelines

  • Branch: feat/participant-verification
  • Depends on: giveaway entry flow
  • PR: feat(contracts): add participant verification rules

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