X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Futil%2Fser.rs;h=c1d2802a76da834d03555cf73b0e2f88139d52a5;hb=09c7f2f641d2496c2a6280b032f62b6249298a0f;hp=84cfa8d1633f98e78a996792d53c146d981be61a;hpb=8cc3be9eab9ff322d543e989f28c775a69d6b78f;p=rust-lightning diff --git a/src/util/ser.rs b/src/util/ser.rs index 84cfa8d1..c1d2802a 100644 --- a/src/util/ser.rs +++ b/src/util/ser.rs @@ -12,6 +12,7 @@ use bitcoin::util::hash::Sha256dHash; use bitcoin::blockdata::script::Script; use std::marker::Sized; use ln::msgs::DecodeError; +use ln::channelmanager::{PaymentPreimage, PaymentHash}; use util::byte_utils; use util::byte_utils::{be64_to_array, be48_to_array, be32_to_array, be16_to_array, slice_to_be16, slice_to_be32, slice_to_be48, slice_to_be64}; @@ -386,3 +387,29 @@ impl Readable for Signature { } } } + +impl Writeable for PaymentPreimage { + fn write(&self, w: &mut W) -> Result<(), ::std::io::Error> { + self.0.write(w) + } +} + +impl Readable for PaymentPreimage { + fn read(r: &mut R) -> Result { + let buf: [u8; 32] = Readable::read(r)?; + Ok(PaymentPreimage(buf)) + } +} + +impl Writeable for PaymentHash { + fn write(&self, w: &mut W) -> Result<(), ::std::io::Error> { + self.0.write(w) + } +} + +impl Readable for PaymentHash { + fn read(r: &mut R) -> Result { + let buf: [u8; 32] = Readable::read(r)?; + Ok(PaymentHash(buf)) + } +}