Cargo Features

[dependencies]
lightning-signer-core = { version = "0.1.0-5", default-features = false, features = ["no-std", "std", "grpc", "debug", "log_pretty_print", "test_utils", "debug_enforcement_state", "env_logger"] }
default = env_logger, log_pretty_print, std, test_utils

just so that cargo test runs the functional test by default, but you can disable this

no-std

Enables no-std of bitcoin ^0.27, alloc of core2 ^0.3.0, no-std of lightning ^0.0.104

std default = rand

Enables bitcoinconsensus and std of bitcoin ^0.27, std of lightning ^0.0.104

grpc = tonic

if you use tonic, this is convenient for auto-conversion of MySigner Status to tonic::Status

debug = backtrace
log_pretty_print default
test_utils default

Enables hex, regex and unsafe_revoked_tx_signing of lightning ^0.0.104

Affects channel::ChannelBase.set_next_holder_commit_num_for_testing, policy::null_validator, util::loopback, util::test_utils, util::functional_test_utils

debug_enforcement_state

trace the enforcement_state at debug level

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

env_logger default

Enables env_logger ^0.9.0

rand std

Enables rand ^0.4

backtrace debug?

Affects error::ValidationError.bt

tonic grpc?

Enables tonic ^0.4