Offer metadata and signing pubkey derivation
authorJeffrey Czyz <jkczyz@gmail.com>
Wed, 8 Feb 2023 01:13:08 +0000 (19:13 -0600)
committerJeffrey Czyz <jkczyz@gmail.com>
Thu, 20 Apr 2023 02:06:37 +0000 (21:06 -0500)
commit1cad430e14108710c826adebbfab2a5ea64a6a5a
tree4f1492f7fa1c565bdf9613fd53728d838a0fbcbc
parent336fc023edf3a6cf11cf630898346a7de03bd0f6
Offer metadata and signing pubkey derivation

Add support for deriving a transient signing pubkey for each Offer from
an ExpandedKey and a nonce. This facilitates recipient privacy by not
tying any Offer to any other nor to the recipient's node id.

Additionally, support stateless Offer verification by setting its
metadata using an HMAC over the nonce and the remaining TLV records,
which will be later verified when receiving an InvoiceRequest.
lightning/src/ln/inbound_payment.rs
lightning/src/offers/invoice.rs
lightning/src/offers/invoice_request.rs
lightning/src/offers/mod.rs
lightning/src/offers/offer.rs
lightning/src/offers/payer.rs
lightning/src/offers/refund.rs
lightning/src/offers/signer.rs [new file with mode: 0644]