X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning-invoice%2Fsrc%2Fser.rs;h=c9fca01f11f48fa9923e7d748ec824f43622b7f6;hb=31e78ff258195837abafa045c12c036528696d7f;hp=7d9ca9eb895cbd7a5f0566afa94553ac8448133e;hpb=09e167019589dcfc5ee9675ad243b337659eafc7;p=rust-lightning diff --git a/lightning-invoice/src/ser.rs b/lightning-invoice/src/ser.rs index 7d9ca9eb..c9fca01f 100644 --- a/lightning-invoice/src/ser.rs +++ b/lightning-invoice/src/ser.rs @@ -1,8 +1,9 @@ -use std::fmt; -use std::fmt::{Display, Formatter}; +use core::fmt; +use core::fmt::{Display, Formatter}; use bech32::{ToBase32, u5, WriteBase32, Base32Len}; +use crate::prelude::*; -use super::{Invoice, Sha256, TaggedField, ExpiryTime, MinFinalCltvExpiry, Fallback, PayeePubKey, InvoiceSignature, PositiveTimestamp, +use super::{Invoice, Sha256, TaggedField, ExpiryTime, MinFinalCltvExpiryDelta, Fallback, PayeePubKey, InvoiceSignature, PositiveTimestamp, PrivateRoute, Description, RawTaggedField, Currency, RawHrp, SiPrefix, constants, SignedRawInvoice, RawDataPart}; /// Converts a stream of bytes written to it to base32. On finalization the according padding will @@ -46,7 +47,7 @@ impl<'a, W: WriteBase32> BytesToBase32<'a, W> { self.writer.write_u5( u5::try_from_u8((self.buffer & 0b11111000) >> 3 ).expect("<32") )?; - self.buffer = self.buffer << 5; + self.buffer <<= 5; self.buffer_bits -= 5; } @@ -57,14 +58,14 @@ impl<'a, W: WriteBase32> BytesToBase32<'a, W> { self.writer.write_u5(u5::try_from_u8(from_buffer | from_byte).expect("<32"))?; self.buffer = byte << (5 - self.buffer_bits); - self.buffer_bits = 3 + self.buffer_bits; + self.buffer_bits += 3; Ok(()) } pub fn finalize(mut self) -> Result<(), W::Err> { self.inner_finalize()?; - std::mem::forget(self); + core::mem::forget(self); Ok(()) } @@ -74,7 +75,7 @@ impl<'a, W: WriteBase32> BytesToBase32<'a, W> { self.writer.write_u5( u5::try_from_u8((self.buffer & 0b11111000) >> 3).expect("<32") )?; - self.buffer = self.buffer << 5; + self.buffer <<= 5; self.buffer_bits -= 5; } @@ -123,7 +124,7 @@ impl Display for SignedRawInvoice { } } -/// (C-not exported) +/// This is not exported to bindings users impl Display for RawHrp { fn fmt(&self, f: &mut Formatter) -> Result<(), fmt::Error> { let amount = match self.raw_amount { @@ -312,13 +313,13 @@ impl Base32Len for ExpiryTime { } } -impl ToBase32 for MinFinalCltvExpiry { +impl ToBase32 for MinFinalCltvExpiryDelta { fn write_base32(&self, writer: &mut W) -> Result<(), ::Err> { writer.write(&encode_int_be_base32(self.0)) } } -impl Base32Len for MinFinalCltvExpiry { +impl Base32Len for MinFinalCltvExpiryDelta { fn base32_len(&self) -> usize { encoded_int_be_base32_size(self.0) } @@ -433,8 +434,8 @@ impl ToBase32 for TaggedField { TaggedField::ExpiryTime(ref duration) => { write_tagged_field(writer, constants::TAG_EXPIRY_TIME, duration) }, - TaggedField::MinFinalCltvExpiry(ref expiry) => { - write_tagged_field(writer, constants::TAG_MIN_FINAL_CLTV_EXPIRY, expiry) + TaggedField::MinFinalCltvExpiryDelta(ref expiry) => { + write_tagged_field(writer, constants::TAG_MIN_FINAL_CLTV_EXPIRY_DELTA, expiry) }, TaggedField::Fallback(ref fallback_address) => { write_tagged_field(writer, constants::TAG_FALLBACK, fallback_address) @@ -468,7 +469,7 @@ mod test { #[test] fn test_currency_code() { - use Currency; + use crate::Currency; assert_eq!("bc", Currency::Bitcoin.to_string()); assert_eq!("tb", Currency::BitcoinTestnet.to_string()); @@ -479,7 +480,7 @@ mod test { #[test] fn test_raw_hrp() { - use ::{Currency, RawHrp, SiPrefix}; + use crate::{Currency, RawHrp, SiPrefix}; let hrp = RawHrp { currency: Currency::Bitcoin, @@ -492,7 +493,7 @@ mod test { #[test] fn test_encode_int_be_base32() { - use ser::encode_int_be_base32; + use crate::ser::encode_int_be_base32; let input: u64 = 33764; let expected_out = CheckBase32::check_base32(&[1, 0, 31, 4]).unwrap(); @@ -502,7 +503,7 @@ mod test { #[test] fn test_encode_int_be_base256() { - use ser::encode_int_be_base256; + use crate::ser::encode_int_be_base256; let input: u64 = 16842530; let expected_out = vec![1, 0, 255, 34];