Skip to content

W05: Prevent one royalty recipient from blocking everyone #145

Description

@knzeng-e

Scope

Activate W05 from docs/backlog/implementation/W05-royalty-failure-isolation.md.

Outcome

A royalty recipient that rejects or cannot receive an immediate native transfer must not make an otherwise valid Classic access purchase fail.

Required boundaries

  • Preserve exact value accounting, including rounding and repeated purchases.
  • Keep payment, immediate payout, pending claim, claim success, and transfer failure distinguishable.
  • Bound external-call gas and preserve reentrancy protection.
  • Add regression coverage for rejecting, gas-consuming, reentrant, dust/rounding, multiple-recipient, double-claim, and unauthorized-claim cases.
  • Add the minimal affected-recipient UI, without displaying accrued/claimable amounts as already received.
  • Include Diamond storage/selector/ABI compatibility evidence and a local upgrade/redeployment rehearsal.

Non-goals

No automatic live facet cut, treasury redesign, speculative rewards, CASH integration, live deployment, or fund movement.

Activity

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

Metadata

Metadata

Assignees

Labels

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions