From 17107a775d0bd55477fe9effa33c3154cc47c3ed Mon Sep 17 00:00:00 2001 From: Willem Olding Date: Fri, 24 Feb 2023 16:17:42 +1100 Subject: [PATCH 1/4] lock version of thiserror to fix compilation error introduced in 1.0.38 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 8e45a2275..5a8aa5636 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ gen-tests = ["walkdir", "convert_case"] ssz-rs = { git = "https://github.com/ralexstokes/ssz-rs", rev = "adf1a0b14cef90b9536f28ef89da1fab316465e1" } blst = "0.3.6" rand = "0.8.4" -thiserror = "1.0.30" +thiserror = "= 1.0.30" sha2 = "0.9.8" integer-sqrt = "0.1.5" enr = "0.6.2" From 6bce0d0f136eab5b988e0f6b5b6a544c5a0ae335 Mon Sep 17 00:00:00 2001 From: Willem Olding Date: Fri, 24 Feb 2023 16:18:07 +1100 Subject: [PATCH 2/4] use cfg_attr to remove the serde attributes if the feature is not enabled --- src/altair/beacon_block.rs | 4 ++-- src/altair/beacon_state.rs | 16 ++++++++-------- src/altair/sync.rs | 4 ++-- src/altair/validator.rs | 10 +++++----- src/bellatrix/beacon_block.rs | 4 ++-- src/bellatrix/beacon_state.rs | 16 ++++++++-------- src/bellatrix/blinded_beacon_block.rs | 4 ++-- src/bellatrix/execution.rs | 16 ++++++++-------- src/builder/mod.rs | 6 +++--- src/capella/beacon_block.rs | 4 ++-- src/capella/beacon_state.rs | 20 ++++++++++---------- src/capella/blinded_beacon_block.rs | 4 ++-- src/capella/bls_to_execution_change.rs | 4 ++-- src/capella/execution.rs | 16 ++++++++-------- src/capella/withdrawal.rs | 6 +++--- src/configs/mod.rs | 10 +++++----- src/networking.rs | 2 +- src/phase0/beacon_block.rs | 8 ++++---- src/phase0/beacon_state.rs | 10 +++++----- src/phase0/fork.rs | 8 ++++---- src/phase0/operations.rs | 26 +++++++++++++------------- src/phase0/validator.rs | 14 +++++++------- src/primitives.rs | 2 +- src/ssz/byte_list.rs | 2 +- src/ssz/byte_vector.rs | 2 +- tests/spec_test_runners/bls/mod.rs | 2 +- 26 files changed, 110 insertions(+), 110 deletions(-) diff --git a/src/altair/beacon_block.rs b/src/altair/beacon_block.rs index b40cf9a42..ba7900155 100644 --- a/src/altair/beacon_block.rs +++ b/src/altair/beacon_block.rs @@ -39,9 +39,9 @@ pub struct BeaconBlock< const MAX_VOLUNTARY_EXITS: usize, const SYNC_COMMITTEE_SIZE: usize, > { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub proposer_index: ValidatorIndex, pub parent_root: Root, pub state_root: Root, diff --git a/src/altair/beacon_state.rs b/src/altair/beacon_state.rs index 5eb64cde9..19dd2a0dc 100644 --- a/src/altair/beacon_state.rs +++ b/src/altair/beacon_state.rs @@ -17,10 +17,10 @@ pub struct BeaconState< const MAX_VALIDATORS_PER_COMMITTEE: usize, const SYNC_COMMITTEE_SIZE: usize, > { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub genesis_time: u64, pub genesis_validators_root: Root, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, pub fork: Fork, pub latest_block_header: BeaconBlockHeader, @@ -29,23 +29,23 @@ pub struct BeaconState< pub historical_roots: List, pub eth1_data: Eth1Data, pub eth1_data_votes: List, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub eth1_deposit_index: u64, pub validators: List, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub balances: List, pub randao_mixes: Vector, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub slashings: Vector, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub previous_epoch_participation: List, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub current_epoch_participation: List, pub justification_bits: Bitvector, pub previous_justified_checkpoint: Checkpoint, pub current_justified_checkpoint: Checkpoint, pub finalized_checkpoint: Checkpoint, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub inactivity_scores: List, pub current_sync_committee: SyncCommittee, pub next_sync_committee: SyncCommittee, diff --git a/src/altair/sync.rs b/src/altair/sync.rs index 8440d853e..285b6db4d 100644 --- a/src/altair/sync.rs +++ b/src/altair/sync.rs @@ -11,8 +11,8 @@ pub struct SyncAggregate { #[derive(Default, Debug, SimpleSerialize, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct SyncCommittee { - #[serde(rename = "pubkeys")] + #[cfg_attr(feature = "serde", serde(rename = "pubkeys"))] pub public_keys: Vector, - #[serde(rename = "aggregate_pubkey")] + #[cfg_attr(feature = "serde", serde(rename = "aggregate_pubkey"))] pub aggregate_public_key: BlsPublicKey, } diff --git a/src/altair/validator.rs b/src/altair/validator.rs index 474c6f65e..3df352a63 100644 --- a/src/altair/validator.rs +++ b/src/altair/validator.rs @@ -6,10 +6,10 @@ pub const SYNC_COMMITTEE_SUBNET_COUNT: usize = 4; #[derive(Debug, Default, Clone, SimpleSerialize)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct SyncCommitteeMessage { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, pub beacon_block_root: Root, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub validator_index: ValidatorIndex, pub signature: BlsSignature, } @@ -21,10 +21,10 @@ pub(super) const fn get_sync_subcommittee_size(sync_committee_size: usize) -> us #[derive(Debug, Default, Clone, SimpleSerialize)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct SyncCommitteeContribution { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, pub beacon_block_root: Root, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub subcommittee_index: u64, pub aggregation_bits: Bitvector, pub signature: BlsSignature, @@ -33,7 +33,7 @@ pub struct SyncCommitteeContribution { #[derive(Debug, Default, Clone, SimpleSerialize)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct ContributionAndProof { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub aggregator_index: ValidatorIndex, pub contribution: SyncCommitteeContribution, pub selection_proof: BlsSignature, diff --git a/src/bellatrix/beacon_block.rs b/src/bellatrix/beacon_block.rs index 0258699b3..fceea93c9 100644 --- a/src/bellatrix/beacon_block.rs +++ b/src/bellatrix/beacon_block.rs @@ -54,9 +54,9 @@ pub struct BeaconBlock< const MAX_BYTES_PER_TRANSACTION: usize, const MAX_TRANSACTIONS_PER_PAYLOAD: usize, > { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub proposer_index: ValidatorIndex, pub parent_root: Root, pub state_root: Root, diff --git a/src/bellatrix/beacon_state.rs b/src/bellatrix/beacon_state.rs index d1f6c7a2b..790df9701 100644 --- a/src/bellatrix/beacon_state.rs +++ b/src/bellatrix/beacon_state.rs @@ -22,10 +22,10 @@ pub struct BeaconState< const MAX_BYTES_PER_TRANSACTION: usize, const MAX_TRANSACTIONS_PER_PAYLOAD: usize, > { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub genesis_time: u64, pub genesis_validators_root: Root, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, pub fork: Fork, pub latest_block_header: BeaconBlockHeader, @@ -34,23 +34,23 @@ pub struct BeaconState< pub historical_roots: List, pub eth1_data: Eth1Data, pub eth1_data_votes: List, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub eth1_deposit_index: u64, pub validators: List, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub balances: List, pub randao_mixes: Vector, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub slashings: Vector, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub previous_epoch_participation: List, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub current_epoch_participation: List, pub justification_bits: Bitvector, pub previous_justified_checkpoint: Checkpoint, pub current_justified_checkpoint: Checkpoint, pub finalized_checkpoint: Checkpoint, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub inactivity_scores: List, pub current_sync_committee: SyncCommittee, pub next_sync_committee: SyncCommittee, diff --git a/src/bellatrix/blinded_beacon_block.rs b/src/bellatrix/blinded_beacon_block.rs index 9d3767690..0c7a1e970 100644 --- a/src/bellatrix/blinded_beacon_block.rs +++ b/src/bellatrix/blinded_beacon_block.rs @@ -54,9 +54,9 @@ pub struct BlindedBeaconBlock< const MAX_BYTES_PER_TRANSACTION: usize, const MAX_TRANSACTIONS_PER_PAYLOAD: usize, > { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub proposer_index: ValidatorIndex, pub parent_root: Root, pub state_root: Root, diff --git a/src/bellatrix/execution.rs b/src/bellatrix/execution.rs index 50d0e2533..441ad89f1 100644 --- a/src/bellatrix/execution.rs +++ b/src/bellatrix/execution.rs @@ -19,13 +19,13 @@ pub struct ExecutionPayload< pub receipts_root: Bytes32, pub logs_bloom: ByteVector, pub prev_randao: Bytes32, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub block_number: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub gas_limit: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub gas_used: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub timestamp: u64, pub extra_data: ByteList, pub base_fee_per_gas: U256, @@ -47,13 +47,13 @@ pub struct ExecutionPayloadHeader< pub receipts_root: Bytes32, pub logs_bloom: ByteVector, pub prev_randao: Bytes32, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub block_number: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub gas_limit: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub gas_used: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub timestamp: u64, pub extra_data: ByteList, pub base_fee_per_gas: U256, diff --git a/src/builder/mod.rs b/src/builder/mod.rs index 1690b289d..cf43939f1 100644 --- a/src/builder/mod.rs +++ b/src/builder/mod.rs @@ -7,11 +7,11 @@ use ssz_rs::prelude::*; #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct ValidatorRegistration { pub fee_recipient: ExecutionAddress, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub gas_limit: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub timestamp: u64, - #[serde(rename = "pubkey")] + #[cfg_attr(feature = "serde", serde(rename = "pubkey"))] pub public_key: BlsPublicKey, } diff --git a/src/capella/beacon_block.rs b/src/capella/beacon_block.rs index 6cde9d09a..efd532a0d 100644 --- a/src/capella/beacon_block.rs +++ b/src/capella/beacon_block.rs @@ -60,9 +60,9 @@ pub struct BeaconBlock< const MAX_WITHDRAWALS_PER_PAYLOAD: usize, const MAX_BLS_TO_EXECUTION_CHANGES: usize, > { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub proposer_index: ValidatorIndex, pub parent_root: Root, pub state_root: Root, diff --git a/src/capella/beacon_state.rs b/src/capella/beacon_state.rs index f72f0b33a..1d486c80b 100644 --- a/src/capella/beacon_state.rs +++ b/src/capella/beacon_state.rs @@ -24,10 +24,10 @@ pub struct BeaconState< const MAX_BYTES_PER_TRANSACTION: usize, const MAX_TRANSACTIONS_PER_PAYLOAD: usize, > { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub genesis_time: u64, pub genesis_validators_root: Root, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, pub fork: Fork, pub latest_block_header: BeaconBlockHeader, @@ -36,31 +36,31 @@ pub struct BeaconState< pub historical_roots: List, pub eth1_data: Eth1Data, pub eth1_data_votes: List, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub eth1_deposit_index: u64, pub validators: List, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub balances: List, pub randao_mixes: Vector, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub slashings: Vector, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub previous_epoch_participation: List, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub current_epoch_participation: List, pub justification_bits: Bitvector, pub previous_justified_checkpoint: Checkpoint, pub current_justified_checkpoint: Checkpoint, pub finalized_checkpoint: Checkpoint, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub inactivity_scores: List, pub current_sync_committee: SyncCommittee, pub next_sync_committee: SyncCommittee, pub latest_execution_payload_header: ExecutionPayloadHeader, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub next_withdrawal_index: WithdrawalIndex, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub next_withdrawal_validator_index: ValidatorIndex, pub historical_summaries: List, } diff --git a/src/capella/blinded_beacon_block.rs b/src/capella/blinded_beacon_block.rs index 6bf86afb0..771888a1b 100644 --- a/src/capella/blinded_beacon_block.rs +++ b/src/capella/blinded_beacon_block.rs @@ -55,9 +55,9 @@ pub struct BlindedBeaconBlock< const MAX_WITHDRAWALS_PER_PAYLOAD: usize, const MAX_BLS_TO_EXECUTION_CHANGES: usize, > { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub proposer_index: ValidatorIndex, pub parent_root: Root, pub state_root: Root, diff --git a/src/capella/bls_to_execution_change.rs b/src/capella/bls_to_execution_change.rs index 10f094ab8..7f1771c43 100644 --- a/src/capella/bls_to_execution_change.rs +++ b/src/capella/bls_to_execution_change.rs @@ -4,9 +4,9 @@ use ssz_rs::prelude::*; #[derive(Default, Debug, Clone, SimpleSerialize, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct BlsToExecutionChange { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub validator_index: ValidatorIndex, - #[serde(rename = "from_bls_pubkey")] + #[cfg_attr(feature = "serde", serde(rename = "from_bls_pubkey"))] pub from_bls_public_key: BlsPublicKey, pub to_execution_address: ExecutionAddress, } diff --git a/src/capella/execution.rs b/src/capella/execution.rs index c17355c05..28b625049 100644 --- a/src/capella/execution.rs +++ b/src/capella/execution.rs @@ -20,13 +20,13 @@ pub struct ExecutionPayload< pub receipts_root: Bytes32, pub logs_bloom: ByteVector, pub prev_randao: Bytes32, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub block_number: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub gas_limit: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub gas_used: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub timestamp: u64, pub extra_data: ByteList, pub base_fee_per_gas: U256, @@ -47,13 +47,13 @@ pub struct ExecutionPayloadHeader< pub receipts_root: Bytes32, pub logs_bloom: ByteVector, pub prev_randao: Bytes32, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub block_number: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub gas_limit: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub gas_used: u64, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub timestamp: u64, pub extra_data: ByteList, pub base_fee_per_gas: U256, diff --git a/src/capella/withdrawal.rs b/src/capella/withdrawal.rs index eb915e6cd..3988aef38 100644 --- a/src/capella/withdrawal.rs +++ b/src/capella/withdrawal.rs @@ -4,11 +4,11 @@ use ssz_rs::prelude::*; #[derive(Default, Debug, Clone, SimpleSerialize, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Withdrawal { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub index: WithdrawalIndex, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub validator_index: ValidatorIndex, pub address: ExecutionAddress, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub amount: Gwei, } diff --git a/src/configs/mod.rs b/src/configs/mod.rs index 8b120b907..ac4ffffba 100644 --- a/src/configs/mod.rs +++ b/src/configs/mod.rs @@ -19,20 +19,20 @@ pub struct Config { pub min_genesis_active_validator_count: usize, pub min_genesis_time: u64, - #[serde(with = "crate::serde::as_hex")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] pub genesis_fork_version: Version, pub genesis_delay: u64, - #[serde(with = "crate::serde::as_hex")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] pub altair_fork_version: Version, pub altair_fork_epoch: Epoch, - #[serde(with = "crate::serde::as_hex")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] pub bellatrix_fork_version: Version, pub bellatrix_fork_epoch: Epoch, - #[serde(with = "crate::serde::as_hex")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] pub capella_fork_version: Version, pub capella_fork_epoch: Epoch, - #[serde(with = "crate::serde::as_hex")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] pub eip4844_fork_version: Version, pub eip4844_fork_epoch: Epoch, diff --git a/src/networking.rs b/src/networking.rs index 5194aeeac..4d187523b 100644 --- a/src/networking.rs +++ b/src/networking.rs @@ -139,7 +139,7 @@ pub enum MessageDomain { #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct MetaData { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub seq_number: u64, pub attnets: Bitvector, } diff --git a/src/phase0/beacon_block.rs b/src/phase0/beacon_block.rs index 5b6e32221..11990481f 100644 --- a/src/phase0/beacon_block.rs +++ b/src/phase0/beacon_block.rs @@ -35,9 +35,9 @@ pub struct BeaconBlock< const MAX_DEPOSITS: usize, const MAX_VOLUNTARY_EXITS: usize, > { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub proposer_index: ValidatorIndex, pub parent_root: Root, pub state_root: Root, @@ -75,9 +75,9 @@ pub struct SignedBeaconBlock< #[derive(Default, Debug, SimpleSerialize, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct BeaconBlockHeader { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub proposer_index: ValidatorIndex, pub parent_root: Root, pub state_root: Root, diff --git a/src/phase0/beacon_state.rs b/src/phase0/beacon_state.rs index 2c40b6580..1e1d374ea 100644 --- a/src/phase0/beacon_state.rs +++ b/src/phase0/beacon_state.rs @@ -58,10 +58,10 @@ pub struct BeaconState< const MAX_VALIDATORS_PER_COMMITTEE: usize, const PENDING_ATTESTATIONS_BOUND: usize, > { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub genesis_time: u64, pub genesis_validators_root: Root, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, pub fork: Fork, pub latest_block_header: BeaconBlockHeader, @@ -70,13 +70,13 @@ pub struct BeaconState< pub historical_roots: List, pub eth1_data: Eth1Data, pub eth1_data_votes: List, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub eth1_deposit_index: u64, pub validators: List, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub balances: List, pub randao_mixes: Vector, - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub slashings: Vector, pub previous_epoch_attestations: List, PENDING_ATTESTATIONS_BOUND>, diff --git a/src/phase0/fork.rs b/src/phase0/fork.rs index def98f31c..693376f03 100644 --- a/src/phase0/fork.rs +++ b/src/phase0/fork.rs @@ -4,18 +4,18 @@ use ssz_rs::prelude::*; #[derive(Default, Debug, SimpleSerialize, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Fork { - #[serde(with = "crate::serde::as_hex")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] pub previous_version: Version, - #[serde(with = "crate::serde::as_hex")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] pub current_version: Version, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub epoch: Epoch, } #[derive(Default, Debug, SimpleSerialize, Clone)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct ForkData { - #[serde(with = "crate::serde::as_hex")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] pub current_version: Version, pub genesis_validators_root: Root, } diff --git a/src/phase0/operations.rs b/src/phase0/operations.rs index 1f6c6ba37..347f113e9 100644 --- a/src/phase0/operations.rs +++ b/src/phase0/operations.rs @@ -8,7 +8,7 @@ use ssz_rs::prelude::*; #[derive(Default, Clone, Debug, SimpleSerialize, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Checkpoint { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub epoch: Epoch, pub root: Root, } @@ -16,9 +16,9 @@ pub struct Checkpoint { #[derive(Default, Clone, Debug, SimpleSerialize, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct AttestationData { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub slot: Slot, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub index: CommitteeIndex, pub beacon_block_root: Root, pub source: Checkpoint, @@ -28,7 +28,7 @@ pub struct AttestationData { #[derive(Default, Debug, SimpleSerialize, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct IndexedAttestation { - #[serde(with = "crate::serde::collection_over_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] pub attesting_indices: List, pub data: AttestationData, pub signature: BlsSignature, @@ -39,9 +39,9 @@ pub struct IndexedAttestation { pub struct PendingAttestation { pub aggregation_bits: Bitlist, pub data: AttestationData, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub inclusion_delay: Slot, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub proposer_index: ValidatorIndex, } @@ -57,7 +57,7 @@ pub struct Attestation { #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Eth1Data { pub deposit_root: Root, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub deposit_count: u64, pub block_hash: Hash32, } @@ -65,20 +65,20 @@ pub struct Eth1Data { #[derive(Default, Debug, SimpleSerialize, Clone)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct DepositMessage { - #[serde(rename = "pubkey")] + #[cfg_attr(feature = "serde", serde(rename = "pubkey"))] pub public_key: BlsPublicKey, pub withdrawal_credentials: Bytes32, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub amount: Gwei, } #[derive(Default, Debug, Clone, SimpleSerialize, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct DepositData { - #[serde(rename = "pubkey")] + #[cfg_attr(feature = "serde", serde(rename = "pubkey"))] pub public_key: BlsPublicKey, pub withdrawal_credentials: Bytes32, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub amount: Gwei, pub signature: BlsSignature, } @@ -113,9 +113,9 @@ pub struct Deposit { #[derive(Default, Debug, SimpleSerialize, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct VoluntaryExit { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub epoch: Epoch, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub validator_index: ValidatorIndex, } diff --git a/src/phase0/validator.rs b/src/phase0/validator.rs index c832e223f..321514c59 100644 --- a/src/phase0/validator.rs +++ b/src/phase0/validator.rs @@ -5,20 +5,20 @@ use ssz_rs::prelude::*; #[derive(Default, Debug, SimpleSerialize, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Validator { - #[serde(rename = "pubkey")] + #[cfg_attr(feature = "serde", serde(rename = "pubkey"))] pub public_key: BlsPublicKey, pub withdrawal_credentials: Bytes32, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub effective_balance: Gwei, pub slashed: bool, // Status epochs - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub activation_eligibility_epoch: Epoch, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub activation_epoch: Epoch, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub exit_epoch: Epoch, - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub withdrawable_epoch: Epoch, } @@ -33,7 +33,7 @@ pub struct Eth1Block { #[derive(Default, Debug, SimpleSerialize, Clone)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct AggregateAndProof { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub aggregator_index: ValidatorIndex, pub aggregate: Attestation, pub selection_proof: BlsSignature, diff --git a/src/primitives.rs b/src/primitives.rs index 6f981df0a..874a6946c 100644 --- a/src/primitives.rs +++ b/src/primitives.rs @@ -32,7 +32,7 @@ pub type ParticipationFlags = u8; // Coordinate refers to a unique location in the block tree #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Coordinate { - #[serde(with = "crate::serde::as_string")] + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] slot: Slot, root: Root, } diff --git a/src/ssz/byte_list.rs b/src/ssz/byte_list.rs index 3f15cf9aa..4802046d5 100644 --- a/src/ssz/byte_list.rs +++ b/src/ssz/byte_list.rs @@ -6,7 +6,7 @@ use std::ops::{Deref, DerefMut}; #[derive(Default, Clone, Eq, SimpleSerialize)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] -pub struct ByteList(#[serde(with = "crate::serde::as_hex")] List); +pub struct ByteList(#[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] List); impl TryFrom<&[u8]> for ByteList { type Error = ssz_rs::DeserializeError; diff --git a/src/ssz/byte_vector.rs b/src/ssz/byte_vector.rs index 8fecb1959..ef564149e 100644 --- a/src/ssz/byte_vector.rs +++ b/src/ssz/byte_vector.rs @@ -6,7 +6,7 @@ use std::ops::{Deref, DerefMut}; #[derive(Default, Clone, Eq, SimpleSerialize)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] -pub struct ByteVector(#[serde(with = "crate::serde::as_hex")] Vector); +pub struct ByteVector(#[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] Vector); impl TryFrom<&[u8]> for ByteVector { type Error = ssz_rs::DeserializeError; diff --git a/tests/spec_test_runners/bls/mod.rs b/tests/spec_test_runners/bls/mod.rs index 153a13692..e8d225d7c 100644 --- a/tests/spec_test_runners/bls/mod.rs +++ b/tests/spec_test_runners/bls/mod.rs @@ -289,7 +289,7 @@ impl TestCase for EthAggregatePubkeysTestCase { #[serde_as] #[derive(Debug, Deserialize)] struct EthFastAggregateVerifyInput { - #[serde(rename = "pubkeys")] + #[cfg_attr(feature = "serde", serde(rename = "pubkeys"))] public_keys: Vec, message: Bytes32, #[serde_as(deserialize_as = "DefaultOnError")] From db7f592ca7891f16465d1382be207fcabe670b4e Mon Sep 17 00:00:00 2001 From: Willem Olding Date: Fri, 24 Feb 2023 16:24:55 +1100 Subject: [PATCH 3/4] apply cargo fmt --- src/altair/beacon_state.rs | 25 ++++++++++++++++++++----- src/bellatrix/beacon_state.rs | 25 ++++++++++++++++++++----- src/capella/beacon_state.rs | 25 ++++++++++++++++++++----- src/phase0/beacon_state.rs | 10 ++++++++-- src/phase0/operations.rs | 5 ++++- src/ssz/byte_list.rs | 4 +++- src/ssz/byte_vector.rs | 4 +++- 7 files changed, 78 insertions(+), 20 deletions(-) diff --git a/src/altair/beacon_state.rs b/src/altair/beacon_state.rs index 19dd2a0dc..73679b381 100644 --- a/src/altair/beacon_state.rs +++ b/src/altair/beacon_state.rs @@ -32,20 +32,35 @@ pub struct BeaconState< #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub eth1_deposit_index: u64, pub validators: List, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub balances: List, pub randao_mixes: Vector, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub slashings: Vector, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub previous_epoch_participation: List, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub current_epoch_participation: List, pub justification_bits: Bitvector, pub previous_justified_checkpoint: Checkpoint, pub current_justified_checkpoint: Checkpoint, pub finalized_checkpoint: Checkpoint, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub inactivity_scores: List, pub current_sync_committee: SyncCommittee, pub next_sync_committee: SyncCommittee, diff --git a/src/bellatrix/beacon_state.rs b/src/bellatrix/beacon_state.rs index 790df9701..e265479df 100644 --- a/src/bellatrix/beacon_state.rs +++ b/src/bellatrix/beacon_state.rs @@ -37,20 +37,35 @@ pub struct BeaconState< #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub eth1_deposit_index: u64, pub validators: List, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub balances: List, pub randao_mixes: Vector, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub slashings: Vector, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub previous_epoch_participation: List, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub current_epoch_participation: List, pub justification_bits: Bitvector, pub previous_justified_checkpoint: Checkpoint, pub current_justified_checkpoint: Checkpoint, pub finalized_checkpoint: Checkpoint, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub inactivity_scores: List, pub current_sync_committee: SyncCommittee, pub next_sync_committee: SyncCommittee, diff --git a/src/capella/beacon_state.rs b/src/capella/beacon_state.rs index 1d486c80b..19a355fde 100644 --- a/src/capella/beacon_state.rs +++ b/src/capella/beacon_state.rs @@ -39,20 +39,35 @@ pub struct BeaconState< #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub eth1_deposit_index: u64, pub validators: List, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub balances: List, pub randao_mixes: Vector, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub slashings: Vector, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub previous_epoch_participation: List, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub current_epoch_participation: List, pub justification_bits: Bitvector, pub previous_justified_checkpoint: Checkpoint, pub current_justified_checkpoint: Checkpoint, pub finalized_checkpoint: Checkpoint, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub inactivity_scores: List, pub current_sync_committee: SyncCommittee, pub next_sync_committee: SyncCommittee, diff --git a/src/phase0/beacon_state.rs b/src/phase0/beacon_state.rs index 1e1d374ea..fcd1875c1 100644 --- a/src/phase0/beacon_state.rs +++ b/src/phase0/beacon_state.rs @@ -73,10 +73,16 @@ pub struct BeaconState< #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_string"))] pub eth1_deposit_index: u64, pub validators: List, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub balances: List, pub randao_mixes: Vector, - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub slashings: Vector, pub previous_epoch_attestations: List, PENDING_ATTESTATIONS_BOUND>, diff --git a/src/phase0/operations.rs b/src/phase0/operations.rs index 347f113e9..c2803b8d0 100644 --- a/src/phase0/operations.rs +++ b/src/phase0/operations.rs @@ -28,7 +28,10 @@ pub struct AttestationData { #[derive(Default, Debug, SimpleSerialize, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct IndexedAttestation { - #[cfg_attr(feature = "serde", serde(with = "crate::serde::collection_over_string"))] + #[cfg_attr( + feature = "serde", + serde(with = "crate::serde::collection_over_string") + )] pub attesting_indices: List, pub data: AttestationData, pub signature: BlsSignature, diff --git a/src/ssz/byte_list.rs b/src/ssz/byte_list.rs index 4802046d5..8cccb7f0e 100644 --- a/src/ssz/byte_list.rs +++ b/src/ssz/byte_list.rs @@ -6,7 +6,9 @@ use std::ops::{Deref, DerefMut}; #[derive(Default, Clone, Eq, SimpleSerialize)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] -pub struct ByteList(#[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] List); +pub struct ByteList( + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] List, +); impl TryFrom<&[u8]> for ByteList { type Error = ssz_rs::DeserializeError; diff --git a/src/ssz/byte_vector.rs b/src/ssz/byte_vector.rs index ef564149e..867caa632 100644 --- a/src/ssz/byte_vector.rs +++ b/src/ssz/byte_vector.rs @@ -6,7 +6,9 @@ use std::ops::{Deref, DerefMut}; #[derive(Default, Clone, Eq, SimpleSerialize)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] -pub struct ByteVector(#[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] Vector); +pub struct ByteVector( + #[cfg_attr(feature = "serde", serde(with = "crate::serde::as_hex"))] Vector, +); impl TryFrom<&[u8]> for ByteVector { type Error = ssz_rs::DeserializeError; From 140ac658e222ef20dbf14e10b9704f48ca4664e4 Mon Sep 17 00:00:00 2001 From: Willem Olding Date: Fri, 24 Feb 2023 16:28:40 +1100 Subject: [PATCH 4/4] put thiserror crate back --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 5a8aa5636..8e45a2275 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ gen-tests = ["walkdir", "convert_case"] ssz-rs = { git = "https://github.com/ralexstokes/ssz-rs", rev = "adf1a0b14cef90b9536f28ef89da1fab316465e1" } blst = "0.3.6" rand = "0.8.4" -thiserror = "= 1.0.30" +thiserror = "1.0.30" sha2 = "0.9.8" integer-sqrt = "0.1.5" enr = "0.6.2"