docs(audits): native-module state-root activation playbook#780
Conversation
PR #779 merged native-module state-root commitment behind a fork gate that is off by default everywhere (NATIVE_STATE_IN_TRIE_HEIGHT = u64::MAX on both nets). Add the operator-side playbook for eventually turning it on, testnet-first, without splitting the chain. Covers: pre-flight (same binary/height/tip/state_root + matching SRC-20 and NFT canonical hashes via the existing SENTRIX_STATE_FINGERPRINT tool + backup), halt-all/simul-start activation with an identical pinned height, post-activation monitoring, rollback/resync on divergence (unset the gate = complete deterministic rollback), and the strict sequence: activate + soak native state-trie first; NFT_TOKENOP_HEIGHT is a separate later decision; never flip both in one window; no mainnet before a clean testnet soak. Docs only — no protocol code, no fork enabled, no tooling added (reuses the existing fingerprint for cross-node hash comparison).
|
Warning Review limit reached
More reviews will be available in 41 minutes and 9 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Draft — do not merge; for review. Docs/ops only, no protocol code.
Follow-up to #779 (native-module state-root commitment, fork-gated off by default everywhere). Adds the operator-side activation playbook so that if/when the fork is turned on, every validator activates together and
state_rootdoesn't split.Added
audits/native-state-in-trie-activation-playbook.mdaudits/README.md(new "Fork activation playbooks" category)Playbook contents
NATIVE_STATE_IN_TRIE_HEIGHT.state_root; matching SRC-20 + NFTcanonical_hashacross nodes; no SRC-20 drift; cold backup.SENTRIX_STATE_FINGERPRINTtool (no new code/CLI).NATIVE_STATE_IN_TRIE_HEIGHT=<HEIGHT>everywhere → simul-start.NFT_TOKENOP_HEIGHTis a separate later decision.Not done (by design)
No protocol logic, no fork enabled, no deploy, no validators touched, no RPC/explorer/wallet/marketplace/bridge, no CLI subcommand (would touch
bin/sentrix). Scrubbed of host/VPS/internal identifiers.Commands
cargo fmt --check✅ ·cargo test --workspace✅ (67 suites, 0 fail) ·cargo clippy --workspace --all-targets -D warnings✅ (docs-only; gates confirm tree unaffected)