mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-24 23:08:36 +01:00
`lightning-invoice` previously had a dependency on the entire `lightning` crate just because it wants to use some of the useful types from it. This is obviously backwards and leads to some awkwardness like the BOLT 11 invoice signing API in the `lightning` crate taking a `[u5]` rather than a `Bolt11Invoice`. Here we finally rectify this issue, swapping the dependency order and making `lightning` depend on `lightning-invoice` rather than the other way around. This moves various utilities which were in `lightning-invoice` but relied on `lightning` payment types to make payments to where they belong (the `lightning` crate), but doesn't bother with integrating them well in their new home.
73 lines
2.9 KiB
TOML
73 lines
2.9 KiB
TOML
[package]
|
|
name = "lightning"
|
|
version = "0.0.123-beta"
|
|
authors = ["Matt Corallo"]
|
|
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 = "2021"
|
|
|
|
[package.metadata.docs.rs]
|
|
features = ["std"]
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
[features]
|
|
# Internal test utilities exposed to other repo crates
|
|
_test_utils = ["regex", "bitcoin/bitcoinconsensus", "lightning-types/_test_utils"]
|
|
# 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 = []
|
|
# Override signing to not include randomness when generating signatures for test vectors.
|
|
_test_vectors = []
|
|
|
|
no-std = ["hashbrown", "possiblyrandom", "bitcoin/no-std", "lightning-invoice/no-std", "core2/alloc", "libm"]
|
|
std = ["bitcoin/std", "bech32/std", "lightning-invoice/std"]
|
|
|
|
# Generates low-r bitcoin signatures, which saves 1 byte in 50% of the cases
|
|
grind_signatures = []
|
|
|
|
default = ["std", "grind_signatures"]
|
|
|
|
[dependencies]
|
|
lightning-types = { version = "0.1", path = "../lightning-types", default-features = false }
|
|
lightning-invoice = { version = "0.31.0-beta", path = "../lightning-invoice", default-features = false }
|
|
|
|
bech32 = { version = "0.9.1", default-features = false }
|
|
bitcoin = { version = "0.31.2", default-features = false, features = ["secp-recovery"] }
|
|
|
|
hashbrown = { version = "0.13", optional = true, default-features = false }
|
|
possiblyrandom = { version = "0.2", optional = true, default-features = false }
|
|
regex = { version = "1.5.6", optional = true }
|
|
backtrace = { version = "0.3", optional = true }
|
|
|
|
core2 = { version = "0.3.0", optional = true, default-features = false }
|
|
libm = { version = "0.2", optional = true, default-features = false }
|
|
|
|
[dev-dependencies]
|
|
regex = "1.5.6"
|
|
lightning-types = { version = "0.1", path = "../lightning-types", features = ["_test_utils"] }
|
|
|
|
[dev-dependencies.bitcoin]
|
|
version = "0.31.2"
|
|
default-features = false
|
|
features = ["bitcoinconsensus", "secp-recovery"]
|
|
|
|
[target.'cfg(ldk_bench)'.dependencies]
|
|
criterion = { version = "0.4", optional = true, default-features = false }
|
|
|
|
[target.'cfg(taproot)'.dependencies]
|
|
musig2 = { git = "https://github.com/arik-so/rust-musig2", rev = "739533fc" }
|
|
|
|
[lints]
|
|
workspace = true
|