From b2a5337ce560868e8e5806ec596e615e5b40fd30 Mon Sep 17 00:00:00 2001 From: Eitan Seri- Levi Date: Thu, 6 Nov 2025 22:55:38 -0800 Subject: [PATCH] Educe migration --- consensus/types/src/execution_payload_bid.rs | 6 +++--- consensus/types/src/execution_payload_envelope.rs | 10 +++++----- consensus/types/src/payload_attestation.rs | 8 +++----- consensus/types/src/signed_execution_payload_bid.rs | 8 +++----- .../types/src/signed_execution_payload_envelope.rs | 10 +++++----- 5 files changed, 19 insertions(+), 23 deletions(-) diff --git a/consensus/types/src/execution_payload_bid.rs b/consensus/types/src/execution_payload_bid.rs index 1449dbc90f..bb8c26b585 100644 --- a/consensus/types/src/execution_payload_bid.rs +++ b/consensus/types/src/execution_payload_bid.rs @@ -1,15 +1,15 @@ use crate::{test_utils::TestRandom, *}; -use derivative::Derivative; +use educe::Educe; use serde::{Deserialize, Serialize}; use ssz_derive::{Decode, Encode}; use test_random_derive::TestRandom; use tree_hash_derive::TreeHash; #[derive( - Default, Debug, Clone, Serialize, Encode, Decode, Deserialize, TreeHash, Derivative, TestRandom, + Default, Debug, Clone, Serialize, Encode, Decode, Deserialize, TreeHash, Educe, TestRandom, )] #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] -#[derivative(PartialEq, Hash)] +#[educe(PartialEq, Hash)] #[context_deserialize(ForkName)] // https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/beacon-chain.md#executionpayloadbid pub struct ExecutionPayloadBid { diff --git a/consensus/types/src/execution_payload_envelope.rs b/consensus/types/src/execution_payload_envelope.rs index 81539e519a..7cd1d1be80 100644 --- a/consensus/types/src/execution_payload_envelope.rs +++ b/consensus/types/src/execution_payload_envelope.rs @@ -1,7 +1,7 @@ use crate::test_utils::TestRandom; use crate::*; use beacon_block_body::KzgCommitments; -use derivative::Derivative; +use educe::Educe; use serde::de::{Deserializer, Error as _}; use serde::{Deserialize, Serialize}; use ssz_derive::{Decode, Encode}; @@ -22,10 +22,10 @@ use tree_hash_derive::TreeHash; Decode, TreeHash, TestRandom, - Derivative + Educe ), cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary)), - derivative(PartialEq, Hash(bound = "E: EthSpec")), + educe(PartialEq, Hash(bound(E: EthSpec))), serde(bound = "E: EthSpec", deny_unknown_fields), cfg_attr(feature = "arbitrary", arbitrary(bound = "E: EthSpec")) ), @@ -36,8 +36,8 @@ use tree_hash_derive::TreeHash; cast_error(ty = "Error", expr = "BeaconStateError::IncorrectStateVariant"), partial_getter_error(ty = "Error", expr = "BeaconStateError::IncorrectStateVariant") )] -#[derive(Debug, Clone, Serialize, Encode, Deserialize, TreeHash, Derivative)] -#[derivative(PartialEq, Hash(bound = "E: EthSpec"))] +#[derive(Debug, Clone, Serialize, Encode, Deserialize, TreeHash, Educe)] +#[educe(PartialEq, Hash(bound(E: EthSpec)))] #[serde(bound = "E: EthSpec", untagged)] #[ssz(enum_behaviour = "transparent")] #[tree_hash(enum_behaviour = "transparent")] diff --git a/consensus/types/src/payload_attestation.rs b/consensus/types/src/payload_attestation.rs index 48b0a3e3b3..d4e2dd2138 100644 --- a/consensus/types/src/payload_attestation.rs +++ b/consensus/types/src/payload_attestation.rs @@ -1,18 +1,16 @@ use crate::test_utils::TestRandom; use crate::*; -use derivative::Derivative; +use educe::Educe; use serde::{Deserialize, Serialize}; use ssz_derive::{Decode, Encode}; use test_random_derive::TestRandom; use tree_hash_derive::TreeHash; -#[derive( - TestRandom, TreeHash, Debug, Clone, Encode, Decode, Serialize, Deserialize, Derivative, -)] +#[derive(TestRandom, TreeHash, Debug, Clone, Encode, Decode, Serialize, Deserialize, Educe)] #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[serde(bound = "E: EthSpec", deny_unknown_fields)] #[cfg_attr(feature = "arbitrary", arbitrary(bound = "E: EthSpec"))] -#[derivative(PartialEq, Hash)] +#[educe(PartialEq, Hash)] #[context_deserialize(ForkName)] pub struct PayloadAttestation { pub aggregation_bits: BitList, diff --git a/consensus/types/src/signed_execution_payload_bid.rs b/consensus/types/src/signed_execution_payload_bid.rs index 58a50977b3..0d5daacf50 100644 --- a/consensus/types/src/signed_execution_payload_bid.rs +++ b/consensus/types/src/signed_execution_payload_bid.rs @@ -1,16 +1,14 @@ use crate::test_utils::TestRandom; use crate::*; -use derivative::Derivative; +use educe::Educe; use serde::{Deserialize, Serialize}; use ssz_derive::{Decode, Encode}; use test_random_derive::TestRandom; use tree_hash_derive::TreeHash; -#[derive( - TestRandom, TreeHash, Debug, Clone, Encode, Decode, Serialize, Deserialize, Derivative, -)] +#[derive(TestRandom, TreeHash, Debug, Clone, Encode, Decode, Serialize, Deserialize, Educe)] #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] -#[derivative(PartialEq, Hash)] +#[educe(PartialEq, Hash)] #[context_deserialize(ForkName)] // https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/beacon-chain.md#signedexecutionpayloadbid pub struct SignedExecutionPayloadBid { diff --git a/consensus/types/src/signed_execution_payload_envelope.rs b/consensus/types/src/signed_execution_payload_envelope.rs index 96276a764b..3522b31999 100644 --- a/consensus/types/src/signed_execution_payload_envelope.rs +++ b/consensus/types/src/signed_execution_payload_envelope.rs @@ -1,6 +1,6 @@ use crate::test_utils::TestRandom; use crate::*; -use derivative::Derivative; +use educe::Educe; use serde::de::{Deserializer, Error as _}; use serde::{Deserialize, Serialize}; use ssz_derive::{Decode, Encode}; @@ -20,10 +20,10 @@ use tree_hash_derive::TreeHash; Decode, TreeHash, TestRandom, - Derivative + Educe ), cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary)), - derivative(PartialEq, Hash(bound = "E: EthSpec")), + educe(PartialEq, Hash(bound(E: EthSpec))), serde(bound = "E: EthSpec", deny_unknown_fields), cfg_attr(feature = "arbitrary", arbitrary(bound = "E: EthSpec")) ), @@ -34,8 +34,8 @@ use tree_hash_derive::TreeHash; cast_error(ty = "Error", expr = "BeaconStateError::IncorrectStateVariant"), partial_getter_error(ty = "Error", expr = "BeaconStateError::IncorrectStateVariant") )] -#[derive(Debug, Clone, Serialize, Encode, Deserialize, TreeHash, Derivative)] -#[derivative(PartialEq, Hash(bound = "E: EthSpec"))] +#[derive(Debug, Clone, Serialize, Encode, Deserialize, TreeHash, Educe)] +#[educe(PartialEq, Hash(bound(E: EthSpec)))] #[serde(bound = "E: EthSpec", untagged)] #[ssz(enum_behaviour = "transparent")] #[tree_hash(enum_behaviour = "transparent")]