Skip to content

Commit fc14495

Browse files
committed
Implement Readable for Refund
When storing `Refund`s, it's useful for them to implement LDK's deserialization trait.
1 parent c13b6d8 commit fc14495

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

lightning/src/offers/refund.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ use crate::offers::offer::{OfferTlvStream, OfferTlvStreamRef};
103103
use crate::offers::parse::{Bech32Encode, Bolt12ParseError, Bolt12SemanticError, ParsedMessage};
104104
use crate::offers::payer::{PayerContents, PayerTlvStream, PayerTlvStreamRef};
105105
use crate::offers::signer::{Metadata, MetadataMaterial, self};
106-
use crate::util::ser::{SeekReadable, WithoutLength, Writeable, Writer};
106+
use crate::util::ser::{SeekReadable, Readable, WithoutLength, Writeable, Writer};
107107
use crate::util::string::PrintableString;
108108

109109
#[cfg(not(c_bindings))]
@@ -769,6 +769,13 @@ impl RefundContents {
769769
}
770770
}
771771

772+
impl Readable for Refund {
773+
fn read<R: io::Read>(reader: &mut R) -> Result<Self, DecodeError> {
774+
let bytes: WithoutLength<Vec<u8>> = Readable::read(reader)?;
775+
Self::try_from(bytes.0).map_err(|_| DecodeError::InvalidValue)
776+
}
777+
}
778+
772779
impl Writeable for Refund {
773780
fn write<W: Writer>(&self, writer: &mut W) -> Result<(), io::Error> {
774781
WithoutLength(&self.bytes).write(writer)

0 commit comments

Comments
 (0)