Hide InvoiceFeatures behind InvoiceBuilder API
[rust-lightning] / lightning-invoice / src / ser.rs
index 83888e8269da1af358cd8cbf851d6e8b2c0e06da..8f0ff31b904b78b42f4708ea3af8c4b7fd099a04 100644 (file)
@@ -297,18 +297,6 @@ impl Base32Len for PayeePubKey {
        }
 }
 
-impl ToBase32 for PaymentSecret {
-       fn write_base32<W: WriteBase32>(&self, writer: &mut W) -> Result<(), <W as WriteBase32>::Err> {
-               (&self.0[..]).write_base32(writer)
-       }
-}
-
-impl Base32Len for PaymentSecret {
-       fn base32_len(&self) -> usize {
-               bytes_size_to_base32_size(32)
-       }
-}
-
 impl ToBase32 for ExpiryTime {
        fn write_base32<W: WriteBase32>(&self, writer: &mut W) -> Result<(), <W as WriteBase32>::Err> {
                writer.write(&encode_int_be_base32(self.as_seconds()))
@@ -454,12 +442,14 @@ impl ToBase32 for TaggedField {
                        TaggedField::PaymentSecret(ref payment_secret) => {
                                  write_tagged_field(writer, constants::TAG_PAYMENT_SECRET, payment_secret)
                        },
-
+                       TaggedField::Features(ref features) => {
+                               write_tagged_field(writer, constants::TAG_FEATURES, features)
+                       },
                }
        }
 }
 
-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();