channels_sv2 2.0.0

Sv2 Channel Primitives
Documentation
//! # Stratum V2 Channels
//!
//! `channels_sv2` provides primitives and abstractions for Stratum V2 (Sv2) Channels.
//!
//! This crate implements the core channel management functionality for both mining clients and
//! servers, including standard, extended, and group channels, and share accounting mechanisms.
//!
//! ## Features
//!
//! - Channel primitives for SV2 mining protocol
//! - Channel management for mining servers and clients
//! - Standard, extended, and group channel support
//! - Share accounting
//! - Job store abstractions
//! - [`client`] module is `no_std` compatible. To enable it build the crate with `no_std` feature.
#![cfg_attr(feature = "no_std", no_std)]

/// Maximum length for extranonce prefixes in bytes
const MAX_EXTRANONCE_PREFIX_LEN: usize = 32;

#[cfg(not(feature = "no_std"))]
pub mod server;

#[cfg(not(feature = "no_std"))]
pub mod outputs;

pub mod bip141;
pub mod chain_tip;
pub mod client;
pub mod merkle_root;
pub mod target;

#[cfg(not(feature = "no_std"))]
pub mod vardiff;

#[cfg(not(feature = "no_std"))]
pub use vardiff::{classic::VardiffState, Vardiff};