Skip to content

fix(contract): enforce bounded retry windows for anchor recovery paths - #1162

Closed
jeffrey-graham wants to merge 2 commits into
mind-vault-1:mainfrom
jeffrey-graham:fix/issue-996-bounded-anchor-retry-windows
Closed

jeffrey-graham wants to merge 2 commits into
mind-vault-1:mainfrom
jeffrey-graham:fix/issue-996-bounded-anchor-retry-windows

Conversation

@jeffrey-graham

Copy link
Copy Markdown

Closes #996

Summary

  • Enforces ANCHOR_RETRY_BACKOFF_LEDGERS (12) cooldown (AnchorFailureReason::RetryTooSoon) and MAX_ANCHOR_ATTEMPTS (5) cap (AnchorFailureReason::AttemptsExhausted) inside retry_anchor_purchase_receipt, matching attempt_anchor_purchase_receipt.
  • Tracks rejected settler recovery attempts in DataKey::AnchorAttempts(resource_id, buyer) and emits anchrxhst when the attempt cap is reached so neither manual nor settler recovery paths can bypass retry bounds.
  • Adds test coverage for retry-before-cooldown, retry-at-cooldown-boundary, and retry-after-max-attempts across both recovery paths.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Contract] [Bug] Enforce bounded retry windows for anchor recovery paths

1 participant