projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Test preflight probing sends and skips if necessary
[rust-lightning]
/
lightning
/
src
/
offers
/
merkle.rs
diff --git
a/lightning/src/offers/merkle.rs
b/lightning/src/offers/merkle.rs
index d15039cd317d3ed8589ed6230cd3ccdd6487c7b6..7390b58fef8ef780a68f58aa50438dcbe1979d71 100644
(file)
--- a/
lightning/src/offers/merkle.rs
+++ b/
lightning/src/offers/merkle.rs
@@
-30,6
+30,7
@@
tlv_stream!(SignatureTlvStream, SignatureTlvStreamRef, SIGNATURE_TYPES, {
///
/// [BIP 340]: https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
/// [BOLT 12]: https://github.com/rustyrussell/lightning-rfc/blob/guilt/offers/12-offer-encoding.md#signature-calculation
///
/// [BIP 340]: https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
/// [BOLT 12]: https://github.com/rustyrussell/lightning-rfc/blob/guilt/offers/12-offer-encoding.md#signature-calculation
+#[derive(Debug, PartialEq)]
pub struct TaggedHash(Message);
impl TaggedHash {
pub struct TaggedHash(Message);
impl TaggedHash {
@@
-87,17
+88,15
@@
where
Ok(signature)
}
Ok(signature)
}
-/// Verifies the signature with a pubkey over the given
bytes
using a tagged hash as the message
+/// Verifies the signature with a pubkey over the given
message
using a tagged hash as the message
/// digest.
/// digest.
-///
-/// Panics if `bytes` is not a well-formed TLV stream containing at least one TLV record.
pub(super) fn verify_signature(
pub(super) fn verify_signature(
- signature: &Signature,
tag: &str, bytes: &[u8]
, pubkey: PublicKey,
+ signature: &Signature,
message: TaggedHash
, pubkey: PublicKey,
) -> Result<(), secp256k1::Error> {
) -> Result<(), secp256k1::Error> {
- let digest = message
_digest(tag, bytes
);
+ let digest = message
.as_digest(
);
let pubkey = pubkey.into();
let secp_ctx = Secp256k1::verification_only();
let pubkey = pubkey.into();
let secp_ctx = Secp256k1::verification_only();
- secp_ctx.verify_schnorr(signature,
&
digest, &pubkey)
+ secp_ctx.verify_schnorr(signature, digest, &pubkey)
}
pub(super) fn message_digest(tag: &str, bytes: &[u8]) -> Message {
}
pub(super) fn message_digest(tag: &str, bytes: &[u8]) -> Message {