pub struct MempoolConfig {Show 15 fields
pub max_mempool_mb: u64,
pub max_mempool_txs: usize,
pub mempool_expiry_hours: u64,
pub min_relay_fee_rate: u64,
pub min_tx_fee: i64,
pub rbf_fee_increment: i64,
pub max_op_return_size: u32,
pub max_op_return_outputs: u32,
pub reject_multiple_op_return: bool,
pub max_standard_script_size: u32,
pub reject_envelope_protocol: bool,
pub reject_spam_in_mempool: bool,
pub spam_filter_config: Option<Value>,
pub min_fee_rate_large_tx: u64,
pub large_tx_threshold_bytes: u64,
}Expand description
Mempool configuration
Controls mempool size limits, fee rates, and transaction expiry. These are operational parameters, not consensus-critical.
Fields§
§max_mempool_mb: u64Maximum mempool size in megabytes (default 300 MB) Default: 300 MB
max_mempool_txs: usizeMaximum number of transactions in mempool (alternative to size-based limit) Default: 100000
mempool_expiry_hours: u64Mempool transaction expiry in hours (default 336 = 14 days) Transactions older than this are removed from mempool Default: 336 (14 days)
min_relay_fee_rate: u64Minimum relay fee rate in satoshis per virtual byte (default 1 sat/vB) Transactions with fee rate below this are not relayed Default: 1 sat/vB (1000 sat/kB)
min_tx_fee: i64Minimum transaction fee in satoshis (absolute minimum, regardless of size) Default: 1000 satoshis
rbf_fee_increment: i64RBF (Replace-By-Fee) minimum fee increment in satoshis (BIP125) Replacement transactions must pay at least this much more than the original Default: 1000 satoshis
max_op_return_size: u32Maximum OP_RETURN data size in bytes (default 80) Default: 80 bytes
max_op_return_outputs: u32Maximum number of OP_RETURN outputs allowed (default: 1) Transactions with more than this are rejected as non-standard
reject_multiple_op_return: boolReject transactions with multiple OP_RETURN outputs Default: true
max_standard_script_size: u32Maximum standard script size in bytes Default: 200 bytes
reject_envelope_protocol: boolReject envelope protocol (OP_FALSE OP_IF) scripts Default: true
reject_spam_in_mempool: boolReject spam transactions at mempool entry (opt-in) Default: false (spam filtering is opt-in for mempool)
Admission: enforced in blvm-node by MempoolPolicyConfig::reject_spam_in_mempool
in MempoolManager::add_transaction (uses blvm-protocol spam filter).
spam_filter_config: Option<Value>Spam filter configuration (if reject_spam_in_mempool is enabled)
Note: Prefer blvm-node MempoolPolicyConfig::spam_filter + SpamFilterConfigSerializable.
min_fee_rate_large_tx: u64Minimum fee rate for large transactions (satoshis per vbyte) Transactions larger than large_tx_threshold_bytes must pay at least this fee rate Default: 2 sat/vB (higher than standard min_relay_fee_rate)
large_tx_threshold_bytes: u64Large transaction threshold (bytes) Transactions larger than this require min_fee_rate_large_tx Default: 1000 bytes
Trait Implementations§
Source§impl Clone for MempoolConfig
impl Clone for MempoolConfig
Source§fn clone(&self) -> MempoolConfig
fn clone(&self) -> MempoolConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MempoolConfig
impl Debug for MempoolConfig
Source§impl Default for MempoolConfig
impl Default for MempoolConfig
Source§fn default() -> MempoolConfig
fn default() -> MempoolConfig
Source§impl<'de> Deserialize<'de> for MempoolConfig
impl<'de> Deserialize<'de> for MempoolConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<MempoolConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<MempoolConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for MempoolConfig
impl PartialEq for MempoolConfig
Source§fn eq(&self, other: &MempoolConfig) -> bool
fn eq(&self, other: &MempoolConfig) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for MempoolConfig
impl Serialize for MempoolConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for MempoolConfig
Auto Trait Implementations§
impl Freeze for MempoolConfig
impl RefUnwindSafe for MempoolConfig
impl Send for MempoolConfig
impl Sync for MempoolConfig
impl Unpin for MempoolConfig
impl UnsafeUnpin for MempoolConfig
impl UnwindSafe for MempoolConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more