[package]
name = "lightning"
-version = "0.0.10"
+version = "0.0.115"
authors = ["Matt Corallo"]
-license = "Apache-2.0"
-repository = "https://github.com/rust-bitcoin/rust-lightning/"
+license = "MIT OR Apache-2.0"
+repository = "https://github.com/lightningdevkit/rust-lightning/"
description = """
A Bitcoin Lightning library in Rust.
Does most of the hard work, without implying a specific runtime, requiring clients implement basic network logic, chain interactions and disk storage.
Still missing tons of error-handling. See GitHub issues for suggested projects if you want to contribute. Don't have to bother telling you not to use this for anything serious, because you'd have to build a client around it to even try.
"""
+edition = "2018"
+
+[package.metadata.docs.rs]
+features = ["std"]
+rustdoc-args = ["--cfg", "docsrs"]
[features]
-# Supports tracking channels with a non-bitcoin chain hashes. Currently enables all kinds of fun DoS attacks.
-non_bitcoin_chain_hash_routing = []
-fuzztarget = ["secp256k1/fuzztarget", "bitcoin/fuzztarget", "bitcoin_hashes/fuzztarget"]
+# Internal test utilities exposed to other repo crates
+_test_utils = ["hex", "regex", "bitcoin/bitcoinconsensus"]
# Unlog messages superior at targeted level.
max_level_off = []
max_level_error = []
max_level_warn = []
max_level_info = []
max_level_debug = []
+max_level_trace = []
+# 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.
+unsafe_revoked_tx_signing = []
+_bench_unstable = []
+# Override signing to not include randomness when generating signatures for test vectors.
+_test_vectors = []
+
+no-std = ["hashbrown", "bitcoin/no-std", "core2/alloc"]
+std = ["bitcoin/std"]
+
+# Generates low-r bitcoin signatures, which saves 1 byte in 50% of the cases
+grind_signatures = []
+
+default = ["std", "grind_signatures"]
[dependencies]
-bitcoin = "0.21"
-bitcoin_hashes = "0.7"
-secp256k1 = "0.15"
+bitcoin = { version = "0.29.0", default-features = false, features = ["secp-recovery"] }
-[dev-dependencies.bitcoin]
-version = "0.21"
-features = ["bitcoinconsensus"]
+hashbrown = { version = "0.8", optional = true }
+hex = { version = "0.4", optional = true }
+regex = { version = "1.5.6", optional = true }
+backtrace = { version = "0.3", optional = true }
+
+core2 = { version = "0.3.0", optional = true, default-features = false }
[dev-dependencies]
-hex = "0.3"
-rand = "0.4"
+hex = "0.4"
+regex = "1.5.6"
+
+[dev-dependencies.bitcoin]
+version = "0.29.0"
+default-features = false
+features = ["bitcoinconsensus", "secp-recovery"]
+
+[target.'cfg(taproot)'.dependencies]
+musig2 = { git = "https://github.com/arik-so/rust-musig2", rev = "27797d7" }