Static invoice encoding and parsing
[rust-lightning] / lightning / src / offers / parse.rs
index 3b9b04a5c06f8f00d898cec70aec46f6be600e3e..c48d745a9ffd365ecf09800bc6b6bd24d6e988b5 100644 (file)
@@ -9,7 +9,6 @@
 
 //! Parsing and formatting for bech32 message encoding.
 
-use bitcoin::bech32;
 use bitcoin::secp256k1;
 use crate::io;
 use crate::ln::msgs::DecodeError;
@@ -25,8 +24,7 @@ pub(super) use sealed::Bech32Encode;
 pub use sealed::Bech32Encode;
 
 mod sealed {
-       use bitcoin::bech32;
-       use bitcoin::bech32::{FromBase32, ToBase32};
+       use bech32::{FromBase32, ToBase32};
        use core::fmt;
        use super::Bolt12ParseError;
 
@@ -191,6 +189,8 @@ pub enum Bolt12SemanticError {
        MissingCreationTime,
        /// An invoice payment hash was expected but was missing.
        MissingPaymentHash,
+       /// An invoice payment hash was provided but was not expected.
+       UnexpectedPaymentHash,
        /// A signature was expected but was missing.
        MissingSignature,
 }
@@ -277,7 +277,6 @@ mod bolt12_tests {
 #[cfg(test)]
 mod tests {
        use super::Bolt12ParseError;
-       use bitcoin::bech32;
        use crate::ln::msgs::DecodeError;
        use crate::offers::offer::Offer;