]> git.bitcoin.ninja Git - rust-lightning/commit
Support paying Human Readable Names directly from `ChannelManager`
authorMatt Corallo <git@bluematt.me>
Thu, 7 Nov 2024 15:05:26 +0000 (15:05 +0000)
committerMatt Corallo <git@bluematt.me>
Tue, 12 Nov 2024 15:53:34 +0000 (15:53 +0000)
commit99d00930a44989ee7be47a6f5d596c40919a1dd0
tree28b9c6d1a1b59f88fb3c7029d69a918bce183862
parent8d8416b956f97c097bc6ca831001f277b952bae7
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