-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,
- RouteHint, Description, RawTaggedField, Currency, RawHrp, SiPrefix, constants, SignedRawInvoice, RawDataPart};
+ 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
/// be applied. That means the results of writing two data blocks with one or two `BytesToBase32`
pub fn finalize(mut self) -> Result<(), W::Err> {
self.inner_finalize()?;
- std::mem::forget(self);
+ core::mem::forget(self);
Ok(())
}
let mut data = self.raw_invoice.data.to_base32();
data.extend_from_slice(&self.signature.to_base32());
- bech32::encode_to_fmt(f, &hrp, data).expect("HRP is valid")?;
+ bech32::encode_to_fmt(f, &hrp, data, bech32::Variant::Bech32).expect("HRP is valid")?;
Ok(())
}
Currency::BitcoinTestnet => "tb",
Currency::Regtest => "bcrt",
Currency::Simnet => "sb",
+ Currency::Signet => "tbs",
};
write!(f, "{}", currency_code)
}
}
}
-impl ToBase32 for RouteHint {
+impl ToBase32 for PrivateRoute {
fn write_base32<W: WriteBase32>(&self, writer: &mut W) -> Result<(), <W as WriteBase32>::Err> {
let mut converter = BytesToBase32::new(writer);
- for hop in self.iter() {
+ for hop in (self.0).0.iter() {
converter.append(&hop.src_node_id.serialize()[..])?;
let short_channel_id = try_stretch(
encode_int_be_base256(hop.short_channel_id),
}
}
-impl Base32Len for RouteHint {
+impl Base32Len for PrivateRoute {
fn base32_len(&self) -> usize {
- bytes_size_to_base32_size(self.0.len() * 51)
+ bytes_size_to_base32_size((self.0).0.len() * 51)
}
}
TaggedField::Fallback(ref fallback_address) => {
write_tagged_field(writer, constants::TAG_FALLBACK, fallback_address)
},
- TaggedField::Route(ref route_hops) => {
- write_tagged_field(writer, constants::TAG_ROUTE, route_hops)
+ TaggedField::PrivateRoute(ref route_hops) => {
+ write_tagged_field(writer, constants::TAG_PRIVATE_ROUTE, route_hops)
},
TaggedField::PaymentSecret(ref payment_secret) => {
write_tagged_field(writer, constants::TAG_PAYMENT_SECRET, payment_secret)
#[test]
fn test_currency_code() {
- use Currency;
+ use crate::Currency;
assert_eq!("bc", Currency::Bitcoin.to_string());
assert_eq!("tb", Currency::BitcoinTestnet.to_string());
assert_eq!("bcrt", Currency::Regtest.to_string());
assert_eq!("sb", Currency::Simnet.to_string());
+ assert_eq!("tbs", Currency::Signet.to_string());
}
#[test]
fn test_raw_hrp() {
- use ::{Currency, RawHrp, SiPrefix};
+ use crate::{Currency, RawHrp, SiPrefix};
let hrp = RawHrp {
currency: Currency::Bitcoin,
#[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();
#[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];