refactor(ssv_types): remove PayloadAttestationVote QBFT value object - #1076
Conversation
Reverts sigp#1047. Under the no-QBFT PTC redesign (SIP-94 §3, validator-scoped and leaderless), there is no per-slot QBFT instance over PTC data, so the PayloadAttestationVote consensus value, its QbftData impl, the PayloadAttestationVoteValidator, and their tests are dead code. The intended consumer (qbft_manager PTC routing, sigp#1057) never merged, so deletion is local to ssv_types. Closes sigp#1074
|
@claude, please take a look |
|
Claude finished @shane-moore's task in 1m 59s —— View job Review
LGTM. This is exactly what the description claims: a clean, surgical revert of #1047 with no behavior change and no collateral edits. What I verified
Notes
FindingsNone. No correctness, security, performance, error-handling, idiom, design, or test-coverage issues introduced — there is no new code, only a removal of self-contained dead code. Approve from a review-feedback standpoint (formal approval is out of scope for me). |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## epbs #1076 +/- ##
=======================================
Coverage ? 62.28%
=======================================
Files ? 156
Lines ? 26404
Branches ? 0
=======================================
Hits ? 16445
Misses ? 9959
Partials ? 0
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
I think your refs in Links: is referencing incorrect PRs on a couple -> # 6 and # 4 |
|
good catch, fixed, those were meant to be milestone links |
Problem, Evidence, and Context
PayloadAttestationVoteand its QBFT machinery (the value object, itsQbftDataimpl, the value validator, and their tests) are dead code inssv_types. This reverts feat(ssv_types): add PayloadAttestationVote with QbftData and value checker #1047.qbft_managerPTC routing (feat(qbft_manager): wire PTC committee-scoped QBFT instances and fork gate #1057), was never merged.git grep PayloadAttestationVote anchor/matches only the defining module (definition + tests), with no cross-crate users, so removal cannot break another crate.Change Overview
ssv_types(-203 lines, no other crates): thePayloadAttestationVotevalue object, thePayloadAttestationVoteValidatorand its error enum, and the corresponding unit tests.BeaconVoteandGloasBeaconVote, their validators, and their tests. No new types, no behavior change.Risks, Trade-offs, and Mitigations
ssv_types; the removed symbols had no callers elsewhere (verified bygit grep).Validation
cargo check -p ssv_typesandcargo clippy -p ssv_types --all-targets: clean, nounused import/dead_codewarnings.cargo test -p ssv_types: 92 passed, 0 failed (+ 2 doc-tests); theBeaconVote/GloasBeaconVotesuites are untouched and green.cargo fmt -p ssv_types -- --check: clean.git grep -n PayloadAttestationVote anchor/: no matches.Rollback
Blockers / Dependencies
Additional Info / Next Steps