mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-24 15:02:20 +01:00
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.
69 lines
1.9 KiB
TOML
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)",
|
|
]
|