Actual no_std support
[rust-lightning] / lightning / Cargo.toml
1 [package]
2 name = "lightning"
3 version = "0.0.99"
4 authors = ["Matt Corallo"]
5 license = "MIT OR Apache-2.0"
6 repository = "https://github.com/rust-bitcoin/rust-lightning/"
7 description = """
8 A Bitcoin Lightning library in Rust.
9 Does most of the hard work, without implying a specific runtime, requiring clients implement basic network logic, chain interactions and disk storage.
10 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.
11 """
12
13 [features]
14 allow_wallclock_use = []
15 fuzztarget = ["bitcoin/fuzztarget", "regex"]
16 # Internal test utilities exposed to other repo crates
17 _test_utils = ["hex", "regex", "bitcoin/bitcoinconsensus"]
18 # Unlog messages superior at targeted level.
19 max_level_off = []
20 max_level_error = []
21 max_level_warn = []
22 max_level_info = []
23 max_level_debug = []
24 # Allow signing of local transactions that may have been revoked or will be revoked, for functional testing (e.g. justice tx handling).
25 # This is unsafe to use in production because it may result in the counterparty publishing taking our funds.
26 unsafe_revoked_tx_signing = []
27 unstable = []
28
29 no_std = ["hashbrown", "bitcoin/no-std", "core2/alloc"]
30 std = ["bitcoin/std"]
31
32 default = ["std"]
33
34 [dependencies]
35 bitcoin = { version = "0.27", default-features = false, features = ["secp-recovery"] }
36 # TODO maybe bitcoin no-std should pull in this feature?
37 secp256k1 = { version = "0.20.2", default-features = false, features = ["alloc"] }
38
39 hashbrown = { version = "0.11", optional = true }
40 hex = { version = "0.3", optional = true }
41 regex = { version = "0.1.80", optional = true }
42
43 core2 = { version = "0.3.0", optional = true, default-features = false }
44
45 [dev-dependencies]
46 hex = "0.3"
47 regex = "0.1.80"
48 secp256k1 = { version = "0.20.2", default-features = false, features = ["alloc"] }
49
50 [dev-dependencies.bitcoin]
51 version = "0.27"
52 default-features = false
53 features = ["bitcoinconsensus", "secp-recovery"]
54
55 [package.metadata.docs.rs]
56 features = ["allow_wallclock_use"] # When https://github.com/rust-lang/rust/issues/43781 complies with our MSVR, we can add nice banners in the docs for the methods behind this feature-gate.