Cargo Features

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

Internal test utilities exposed to other repo crates

Enables lightning-types, bitcoinconsensus of bitcoin

Affects channelmanager::ChannelManager.testing_dnssec_proof_offer_resolution_override

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 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

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

regex _test_utils?
backtrace implicit feature

Enables backtrace

backtrace:

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

criterion ldk_bench implicit feature

Enables criterion ^0.4

criterion:

Statistics-driven micro-benchmarking library