pub enum HrnResolution {
DNSSEC {
proof: Option<Vec<u8>>,
result: String,
},
LNURLPay {
min_value: Amount,
max_value: Amount,
expected_description_hash: [u8; 32],
recipient_description: Option<String>,
callback: String,
},
}Expand description
The first-step resolution of a Human Readable Name.
It can either represent a resolution using BIP 353 and the DNS or the first step resolution of
an LNURL-Pay. The second step, resolving a callback URI to a Bolt11Invoice occurs via
HrnResolver::resolve_lnurl.
Variants§
DNSSEC
The HRN was resolved using BIP 353 and the DNS. The result should contain a BIP 321 bitcoin: URI as well as a DNSSEC proof which allows later verification of the payment instructions.
Fields
LNURLPay
The HRN was resolved using LNURL-Pay as an LN-Address. The result contains a callback URI
which will be used once we pick an amount to fetch a final Bolt11Invoice.
Fields
min_value: AmountThe minimum amount which can be sent to the recipient, as specified in the LNURL-Pay initial response.
max_value: AmountThe maximum amount which can be sent to the recipient, as specified in the LNURL-Pay initial response.
expected_description_hash: [u8; 32]The description hash which must appear in the final Bolt11Invoice, committing to
the full recipient metadata.
While we could store the full recipient metadata and use it as a committed value in our
proof-of-payment, there is no way to ensure it is actually provable against the
server/initial payment instructions string because the server can return a
Bolt11Invoice signed by any arbitrary public key.
recipient_description: Option<String>The text/plain description provided in the LNURL-Pay initial response.
This is generally human-readable and can be displayed to the user as with any other recipient description in payment instructions.
callback: StringThe callback URI which can be used, with a concrete amount, to fetch a final
Bolt11Invoice which can be paid.