]> git.bitcoin.ninja Git - rust-lightning/commit
Support paying Human Readable Names directly from `ChannelManager`
authorMatt Corallo <git@bluematt.me>
Sat, 13 Jul 2024 16:16:34 +0000 (16:16 +0000)
committerMatt Corallo <git@bluematt.me>
Tue, 8 Oct 2024 19:47:54 +0000 (19:47 +0000)
commit4b83f14332b6518325d1f81c3ce9e7efa2a1206d
treef824275aaf2577bbe6ce5cec2fbd31abb99a952f
parent1645484b696a5a6e3e429241a7bec94ca95b5fd9
Support paying Human Readable Names directly from `ChannelManager`

Now that we have the ability to resolve BIP 353 Human Readable
Names directly and have tracking for outbound payments waiting on
an offer resolution, we can implement full BIP 353 support in
`ChannelManager`.

Users will need one or more known nodes which offer DNS resolution
service over onion messages using bLIP 32, which they pass to
`ChannelManager::pay_for_offer_from_human_readable_name`, as well
as the `HumanReadableName` itself.

From there, `ChannelManager` asks the DNS resolver to provide a
DNSSEC proof, which it verifies, parses into an `Offer`, and then
pays.

For those who wish to support on-chain fallbacks, sadly, this will
not work, and they'll still have to use `OMNameResolver` directly
in order to use their existing `bitcoin:` URI parsing.
lightning/src/ln/channelmanager.rs
lightning/src/ln/outbound_payment.rs