Rename lightning_invoice::Signature to InvoiceSignature
authorMatt Corallo <git@bluematt.me>
Thu, 29 Apr 2021 15:47:08 +0000 (15:47 +0000)
committerMatt Corallo <git@bluematt.me>
Thu, 29 Apr 2021 15:48:16 +0000 (15:48 +0000)
This prevents aliasing the global secp256k1::Signature name in C
bindings and also makes it a little more explicit that the object
is different from other signature types.

lightning-invoice/src/de.rs
lightning-invoice/src/lib.rs
lightning-invoice/src/ser.rs

index c06281e4b4db86c00b95812ad4794b57dffe9112..52a2201bdfd4c16eefb4e4d51d5d9ae0730a812a 100644 (file)
@@ -264,7 +264,7 @@ impl FromStr for SignedRawInvoice {
                                hrp.as_bytes(),
                                &data[..data.len()-104]
                        ),
-                       signature: Signature::from_base32(&data[data.len()-104..])?,
+                       signature: InvoiceSignature::from_base32(&data[data.len()-104..])?,
                })
        }
 }
@@ -338,17 +338,17 @@ impl FromBase32 for PositiveTimestamp {
        }
 }
 
-impl FromBase32 for Signature {
+impl FromBase32 for InvoiceSignature {
        type Err = ParseError;
        fn from_base32(signature: &[u5]) -> Result<Self, Self::Err> {
                if signature.len() != 104 {
-                       return Err(ParseError::InvalidSliceLength("Signature::from_base32()".into()));
+                       return Err(ParseError::InvalidSliceLength("InvoiceSignature::from_base32()".into()));
                }
                let recoverable_signature_bytes = Vec::<u8>::from_base32(signature)?;
                let signature = &recoverable_signature_bytes[0..64];
                let recovery_id = RecoveryId::from_i32(recoverable_signature_bytes[64] as i32)?;
 
-               Ok(Signature(RecoverableSignature::from_compact(
+               Ok(InvoiceSignature(RecoverableSignature::from_compact(
                        signature,
                        recovery_id
                )?))
@@ -999,7 +999,7 @@ mod test {
                use lightning::ln::features::InvoiceFeatures;
                use secp256k1::recovery::{RecoveryId, RecoverableSignature};
                use TaggedField::*;
-               use {SiPrefix, SignedRawInvoice, Signature, RawInvoice, RawHrp, RawDataPart,
+               use {SiPrefix, SignedRawInvoice, InvoiceSignature, RawInvoice, RawHrp, RawDataPart,
                                 Currency, Sha256, PositiveTimestamp};
 
                // Feature bits 9, 15, and 99 are set.
@@ -1025,7 +1025,7 @@ mod test {
                                        hash: [0xb1, 0x96, 0x46, 0xc3, 0xbc, 0x56, 0x76, 0x1d, 0x20, 0x65, 0x6e, 0x0e, 0x32,
                                                                        0xec, 0xd2, 0x69, 0x27, 0xb7, 0x62, 0x6e, 0x2a, 0x8b, 0xe6, 0x97, 0x71, 0x9f,
                                                                        0xf8, 0x7e, 0x44, 0x54, 0x55, 0xb9],
-                                       signature: Signature(RecoverableSignature::from_compact(
+                                       signature: InvoiceSignature(RecoverableSignature::from_compact(
                                                                                &[0xd7, 0x90, 0x4c, 0xc4, 0xb7, 0x4a, 0x22, 0x26, 0x9c, 0x68, 0xc1, 0xdf, 0x68,
                                                                                        0xa9, 0x6c, 0x21, 0x4d, 0x65, 0x1b, 0x93, 0x76, 0xe9, 0xf1, 0x64, 0xd3, 0x60,
                                                                                        0x4d, 0xa4, 0xb7, 0xde, 0xcc, 0xce, 0x0e, 0x82, 0xaa, 0xab, 0x4c, 0x85, 0xd3,
@@ -1045,7 +1045,7 @@ mod test {
        fn test_raw_signed_invoice_deserialization() {
                use TaggedField::*;
                use secp256k1::recovery::{RecoveryId, RecoverableSignature};
-               use {SignedRawInvoice, Signature, RawInvoice, RawHrp, RawDataPart, Currency, Sha256,
+               use {SignedRawInvoice, InvoiceSignature, RawInvoice, RawHrp, RawDataPart, Currency, Sha256,
                         PositiveTimestamp};
 
                assert_eq!(
@@ -1078,7 +1078,7 @@ mod test {
                                        0x7b, 0x1d, 0x85, 0x8d, 0xb1, 0xd1, 0xf7, 0xab, 0x71, 0x37, 0xdc, 0xb7,
                                        0x83, 0x5d, 0xb2, 0xec, 0xd5, 0x18, 0xe1, 0xc9
                                ],
-                               signature: Signature(RecoverableSignature::from_compact(
+                               signature: InvoiceSignature(RecoverableSignature::from_compact(
                                        & [
                                                0x38u8, 0xec, 0x68, 0x91, 0x34, 0x5e, 0x20, 0x41, 0x45, 0xbe, 0x8a,
                                                0x3a, 0x99, 0xde, 0x38, 0xe9, 0x8a, 0x39, 0xd6, 0xa5, 0x69, 0x43,
index 5a9c094c63be6d1190249df462a4bd4c3a794154..086169ed7cbaed743b4e5735881b894cad07dc74 100644 (file)
@@ -207,7 +207,7 @@ pub struct SignedRawInvoice {
        hash: [u8; 32],
 
        /// signature of the payment request
-       signature: Signature,
+       signature: InvoiceSignature,
 }
 
 /// Represents an syntactically correct Invoice for a payment on the lightning network,
@@ -381,7 +381,7 @@ pub enum Fallback {
 
 /// Recoverable signature
 #[derive(Eq, PartialEq, Debug, Clone)]
-pub struct Signature(pub RecoverableSignature);
+pub struct InvoiceSignature(pub RecoverableSignature);
 
 /// Private routing information
 ///
@@ -630,7 +630,7 @@ impl SignedRawInvoice {
        ///  1. raw invoice
        ///  2. hash of the raw invoice
        ///  3. signature
-       pub fn into_parts(self) -> (RawInvoice, [u8; 32], Signature) {
+       pub fn into_parts(self) -> (RawInvoice, [u8; 32], InvoiceSignature) {
                (self.raw_invoice, self.hash, self.signature)
        }
 
@@ -644,8 +644,8 @@ impl SignedRawInvoice {
                &self.hash
        }
 
-       /// Signature for the invoice.
-       pub fn signature(&self) -> &Signature {
+       /// InvoiceSignature for the invoice.
+       pub fn signature(&self) -> &InvoiceSignature {
                &self.signature
        }
 
@@ -771,7 +771,7 @@ impl RawInvoice {
                Ok(SignedRawInvoice {
                        raw_invoice: self,
                        hash: raw_hash,
-                       signature: Signature(signature),
+                       signature: InvoiceSignature(signature),
                })
        }
 
@@ -1192,7 +1192,7 @@ impl Deref for RouteHint {
        }
 }
 
-impl Deref for Signature {
+impl Deref for InvoiceSignature {
        type Target = RecoverableSignature;
 
        fn deref(&self) -> &RecoverableSignature {
@@ -1354,7 +1354,7 @@ mod test {
                use secp256k1::Secp256k1;
                use secp256k1::recovery::{RecoveryId, RecoverableSignature};
                use secp256k1::key::{SecretKey, PublicKey};
-               use {SignedRawInvoice, Signature, RawInvoice, RawHrp, RawDataPart, Currency, Sha256,
+               use {SignedRawInvoice, InvoiceSignature, RawInvoice, RawHrp, RawDataPart, Currency, Sha256,
                         PositiveTimestamp};
 
                let invoice = SignedRawInvoice {
@@ -1383,7 +1383,7 @@ mod test {
                                0x7b, 0x1d, 0x85, 0x8d, 0xb1, 0xd1, 0xf7, 0xab, 0x71, 0x37, 0xdc, 0xb7,
                                0x83, 0x5d, 0xb2, 0xec, 0xd5, 0x18, 0xe1, 0xc9
                        ],
-                       signature: Signature(RecoverableSignature::from_compact(
+                       signature: InvoiceSignature(RecoverableSignature::from_compact(
                                & [
                                        0x38u8, 0xec, 0x68, 0x91, 0x34, 0x5e, 0x20, 0x41, 0x45, 0xbe, 0x8a,
                                        0x3a, 0x99, 0xde, 0x38, 0xe9, 0x8a, 0x39, 0xd6, 0xa5, 0x69, 0x43,
index fdff7f4f61cc56d93a8c2d1d0cdbf2e6ff78f05a..cfc4313b94b3561779430409fcd375afb0fa7ce2 100644 (file)
@@ -461,7 +461,7 @@ impl ToBase32 for TaggedField {
        }
 }
 
-impl ToBase32 for Signature {
+impl ToBase32 for InvoiceSignature {
        fn write_base32<W: WriteBase32>(&self, writer: &mut W) -> Result<(), <W as WriteBase32>::Err> {
                let mut converter = BytesToBase32::new(writer);
                let (recovery_id, signature) = self.0.serialize_compact();