Skip to content

fix(testnet): correct GRANDPA warp checkpoint transition - #3082

Merged
UnArbosFive merged 4 commits into
release-448from
fix/testnet-grandpa-checkpoint-transition
Aug 20, 2026
Merged

fix(testnet): correct GRANDPA warp checkpoint transition#3082
UnArbosFive merged 4 commits into
release-448from
fix/testnet-grandpa-checkpoint-transition

Conversation

@UnArbosFive

@UnArbosFive UnArbosFive commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Configure the testnet warp checkpoints with the six-authority historical voter set that signed both stored justifications.
  • Verify the second checkpoint with its actual signing set ID, 3; its header then advances through the later authority history carried by the warp proof.
  • Keep the existing SDK pin, which already contains checkpoint proof generation and persistence of the warp-verified authority set.

Scope and safety

The checkpoint configuration is gated by the exact testnet genesis hash. Finney continues through the existing one-time initial-set-ID path inherited from release-448. This PR changes no runtime code, chain state, consensus rules, or network protocol format.

Verification

  • A regression fixture containing the stored GRANDPA justification for testnet block 5,534,451 verifies with set ID 3 and fails with set ID 2.
  • SKIP_WASM_BUILD=1 cargo test -p node-subtensor service::grandpa_warp_sync::tests --bin node-subtensor (4 passed after rebasing onto release-448).
  • git range-diff confirms the four PR patches are unchanged by the rebase.
  • A fresh local RocksDB using the rebased PR binary connected to the testnet archive proof peers, accepted a complete warp proof without peer penalties, completed finality-proof download, and began importing state.
  • The Finney one-time set-ID regression remains green. The PR introduces no Finney-specific diff because release-448 already contains that fix.

Earlier end-to-end validation of the same four patches also completed state import, persisted the warp-verified GRANDPA authority set, resumed finality after restart, and advanced best/finalized heads.

@vercel

vercel Bot commented Aug 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
subtensor Ready Ready Preview Aug 20, 2026 1:22pm

Request Review

@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

🛡️ AI Review — Skeptic (security review)

VERDICT: SAFE

VERY HIGH scrutiny by account-age/public-repository signals, mitigated by repository-admin status and substantial subtensor history; no Gittensor association; author and committer match; release-448 integration branch targets main via PR #3089.

Static analysis found the change confined to genesis-gated testnet GRANDPA checkpoint data and regression tests. Repository history and the stored justification corroborate the historical six-authority set and signing set ID 3. No runtime, dependency, CI, or AI-review trust-boundary files changed.

Findings

No findings.

Conclusion

No malicious behavior or security vulnerability was found in the supplied diff.


🔍 AI Review — Auditor (domain review)

VERDICT: 👍

UNKNOWN Gittensor association; newer account but repository admin with substantial merged subtensor history. Full consensus-path scrutiny applied.

The historical six-authority checkpoint configuration remains scoped to the exact testnet genesis. The regression fixture verifies the second checkpoint with signing set ID 3 and rejects ID 2, while the checkpoint header supplies the subsequent authority transition through the existing SDK behavior.

PR #2989 merely overlaps this file and is not a competing implementation. git diff --check passed; no runtime code changed, and the no-spec-version-bump label is appropriate.

Findings

No findings.

Conclusion

The corrected checkpoint metadata, focused regression coverage, and documented live warp-sync validation adequately cover the consensus transition. The PR is ready to merge.

@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: SAFE Auditor: 👍

@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: SAFE Auditor: 👍

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

),
(
2,
3,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Restore the checkpoint’s distinct resulting set ID

This value correctly identifies set 3 as the historical signing set, but AuthoritySetHardFork provides no separate resulting-set override here. The final commit removed resulting_set_id: Some(2) and both assertions that protected it, despite the PR description requiring the second checkpoint to leave warp sync at set ID 2. Consequently, successful verification can resume from the wrong GRANDPA set and break testnet finality synchronization. Restore an SDK/API capable of representing signing set 3 with resulting set 2, and retain an integration-level assertion for the returned VerificationResult.

@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: SAFE Auditor: 👎

@UnArbosFive UnArbosFive added the no-spec-version-bump PR does not contain changes that requires bumping the spec version label Aug 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: SAFE Auditor: 👍

@UnArbosFive
UnArbosFive force-pushed the fix/testnet-grandpa-checkpoint-transition branch from 18833a3 to fa661f6 Compare August 20, 2026 13:18
@UnArbosFive
UnArbosFive changed the base branch from main to release-448 August 20, 2026 13:19
@github-actions

Copy link
Copy Markdown
Contributor

eco-tests changed — indexer review required

This PR modifies files under eco-tests/. and may affect downstream indexing.
cc @evgeny-s — please review manually

Changed files
  • eco-tests/src/tests_mentat_indexer.rs

@github-actions
github-actions Bot requested a review from evgeny-s August 20, 2026 13:19
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: SAFE Auditor: 👍

@UnArbosFive
UnArbosFive merged commit b44e34e into release-448 Aug 20, 2026
101 of 104 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-spec-version-bump PR does not contain changes that requires bumping the spec version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant