Skip to content

docs(specs): challenger description mentions challenge as well as nullify#1590

Open
memosr wants to merge 1 commit into
base:masterfrom
memosr:fix/challenger-description-includes-challenge
Open

docs(specs): challenger description mentions challenge as well as nullify#1590
memosr wants to merge 1 commit into
base:masterfrom
memosr:fix/challenger-description-includes-challenge

Conversation

@memosr

@memosr memosr commented Jun 7, 2026

Copy link
Copy Markdown

Summary

The challenger spec's frontmatter description omits the challenge() transaction type — only nullify() is mentioned. The spec body documents both as first-class actions.

The drift

docs/base-chain/specs/protocol/proofs/challenger.mdx:3 — frontmatter:

"... submits dispute transactions on L1 to nullify them"

Spec body, however, documents two distinct transactions the challenger submits:

  • nullify() — referenced at lines 26 and 57
  • challenge() — referenced at lines 148–149

These are not the same. challenge() initiates a dispute against a proposed output; nullify() invalidates an already-finalized output. The challenger uses both depending on the attack scenario.

Why this matters

The frontmatter description is what appears in:

  • The browser tab title preview
  • The sidebar navigation tooltip
  • Search result snippets (Mintlify / docs.json indexing)
  • Social embed cards if the page is shared

Reading "submits dispute transactions on L1 to nullify them" leads someone scanning the docs to believe nullification is the sole mechanism. That's the most likely misconception people will form before clicking into the page — and it's wrong.

The fix

- description: "... submits dispute transactions on L1 to nullify them"
+ description: "... submits dispute transactions on L1 to challenge or nullify them"

Single-line change. Matches what the spec body already documents.

Verification

  • ✅ One file modified: docs/base-chain/specs/protocol/proofs/challenger.mdx
  • ✅ Body of the spec unchanged
  • ✅ Description now matches the two transaction types documented in the body

…lify

The challenger.mdx frontmatter description said the challenger "submits
dispute transactions on L1 to nullify them", but the spec body documents
two distinct transaction types:

- nullify() — referenced at lines 26 and 57
- challenge() — referenced at lines 148-149

The challenge() path is a first-class part of the challenger role, not a
secondary action. Omitting it from the description misleads anyone
reading the page header or navigating from a sidebar preview into
thinking nullification is the only mechanism.

Updated the description to mention both paths.
@cb-heimdall

Copy link
Copy Markdown
Collaborator

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/2
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 1
Sum 2

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.

2 participants