Cargo Features

[dependencies]
litcoinlib = { version = "0.29.4", default-features = false, features = ["base64", "unstable", "rand", "use-serde", "secp-lowmemory", "secp-recovery", "std", "no-std", "bitcoinconsensus"] }

Please don't forget to add relevant features to docs.rs below

default = secp-recovery, std

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

base64 = base64-compat
unstable
rand

Enables rand-std of secp256k1 ^0.22.0

use-serde = serde

Enables serde of bitcoin_hashes ^0.10.0 and secp256k1 ^0.22.0

secp-lowmemory

Enables lowmemory of secp256k1 ^0.22.0

secp-recovery default

Enables recovery of secp256k1 ^0.22.0

std default

At least one of std, no-std must be enabled.

The no-std feature doesn't disable std - you need to turn off the std feature for that by disabling default.
Instead no-std enables additional features required for this crate to be usable without std.
As a result, both can be enabled without conflict.

Enables std of bech32 ^0.8.1, bitcoin_hashes ^0.10.0, and secp256k1 ^0.22.0

Affects network::address, network::message, network::message_blockdata, network::message_bloom, network::message_network, network::message_filter, network::stream_reader

no-std = hashbrown

Enables alloc of bitcoin_hashes ^0.10.0, core2 ^0.3.0, and secp256k1 ^0.22.0

secp256k1:

allow use of Secp256k1::new and related API that requires an allocator

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.

core2 no-std?

Enables core2 ^0.3.0

base64-compat base64?
bitcoinconsensus implicit feature

Enables bitcoinconsensus ^0.19.0-3

bitcoinconsensus:

Bitcoin's libbitcoinconsensus with Rust binding

Affects script::BitcoinConsensusError

serde use-serde?

Affects amount::serde

hashbrown no-std?

Enables hashbrown ^0.8