Skip to content

fix(id): refuse non-player signers in sign_genesis/sign_claim (#6424) - #6559

Open
dezren39 wants to merge 1 commit into
mainfrom
queue/10870-6424-attestation-signer-player
Open

dezren39 wants to merge 1 commit into
mainfrom
queue/10870-6424-attestation-signer-player

Conversation

@dezren39

@dezren39 dezren39 commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Closes #6424. Phase 2 of design #6487.

  • sign_genesis returns SignError::NotAPlayer when the signing key is neither seat.
  • sign_claim now takes the GenesisAgreement; refuses non-player signers (NotAPlayer) and claims answering another agreement (AgreementMismatch). The bare path is crate-private sign_claim_unchecked (artifact sign_unchecked pattern).
  • compute_state unchanged.
  • Tests: new tests/attestation_signer_player.rs (4); existing attestation tests updated for the new signature. 20 attestation tests pass locally.
  • Also fixes two str vs String comparisons in world_net.rs (lines 658, 1621) that stopped the id lib compiling on main 9c06d0c8a4 (rustc 1.99.0). Unrelated to the issue; included so tests can build.

Queue task 10870.


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

sign_genesis returns SignError::NotAPlayer for a key that is neither seat.
sign_claim now takes the agreement and refuses non-player signers
(NotAPlayer) and claims answering another agreement (AgreementMismatch);
the bare path is crate-private sign_claim_unchecked.

Also fixes two str/String comparisons in world_net.rs that stop the id
lib compiling on current main.
@dezren39
dezren39 requested a review from a team as a code owner November 6, 2026 16:19
@coderabbitai

coderabbitai Bot commented Nov 6, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 23 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1697cbf4-94c1-440b-b831-529d45cd6336
Commits

Reviewing files that changed from the base of the PR and between 9c06d0c and 2bb0bcc.

Files selected for processing: 5

  • pkgs/id/src/attestation.rs
  • pkgs/id/src/world_net.rs
  • pkgs/id/tests/attestation_outcome_sign.rs
  • pkgs/id/tests/attestation_poc.rs
  • pkgs/id/tests/attestation_signer_player.rs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-06T16:21:14.648939Z 2bb0bcc PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

1 participant