use alloc::vec::Vec;
use alloy_rlp::BufMut;
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
pub enum BlobSidecarEncoding {
#[default]
WithBlobs,
WithoutBlobs,
}
pub trait Encodable7594 {
fn encode_7594_len(&self) -> usize;
fn encode_7594(&self, out: &mut dyn BufMut);
fn encode_7594_len_with(&self, _encoding: BlobSidecarEncoding) -> usize {
self.encode_7594_len()
}
fn encode_7594_with(&self, _encoding: BlobSidecarEncoding, out: &mut dyn BufMut) {
self.encode_7594(out);
}
fn encoded_7594(&self) -> Vec<u8> {
let mut out = Vec::with_capacity(self.encode_7594_len());
self.encode_7594(&mut out);
out
}
}
pub trait Decodable7594: Sized {
fn decode_7594(buf: &mut &[u8]) -> alloy_rlp::Result<Self>;
}