Skip to main content

signet_journal/
lib.rs

1//! Signet journal utilities.
2//!
3//! In general, it is recommended to use the [`Journal`] enum, for forwards
4//! compatibility.
5
6#![warn(
7    missing_copy_implementations,
8    missing_debug_implementations,
9    missing_docs,
10    unreachable_pub,
11    clippy::missing_const_for_fn,
12    rustdoc::all
13)]
14#![cfg_attr(not(test), warn(unused_crate_dependencies))]
15#![deny(unused_must_use, rust_2018_idioms)]
16#![cfg_attr(docsrs, feature(doc_cfg))]
17
18mod host;
19pub use host::HostJournal;
20
21mod meta;
22pub use meta::JournalMeta;
23
24mod set;
25pub use set::JournalSet;
26
27mod versions;
28pub use versions::Journal;
29
30use alloy::primitives::{b256, B256};
31use futures_util::Stream;
32
33/// The genesis journal hash for the signet chain.
34pub const GENESIS_JOURNAL_HASH: B256 =
35    b256!("0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef");
36
37/// Any [`Stream`] that produces [`Journal`]s.
38pub trait JournalStream<'a>: Stream<Item = Journal<'a>> {}
39
40impl<'a, S> JournalStream<'a> for S where S: Stream<Item = Journal<'a>> {}