Deduplicate domain types across crates
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 28/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- rust
- Lĩnh vực
- distributed-systems
Hướng nghiên cứu
Bắt đầu bằng cách đọc các định nghĩa được trích dẫn trong core/signeddata.rs, core/types.rs, eth2api/validator_duty.rs, tracker/inclusion.rs và testutil/validatormock/attest.rs, sau đó lần theo các chuyển đổi From và các định nghĩa trait trùng lặp. Được xem là hoàn tất khi mỗi khái niệm được liệt kê có một vị trí chuẩn, các biểu diễn trùng lặp và các cầu nối no-op được loại bỏ, còn các họ wire-version và generated-vs-spec được giữ lại một cách có chủ đích vẫn không thay đổi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Follow-up evidence for #127 ("Centralize helper at core") — the concrete duplicates:
AttesterDuty: 4 near-identical structs —core/signeddata.rs#L1200-L1213(no pubkey),testutil/validatormock/attest.rs(same + pubkey),eth2api/validator_duty.rs(3-field subset),tracker/inclusion.rs(2-field subset) — plusAttesterDutyDefinition, which exists only because the core struct dropped the pubkey.ProposerDuty/SyncCommitteeDuty: same fields defined ineth2apiandcorewith different newtypes and a field rename (validator_index→v_idx), bridged byFroms.- Validator pubkey: 3 representations (
crypto::PublicKey = [u8;48],eth2api::BLSPubKey = [u8;48],core::PubKey([u8;48])), plus bareVec<u8>pubkeys in 6cluster::distvalidatorfields. Signature: 2 aliases for[u8;96]bridged by no-op converters. - Slot: 3 shapes —
phase0::Slot = u64,core::SlotNumber(u64), and acore::Slotcontext struct sharing the name. - Selections:
BeaconCommitteeSelection/SyncCommitteeSelectionexist in three layers (eth2api canonical, core#[serde(transparent)]newtypes, and independent testutil redefinitions with identical fields). - Duplicate trait names across crates: two unrelated
Consensustraits (consensus::wrappervspriority::consensus) and two unrelatedClocktraits (core::clockvstestutil::validatormock::clock— different time types; relates #306).
Deliberate non-duplicates to leave alone: the cluster wire-version struct families (DistValidatorV1x..., LockV1x...) encode real format versions, and the generated-vs-spec split in eth2api is the eth2api replacement issue's territory (#611).
Proposed change
Pick the canonical home per concept (core for domain types, eth2api spec types at the API boundary), collapse the copies, and give the survivors the fields their consumers actually need (e.g. put pubkey back on AttesterDuty, deleting AttesterDutyDefinition). Rename one of the Consensus/Clock trait pairs.
- Ngôn ngữ chính
- Rust
- Star
- 8
- Fork
- 5
- Merge trung bình
- 3 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của NethermindEth/pluto
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
NethermindEth/pluto#719 ·
-
enhancement rust
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
NethermindEth/pluto#640 ·
-
rust
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
NethermindEth/pluto#638 · 1 bình luận ·
-
enhancement rust
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
NethermindEth/pluto#635 ·
-
Improve `alpha test peers`: match Charon's probes; reduce timeoutsCó thể đã có người làm @varex83agent đã nhận 26 ngày trước. Đang mởbug track:orchestration-cli
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 28/100
NethermindEth/pluto#632 ·
Tất cả issue của NethermindEth/pluto
Issue tương tự
-
log1p loses all precision for small |x| wherever the polyfill runs (LLVM backend, Metal, WGSL)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Settings: the AI & Intelligence page cannot be scrolled (its Flickable has no viewport height)Đang mởarea/desktop-shell P1-high
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
yantrikos/yantrik-os#998 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
warpdotdev/warp#16662 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Playback dies with SIGKILL (exit 137) when rtkit grants real-time: RLIMIT_RTTIME is set to 0Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
crmne/spotifast#1105 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 2 ngày