rust-lightning/Cargo.toml
Matt Corallo 8e941426cf Add a lightning-dns-resolver crate which answers bLIP 32 queries
When a lightning node wishes to send payments to a BIP 353 human
readable name (using BOLT 12), it first has to resolve that name to
a DNS TXT record. bLIP 32 defines a way to do so over onion
messages, and this completes our implementation thereof by adding
the server side.

It operates by simply accepting new messages and spawning tokio
tasks to do DNS lookups using the `dnsse_prover` crate. It also
contains full end-to-end tests of the BIP 353 -> BOLT 12 -> payment
logic using the new server code to do the resolution.

Note that because we now have a workspace crate which sets the
"lightning/dnssec" feature in its `dev-dependencies`, a naive
`cargo test` will test the "dnssec" feature.
2024-11-12 15:53:35 +00:00

69 lines
1.9 KiB
TOML

[workspace]
resolver = "2"
# When the workspace members change, make sure to update the list here as well
# as in `ci/ci-tests.sh`.
members = [
"lightning",
"lightning-types",
"lightning-block-sync",
"lightning-invoice",
"lightning-net-tokio",
"lightning-persister",
"lightning-background-processor",
"lightning-rapid-gossip-sync",
"lightning-custom-message",
"lightning-transaction-sync",
"lightning-macros",
"lightning-dns-resolver",
"possiblyrandom",
]
exclude = [
"no-std-check",
"msrv-no-dev-deps-check",
"bench",
]
# Our tests do actual crypto and lots of work, the tradeoff for -O2 is well
# worth it. Note that we only apply optimizations to dependencies, not workspace
# crates themselves.
# https://doc.rust-lang.org/cargo/reference/profiles.html#profile-selection
[profile.dev.package."*"]
opt-level = 2
# It appears some minimal optimizations are required to inline many std methods
# and reduce the otherwise-substantial time spent in std self-checks. We do so
# here but ensure we keep LTO disabled as otherwise we're re-optimizing all our
# dependencies every time we make any local changes.
[profile.dev]
opt-level = 1
lto = "off"
[profile.release]
opt-level = 3
lto = true
panic = "abort"
[workspace.lints.rust.unexpected_cfgs]
level = "forbid"
# When adding a new cfg attribute, ensure that it is added to this list.
#
# Note that Cargo automatically declares corresponding cfgs for every feature
# defined in the member-level [features] tables as "expected".
check-cfg = [
"cfg(fuzzing)",
"cfg(secp256k1_fuzz)",
"cfg(hashes_fuzz)",
"cfg(test)",
"cfg(debug_assertions)",
"cfg(c_bindings)",
"cfg(ldk_bench)",
"cfg(ldk_test_vectors)",
"cfg(taproot)",
"cfg(async_signing)",
"cfg(require_route_graph_test)",
"cfg(dual_funding)",
"cfg(splicing)",
"cfg(async_payments)",
]