Cargo Features

[dependencies]
lightning = { version = "0.2.2", default-features = false, features = ["unsafe_revoked_tx_signing", "std", "dnssec", "grind_signatures", "regex", "backtrace", "inventory", "criterion"] }
unsafe_revoked_tx_signing

Allow signing of local transactions that may have been revoked or will be revoked, for functional testing (e.g. justice tx handling).
This is unsafe to use in production because it may result in the counterparty publishing taking our funds.

std default

Affects debug_sync::Condvar, async_poll::AsyncResult, test_utils::SyncBroadcaster, test_utils::SyncPersist, test_utils::TestChainMonitor.write_blocker, test_utils::SIGNER_FACTORY, wakers::Sleeper

dnssec

Enables validation of dnssec-prover

Affects dns_resolution::OMNameResolver, messenger::SimpleArcOnionMessenger, messenger::SimpleRefOnionMessenger

grind_signatures default

Generates low-r bitcoin signatures, which saves 1 byte in 50% of the cases

Affects chan_utils::ANCHOR_INPUT_WITNESS_WEIGHT

default = grind_signatures, std

These default features are set whenever lightning is added without default-features = false somewhere in the dependency tree.

Features from optional dependencies

regex implicit feature
backtrace implicit feature

Enables backtrace

backtrace:

A library to acquire a stack trace (backtrace) at runtime in a Rust program

inventory implicit feature

Enables inventory

inventory:

Typed distributed plugin registration

criterion ldk_bench implicit feature

Enables criterion ^0.4

criterion:

Statistics-driven micro-benchmarking library