Remove consensus/types re-exports (#8540)

There are certain crates which we re-export within `types` which creates a fragmented DevEx, where there are various ways to import the same crates.

```rust
// consensus/types/src/lib.rs
pub use bls::{
AggregatePublicKey, AggregateSignature, Error as BlsError, Keypair, PUBLIC_KEY_BYTES_LEN,
PublicKey, PublicKeyBytes, SIGNATURE_BYTES_LEN, SecretKey, Signature, SignatureBytes,
get_withdrawal_credentials,
};
pub use context_deserialize::{ContextDeserialize, context_deserialize};
pub use fixed_bytes::FixedBytesExtended;
pub use milhouse::{self, List, Vector};
pub use ssz_types::{BitList, BitVector, FixedVector, VariableList, typenum, typenum::Unsigned};
pub use superstruct::superstruct;
```

This PR removes these re-exports and makes it explicit that these types are imported from a non-`consensus/types` crate.


Co-Authored-By: Mac L <mjladson@pm.me>
This commit is contained in:
Mac L
2025-12-09 11:13:41 +04:00
committed by GitHub
parent 77d58437da
commit f3fd1f210b
213 changed files with 556 additions and 259 deletions

View File

@@ -1,6 +1,8 @@
use crate::errors::BeaconChainError;
use crate::{BeaconChainTypes, BeaconStore};
use bls::PUBLIC_KEY_UNCOMPRESSED_BYTES_LEN;
use bls::{PublicKey, PublicKeyBytes};
use fixed_bytes::FixedBytesExtended;
use rayon::prelude::*;
use smallvec::SmallVec;
use ssz::{Decode, Encode};
@@ -9,7 +11,7 @@ use std::collections::HashMap;
use std::marker::PhantomData;
use store::{DBColumn, Error as StoreError, StoreItem, StoreOp};
use tracing::instrument;
use types::{BeaconState, FixedBytesExtended, Hash256, PublicKey, PublicKeyBytes};
use types::{BeaconState, Hash256};
/// Provides a mapping of `validator_index -> validator_publickey`.
///
@@ -244,10 +246,11 @@ impl DatabasePubkey {
mod test {
use super::*;
use crate::test_utils::{BeaconChainHarness, EphemeralHarnessType};
use bls::Keypair;
use logging::create_test_tracing_subscriber;
use std::sync::Arc;
use store::HotColdDB;
use types::{EthSpec, Keypair, MainnetEthSpec};
use types::{EthSpec, MainnetEthSpec};
type E = MainnetEthSpec;
type T = EphemeralHarnessType<E>;