]> git.bitcoin.ninja Git - rust-lightning/commit
Add the core functionality required to resolve Human Readable Names 2024-07-human-readable-names-resolution-1
authorMatt Corallo <git@bluematt.me>
Thu, 12 Sep 2024 15:57:42 +0000 (15:57 +0000)
committerMatt Corallo <git@bluematt.me>
Mon, 30 Sep 2024 18:04:01 +0000 (18:04 +0000)
commit9335c9bbf799eaadaef732cfed9c91121af7e228
tree62a25be4986f59b87cb59bd6b5742e7d119884af
parent829dc34d103ef921f2346fb7e9dc1aa8fb9212e9
Add the core functionality required to resolve Human Readable Names

This adds a new utility struct, `OMNameResolver`, which implements
the core functionality required to resolve Human Readable Names,
namely generating `DNSSECQuery` onion messages, tracking the state
of requests, and ultimately receiving and verifying `DNSSECProof`
onion messages.

It tracks pending requests with a `PaymentId`, allowing for easy
integration into `ChannelManager` in a coming commit - mapping
received proofs to `PaymentId`s which we can then complete by
handing them `Offer`s to pay.

It does not, directly, implement `DNSResolverMessageHandler`, but
an implementation of `DNSResolverMessageHandler` becomes trivial
with `OMNameResolver` handling the inbound messages and creating
the messages to send.
ci/ci-tests.sh
lightning/Cargo.toml
lightning/src/onion_message/dns_resolution.rs