Skip to content

[GrantFox][High] Prevent replay of escrow claims #1031

Description

@greatest0fallt1me

Summary

Prevent replay of escrow claims

Why this matters

Repeated claim invocations must never release one entitlement twice.

Scope

Add explicit consumed state, replay-safe identifiers, authorization checks, and event coverage.

Acceptance criteria

  • A claim identifier is consumable once.
  • Failed validation does not consume state.
  • Concurrent calls cannot both release funds.
  • Tests cover retries, concurrency, boundary amounts, and unauthorized callers.

Validation

Add regression coverage for existing behavior, failure modes, authorization boundaries, and compatibility. The implementation must pass the repository CI checks.

Non-goals

  • Typo-only, formatting-only, or documentation-only changes.
  • Unrelated refactors or dependency upgrades.
  • Weakening existing security, authorization, CI, or production safeguards.

Contributor application

Before implementation, comment with relevant experience, a 1–4 bullet approach, and an estimate for opening the first draft PR. Wait for maintainer assignment before coding.

PR requirements

Use a feature branch, include Closes #<issue-number>, check every acceptance criterion, link criteria to code/tests, explain security and failure-mode considerations, and pass CI.

Reward-readiness

This is a substantive GrantFox campaign issue. Merge and CI success do not by themselves guarantee reward eligibility; final reward-readiness is determined by campaign review.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions