cuprate_types/
lib.rs

1#![doc = include_str!("../README.md")]
2// `proptest` needs this internally.
3#![cfg_attr(any(feature = "proptest"), allow(non_local_definitions))]
4// Allow some lints when running in debug mode.
5#![cfg_attr(debug_assertions, allow(clippy::todo, clippy::multiple_crate_versions))]
6
7//---------------------------------------------------------------------------------------------------- Public API
8// Import private modules, export public types.
9//
10// Documentation for each module is located in the respective file.
11
12mod address_type;
13mod block_complete_entry;
14mod connection_state;
15mod hard_fork;
16mod transaction_verification_data;
17mod types;
18
19pub use address_type::AddressType;
20pub use block_complete_entry::{BlockCompleteEntry, PrunedTxBlobEntry, TransactionBlobs};
21pub use connection_state::ConnectionState;
22pub use hard_fork::{HardFork, HardForkError};
23pub use transaction_verification_data::{
24    CachedVerificationState, TransactionVerificationData, TxVersion,
25};
26pub use types::{
27    AltBlockInformation, BlockTemplate, Chain, ChainId, ExtendedBlockHeader,
28    OutputDistributionInput, OutputOnChain, TxInBlockchain, TxInPool, TxRelayChecks, TxsInBlock,
29    VerifiedBlockInformation, VerifiedTransactionInformation,
30};
31
32//---------------------------------------------------------------------------------------------------- Feature-gated
33#[cfg(feature = "blockchain")]
34pub mod blockchain;
35
36#[cfg(feature = "blockchain")]
37pub mod output_cache;
38
39#[cfg(feature = "json")]
40pub mod json;
41
42cfg_if::cfg_if! {
43    if #[cfg(feature = "rpc")] {
44        pub mod rpc;
45    }
46}
47
48//---------------------------------------------------------------------------------------------------- Private