#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc(html_logo_url = "https://avatars.githubusercontent.com/u/249173822")]
#![doc(
html_favicon_url = "https://raw.githubusercontent.com/getfloresta/floresta-media/master/logo_png/Icon-Green(main).png"
)]
use bitcoin::block::Header as BlockHeader;
use bitcoin::Block;
use bitcoin::Transaction;
pub use rustreexo;
#[cfg(not(target_arch = "wasm32"))]
mod p2p_wire;
#[cfg(not(target_arch = "wasm32"))]
pub use p2p_wire::address_man;
#[cfg(not(target_arch = "wasm32"))]
pub use p2p_wire::block_proof;
#[cfg(not(target_arch = "wasm32"))]
pub use p2p_wire::error;
#[cfg(not(target_arch = "wasm32"))]
pub use p2p_wire::node;
#[cfg(not(target_arch = "wasm32"))]
pub use p2p_wire::node_context;
#[cfg(not(target_arch = "wasm32"))]
pub use p2p_wire::node_interface;
pub use p2p_wire::transport::TransportProtocol;
pub use p2p_wire::UtreexoNodeConfig;
pub trait NodeHooks {
fn on_block_received(&mut self, block: &Block);
fn on_transaction_received(&mut self, transaction: &Transaction);
fn on_peer_connected(&mut self, peer: &u32);
fn on_peer_disconnected(&mut self, peer: &u32);
fn on_header_received(&mut self, header: &BlockHeader);
}