Separate `ChannelDetails`' outbound capacity from the next HTLC max
[rust-lightning] / Cargo.toml
index 3b692790e6d1de4a185fee42015c9f347a8bcff3..6e03fc1ac4cfc4bab1feed65368651bc5135cb9e 100644 (file)
@@ -1,29 +1,33 @@
-[package]
-name = "lightning"
-version = "0.0.3"
-authors = ["Matt Corallo"]
-license = "Apache-2.0"
-repository = "https://github.com/rust-bitcoin/rust-lightning/"
-description = """
-A Bitcoin Lightning implementation in Rust.
-Still super-early code-dump quality and is missing large chunks. See README in git repo 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 finish building it to even try.
-"""
-build = "build.rs"
+[workspace]
 
-[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"]
+members = [
+    "lightning",
+    "lightning-block-sync",
+    "lightning-invoice",
+    "lightning-net-tokio",
+    "lightning-persister",
+    "lightning-background-processor",
+]
 
-[dependencies]
-bitcoin = "0.13"
-rust-crypto = "0.2"
-rand = "0.4"
-secp256k1 = { git = "https://github.com/rust-bitcoin/rust-secp256k1", branch = "master" }
+exclude = [
+    "no-std-check",
+]
 
-[build-dependencies]
-gcc = "0.3"
+# Our tests do actual crypo and lots of work, the tradeoff for -O1 is well worth it.
+# Ideally we would only do this in profile.test, but profile.test only applies to
+# the test binary, not dependencies, which means most of the critical code still
+# gets compiled as -O0. See
+# https://doc.rust-lang.org/cargo/reference/profiles.html#profile-selection
+[profile.dev]
+opt-level = 1
+panic = "abort"
 
-[dev-dependencies.bitcoin]
-version = "0.13"
-features = ["bitcoinconsensus"]
+[profile.release]
+opt-level = 3
+lto = true
+panic = "abort"
+
+[profile.bench]
+opt-level = 3
+codegen-units = 1
+lto = true