#[cfg(feature = "cch")]
pub mod cch;
pub mod channel;
pub mod config;
pub mod gen;
pub mod invoice;
pub mod network;
pub mod onion;
pub mod payment;
pub mod primitives;
pub mod protocol;
pub mod schema;
pub mod serde_utils;
#[cfg(feature = "sample")]
pub mod sample;
#[cfg(feature = "cch")]
pub use cch::{CchInvoice, CchOrder, CchOrderStatus};
pub use channel::*;
pub use config::*;
pub use invoice::*;
pub use network::{HopRequire, PersistentNetworkActorState};
pub use onion::*;
pub use payment::*;
pub use primitives::{Hash256, NodeId, Privkey, Pubkey};
pub use protocol::*;
#[cfg(feature = "watchtower")]
pub use watchtower::{ChannelData, RevocationData, SettlementData, SettlementTlc};
#[cfg(feature = "watchtower")]
pub mod watchtower;
pub use serde_utils::{
duration_hex, from_hex, to_hex, CompactSignatureAsBytes, EntityHex, PartialSignatureAsBytes,
PubNonceAsBytes, SliceBase58, SliceHex, SliceHexNoPrefix, U128Hex, U16Hex, U32Hex, U64Hex,
};
pub use tentacle_multiaddr::Multiaddr;
#[cfg(not(target_arch = "wasm32"))]
pub(crate) use std::time as crate_time;
#[cfg(target_arch = "wasm32")]
pub(crate) use web_time as crate_time;
pub fn now_timestamp_as_millis_u64() -> u64 {
crate_time::SystemTime::now()
.duration_since(crate_time::UNIX_EPOCH)
.expect("Duration since unix epoch")
.as_millis() as u64
}
pub fn deserialize<'a, T: serde::Deserialize<'a>>(bytes: &'a [u8]) -> Result<T, bincode::Error> {
bincode::deserialize(bytes)
}
pub fn serialize<T: serde::Serialize>(value: &T) -> Result<Vec<u8>, bincode::Error> {
bincode::serialize(value)
}