From 4fd5fc946b0e32ce731950ca1a828c1ab9299bbb Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Tue, 28 May 2024 23:13:42 +0200 Subject: [PATCH] fix: add proptest derives back --- crates/eips/src/eip4844/sidecar.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/crates/eips/src/eip4844/sidecar.rs b/crates/eips/src/eip4844/sidecar.rs index f2ec084f617..efffd20fc6f 100644 --- a/crates/eips/src/eip4844/sidecar.rs +++ b/crates/eips/src/eip4844/sidecar.rs @@ -18,6 +18,7 @@ use alloc::vec::Vec; #[derive(Clone, Debug, Default, PartialEq, Eq, Hash)] #[repr(C)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +#[cfg_attr(any(test, feature = "arbitrary"), derive(proptest_derive::Arbitrary))] pub struct BlobTransactionSidecar { /// The blob data. #[cfg_attr( @@ -31,7 +32,7 @@ pub struct BlobTransactionSidecar { pub proofs: Vec, } -#[cfg(feature = "arbitrary")] +#[cfg(any(test, feature = "arbitrary"))] impl<'a> arbitrary::Arbitrary<'a> for BlobTransactionSidecar { fn arbitrary(u: &mut arbitrary::Unstructured<'a>) -> arbitrary::Result { let num_blobs = u.int_in_range(1..=MAX_BLOBS_PER_BLOCK)?; @@ -287,6 +288,7 @@ impl From for BlobTransactionValidationError { #[cfg(test)] mod tests { use super::*; + use arbitrary::Arbitrary; #[test] #[cfg(feature = "serde")] @@ -311,4 +313,10 @@ mod tests { let deserialized: BlobTransactionSidecar = serde_json::from_str(&s).unwrap(); assert_eq!(blob, deserialized); } + + #[test] + fn test_arbitrary_blob() { + let mut unstructured = arbitrary::Unstructured::new(b"unstructured blob"); + let _blob = BlobTransactionSidecar::arbitrary(&mut unstructured).unwrap(); + } }