mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-03 00:31:50 +00:00
Re-export context_deserialize_derive inside context_deserialize (#7852)
Re-export `context_deserialize_derive` inside of `context_deserialize` so they are both available from the same interface, which matches how popular crates (like `serde`) handle this. This also nests both crates inside a new `context_deserialize` directory which will make it easier to eventually spin out into a different repo (if/when) we decide to do that (plus I prefer it aesthetically).
This commit is contained in:
3
Cargo.lock
generated
3
Cargo.lock
generated
@@ -1786,6 +1786,7 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
|
||||
name = "context_deserialize"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"context_deserialize_derive",
|
||||
"milhouse",
|
||||
"serde",
|
||||
"ssz_types",
|
||||
@@ -2603,7 +2604,6 @@ dependencies = [
|
||||
"compare_fields",
|
||||
"compare_fields_derive",
|
||||
"context_deserialize",
|
||||
"context_deserialize_derive",
|
||||
"derivative",
|
||||
"eth2_network_config",
|
||||
"ethereum_ssz",
|
||||
@@ -9897,7 +9897,6 @@ dependencies = [
|
||||
"compare_fields",
|
||||
"compare_fields_derive",
|
||||
"context_deserialize",
|
||||
"context_deserialize_derive",
|
||||
"criterion",
|
||||
"derivative",
|
||||
"eth2_interop_keypairs",
|
||||
|
||||
10
Cargo.toml
10
Cargo.toml
@@ -48,8 +48,8 @@ members = [
|
||||
"common/validator_dir",
|
||||
"common/warp_utils",
|
||||
"common/workspace_members",
|
||||
"consensus/context_deserialize",
|
||||
"consensus/context_deserialize_derive",
|
||||
"consensus/context_deserialize/context_deserialize",
|
||||
"consensus/context_deserialize/context_deserialize_derive",
|
||||
"consensus/fixed_bytes",
|
||||
"consensus/fork_choice",
|
||||
"consensus/int_to_bytes",
|
||||
@@ -123,8 +123,10 @@ clap_utils = { path = "common/clap_utils" }
|
||||
compare_fields = { path = "common/compare_fields" }
|
||||
compare_fields_derive = { path = "common/compare_fields_derive" }
|
||||
console-subscriber = "0.4"
|
||||
context_deserialize = { path = "consensus/context_deserialize" }
|
||||
context_deserialize_derive = { path = "consensus/context_deserialize_derive" }
|
||||
context_deserialize = { path = "consensus/context_deserialize/context_deserialize", features = [
|
||||
"all",
|
||||
] }
|
||||
context_deserialize_derive = { path = "consensus/context_deserialize/context_deserialize_derive" }
|
||||
criterion = "0.5"
|
||||
delay_map = "0.4"
|
||||
deposit_contract = { path = "common/deposit_contract" }
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
[package]
|
||||
name = "context_deserialize"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
milhouse = { workspace = true }
|
||||
serde = { workspace = true }
|
||||
ssz_types = { workspace = true }
|
||||
17
consensus/context_deserialize/context_deserialize/Cargo.toml
Normal file
17
consensus/context_deserialize/context_deserialize/Cargo.toml
Normal file
@@ -0,0 +1,17 @@
|
||||
[package]
|
||||
name = "context_deserialize"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[features]
|
||||
default = ["derive"]
|
||||
derive = ["dep:context_deserialize_derive"]
|
||||
milhouse = ["dep:milhouse"]
|
||||
ssz = ["dep:ssz_types"]
|
||||
all = ["derive", "milhouse", "ssz"]
|
||||
|
||||
[dependencies]
|
||||
context_deserialize_derive = { version = "0.1.0", path = "../context_deserialize_derive", optional = true }
|
||||
milhouse = { workspace = true, optional = true }
|
||||
serde = { workspace = true }
|
||||
ssz_types = { workspace = true, optional = true }
|
||||
@@ -0,0 +1,7 @@
|
||||
mod core;
|
||||
|
||||
#[cfg(feature = "milhouse")]
|
||||
mod milhouse;
|
||||
|
||||
#[cfg(feature = "ssz")]
|
||||
mod ssz;
|
||||
@@ -1,10 +1,13 @@
|
||||
use crate::serde::de::Error;
|
||||
use crate::ContextDeserialize;
|
||||
use serde::de::Deserializer;
|
||||
use serde::Deserialize;
|
||||
use ssz_types::length::{Fixed, Variable};
|
||||
use ssz_types::typenum::Unsigned;
|
||||
use ssz_types::{Bitfield, FixedVector};
|
||||
use serde::{
|
||||
de::{Deserializer, Error},
|
||||
Deserialize,
|
||||
};
|
||||
use ssz_types::{
|
||||
length::{Fixed, Variable},
|
||||
typenum::Unsigned,
|
||||
Bitfield, FixedVector,
|
||||
};
|
||||
|
||||
impl<'de, C, T, N> ContextDeserialize<'de, C> for FixedVector<T, N>
|
||||
where
|
||||
@@ -1,8 +1,8 @@
|
||||
pub mod impls;
|
||||
pub mod milhouse;
|
||||
pub mod ssz_impls;
|
||||
mod impls;
|
||||
|
||||
#[cfg(feature = "derive")]
|
||||
pub use context_deserialize_derive::context_deserialize;
|
||||
|
||||
extern crate serde;
|
||||
use serde::de::Deserializer;
|
||||
|
||||
/// General-purpose deserialization trait that accepts extra context `C`.
|
||||
@@ -1,5 +1,4 @@
|
||||
use context_deserialize::ContextDeserialize;
|
||||
use context_deserialize_derive::context_deserialize;
|
||||
use context_deserialize::{context_deserialize, ContextDeserialize};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[test]
|
||||
@@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "types"
|
||||
version = "0.2.1"
|
||||
authors = ["Paul Hauner <paul@paulhauner.com>", "Age Manning <Age@AgeManning.com>"]
|
||||
authors = [
|
||||
"Paul Hauner <paul@paulhauner.com>",
|
||||
"Age Manning <Age@AgeManning.com>",
|
||||
]
|
||||
edition = { workspace = true }
|
||||
|
||||
[features]
|
||||
@@ -28,7 +31,6 @@ bls = { workspace = true }
|
||||
compare_fields = { workspace = true }
|
||||
compare_fields_derive = { workspace = true }
|
||||
context_deserialize = { workspace = true }
|
||||
context_deserialize_derive = { workspace = true }
|
||||
derivative = { workspace = true }
|
||||
eth2_interop_keypairs = { path = "../../common/eth2_interop_keypairs" }
|
||||
ethereum_hashing = { workspace = true }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use crate::slot_data::SlotData;
|
||||
use crate::test_utils::TestRandom;
|
||||
use crate::{Checkpoint, ForkName, Hash256, SignedRoot, Slot};
|
||||
use context_deserialize_derive::context_deserialize;
|
||||
use context_deserialize::context_deserialize;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use ssz_derive::{Decode, Encode};
|
||||
use test_random_derive::TestRandom;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use crate::test_utils::TestRandom;
|
||||
use crate::*;
|
||||
|
||||
use context_deserialize_derive::context_deserialize;
|
||||
use context_deserialize::context_deserialize;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use ssz_derive::{Decode, Encode};
|
||||
use test_random_derive::TestRandom;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::test_utils::TestRandom;
|
||||
use crate::{Epoch, ForkName, Hash256};
|
||||
use context_deserialize_derive::context_deserialize;
|
||||
use context_deserialize::context_deserialize;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use ssz_derive::{Decode, Encode};
|
||||
use test_random_derive::TestRandom;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::test_utils::TestRandom;
|
||||
use crate::{Epoch, ForkName};
|
||||
use context_deserialize_derive::context_deserialize;
|
||||
use context_deserialize::context_deserialize;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
use ssz_derive::{Decode, Encode};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::test_utils::TestRandom;
|
||||
use crate::{ForkName, Hash256, SignedRoot};
|
||||
use context_deserialize_derive::context_deserialize;
|
||||
use context_deserialize::context_deserialize;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
use ssz_derive::{Decode, Encode};
|
||||
|
||||
@@ -287,8 +287,7 @@ pub use bls::{
|
||||
AggregatePublicKey, AggregateSignature, Keypair, PublicKey, PublicKeyBytes, SecretKey,
|
||||
Signature, SignatureBytes,
|
||||
};
|
||||
pub use context_deserialize::ContextDeserialize;
|
||||
pub use context_deserialize_derive::context_deserialize;
|
||||
pub use context_deserialize::{context_deserialize, ContextDeserialize};
|
||||
pub use kzg::{KzgCommitment, KzgProof, VERSIONED_HASH_VERSION_KZG};
|
||||
pub use milhouse::{self, List, Vector};
|
||||
pub use ssz_types::{typenum, typenum::Unsigned, BitList, BitVector, FixedVector, VariableList};
|
||||
|
||||
@@ -18,7 +18,6 @@ bls = { workspace = true }
|
||||
compare_fields = { workspace = true }
|
||||
compare_fields_derive = { workspace = true }
|
||||
context_deserialize = { workspace = true }
|
||||
context_deserialize_derive = { workspace = true }
|
||||
derivative = { workspace = true }
|
||||
eth2_network_config = { workspace = true }
|
||||
ethereum_ssz = { workspace = true }
|
||||
|
||||
@@ -4,8 +4,7 @@ use super::*;
|
||||
use crate::cases::common::{DecimalU128, DecimalU256, SszStaticType};
|
||||
use crate::cases::ssz_static::{check_serialization, check_tree_hash};
|
||||
use crate::decode::{context_yaml_decode_file, log_file_access, snappy_decode_file};
|
||||
use context_deserialize::ContextDeserialize;
|
||||
use context_deserialize_derive::context_deserialize;
|
||||
use context_deserialize::{context_deserialize, ContextDeserialize};
|
||||
use serde::{de::Error as SerdeError, Deserialize, Deserializer};
|
||||
use ssz_derive::{Decode, Encode};
|
||||
use tree_hash::TreeHash;
|
||||
|
||||
Reference in New Issue
Block a user