TaggedHash for BOLT 12 signing function
authorJeffrey Czyz <jkczyz@gmail.com>
Mon, 27 Feb 2023 20:23:05 +0000 (14:23 -0600)
committerJeffrey Czyz <jkczyz@gmail.com>
Tue, 22 Aug 2023 00:14:27 +0000 (19:14 -0500)
commit1811ebff32e5f32aaf80e9f14bfeef12a47a35c6
tree19c1810e6a1db99fcaff2cc3c82b2496d1c7cbeb
parent4bb4a970e8ca01b0228939206f5df38e7538c813
TaggedHash for BOLT 12 signing function

The function used to sign BOLT 12 messages only takes a message digest.
This doesn't allow signers to independently verify the message before
signing nor does it allow them to derive the necessary signing keys, if
needed.

Introduce a TaggedHash wrapper for a message digest, which each unsigned
BOLT 12 message type constructs upon initialization. Change the signing
function to take AsRef<TaggedHash>, which each unsigned type implements.
This allows the signing function to take any unsigned message and obtain
its tagged hash.
fuzz/src/invoice_request_deser.rs
fuzz/src/offer_deser.rs
fuzz/src/refund_deser.rs
lightning/src/offers/invoice.rs
lightning/src/offers/invoice_request.rs
lightning/src/offers/merkle.rs
lightning/src/offers/test_utils.rs