Skip to content

WIRE-439: restrict node-owner claims to new accounts - #767

Draft
joshglogau wants to merge 8 commits into
masterfrom
fix/WIRE-439-new-node-owner-accounts
Draft

joshglogau wants to merge 8 commits into
masterfrom
fix/WIRE-439-new-node-owner-accounts

Conversation

@joshglogau

@joshglogau joshglogau commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Changes

Implements the admin-approved WIRE-439 policy: node-owner registration creates new accounts only. Copying an existing account's public active key cannot authorize an Ethereum link.

  • ROA rejects existing names with audited ACCOUNT_EXISTS (7); preserves duplicate, invalid-name, link-conflict and tier-cap outcomes.
  • MSGCH submits one nodeownreg. ROA atomically creates the account, allocates its tier through forcereg, and records the depositor's AuthEx link.
  • Updates regression coverage, registration fixtures and subsystem documentation. Includes rebuilt ROA/MSGCH WASMs; ABIs and stored-row layouts are unchanged.

No BAR, protobuf or SDK change. Previously bound links and escrowed NFTs are not remediated by this patch.

Rollout

Deploy ROA and MSGCH together, or quiesce inbound dispatch until both are installed; mixed revisions are incompatible. Hub name checks cannot reserve a name, so a later collision can still reject and leave the NFT escrowed.

Companions: Wire-Network/wire-tools-ts#188 and Wire-Network/wire-hub-webapp#242 (stacked on Wire-Network/wire-hub-webapp#241).

Verification

  • Linux contracts_project build passed with CDT 4d36a654; both ABIs are unchanged.
  • 128 ROA/dispatch tests, 3,273 assertions passed, covering copied keys, fresh registration across all three tiers, unchanged victim state and rejection followed by a valid claim in one envelope.
  • Negative control reproduces unauthorized registration/linkage with the old ROA WASM; restoring the candidate passes the suite.
  • Linux CI passed on Ubuntu, GCC, ASan, UBSan and assertions-enabled builds; macOS CI also passed. Final commit c0a27c981b changes comments only; its CI rerun remains pending.
  • No live deployment or full BAR→OPP acceptance run; those remain rollout checks.

Change-Id: I622f4c346ca4eed323f5aaca77d6751dc5717cc7
Change-Id: I93cd68c81137191c881226c09b9f085e94b357db
Change-Id: I8d51b10b76475c365faf119cd1fc4ba345be0f20
Change-Id: I14fae99267a55370fe846682ffa26ab4f2d9b0dc
Change-Id: I3ce5eb434008a5ada8fead632516b6a92edd0e03
Change-Id: I4efd23669f99a9e1c51f6c5606fd8373f6e20e52
Change-Id: Id3107ab0b98010394e17fc4c10c2142be9c37963
Change-Id: Icf262a04b0c508e3761f8cadfd9d77efbff3db5d

This branch has not been deployed

No deployments
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.

1 participant