X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning-invoice%2Fsrc%2Flib.rs;h=d953795cf8e061157f1c69e9c5bc5eae2b743ca6;hb=803fb557e805a27c63db48dd72d311f73e0ad4e7;hp=f26903a74babe637560bc35d151ea5f37c67052b;hpb=a28c90a1b37f5a3fe371ca91ea5e150f2653f320;p=rust-lightning diff --git a/lightning-invoice/src/lib.rs b/lightning-invoice/src/lib.rs index f26903a7..d953795c 100644 --- a/lightning-invoice/src/lib.rs +++ b/lightning-invoice/src/lib.rs @@ -30,8 +30,6 @@ compile_error!("at least one of the `std` or `no-std` features must be enabled") pub mod payment; pub mod utils; -pub(crate) mod time_utils; - extern crate bech32; extern crate bitcoin_hashes; #[macro_use] extern crate lightning; @@ -50,11 +48,7 @@ use bech32::u5; use bitcoin::{Address, Network, PubkeyHash, ScriptHash}; use bitcoin::util::address::{Payload, WitnessVersion}; use bitcoin_hashes::{Hash, sha256}; -use lightning::ln::PaymentSecret; use lightning::ln::features::Bolt11InvoiceFeatures; -#[cfg(any(doc, test))] -use lightning::routing::gossip::RoutingFees; -use lightning::routing::router::RouteHint; use lightning::util::invoice::construct_invoice_preimage; use secp256k1::PublicKey; @@ -73,6 +67,13 @@ use core::str; #[cfg(feature = "serde")] use serde::{Deserialize, Deserializer,Serialize, Serializer, de::Error}; +#[doc(no_inline)] +pub use lightning::ln::PaymentSecret; +#[doc(no_inline)] +pub use lightning::routing::router::{RouteHint, RouteHintHop}; +#[doc(no_inline)] +pub use lightning::routing::gossip::RoutingFees; + mod de; mod ser; mod tb; @@ -260,7 +261,7 @@ pub struct Bolt11Invoice { /// This is not exported to bindings users as we don't have a good way to map the reference lifetimes making this /// practically impossible to use safely in languages like C. #[derive(Eq, PartialEq, Debug, Clone, Ord, PartialOrd)] -pub enum InvoiceDescription<'f> { +pub enum Bolt11InvoiceDescription<'f> { /// Reference to the directly supplied description in the invoice Direct(&'f Description), @@ -503,7 +504,7 @@ pub struct Bolt11InvoiceSignature(pub RecoverableSignature); impl PartialOrd for Bolt11InvoiceSignature { fn partial_cmp(&self, other: &Self) -> Option { - self.0.serialize_compact().1.partial_cmp(&other.0.serialize_compact().1) + Some(self.cmp(other)) } } @@ -671,12 +672,12 @@ impl InvoiceBui } /// Set the description or description hash. This function is only available if no description (hash) was set. - pub fn invoice_description(self, description: InvoiceDescription) -> InvoiceBuilder { + pub fn invoice_description(self, description: Bolt11InvoiceDescription) -> InvoiceBuilder { match description { - InvoiceDescription::Direct(desc) => { + Bolt11InvoiceDescription::Direct(desc) => { self.description(desc.clone().into_inner()) } - InvoiceDescription::Hash(hash) => { + Bolt11InvoiceDescription::Hash(hash) => { self.description_hash(hash.0) } } @@ -1310,12 +1311,12 @@ impl Bolt11Invoice { /// Return the description or a hash of it for longer ones /// - /// This is not exported to bindings users because we don't yet export InvoiceDescription - pub fn description(&self) -> InvoiceDescription { + /// This is not exported to bindings users because we don't yet export Bolt11InvoiceDescription + pub fn description(&self) -> Bolt11InvoiceDescription { if let Some(direct) = self.signed_invoice.description() { - return InvoiceDescription::Direct(direct); + return Bolt11InvoiceDescription::Direct(direct); } else if let Some(hash) = self.signed_invoice.description_hash() { - return InvoiceDescription::Hash(hash); + return Bolt11InvoiceDescription::Hash(hash); } unreachable!("ensured by constructor"); } @@ -2142,7 +2143,7 @@ mod test { assert_eq!(invoice.private_routes(), vec![&PrivateRoute(route_1), &PrivateRoute(route_2)]); assert_eq!( invoice.description(), - InvoiceDescription::Hash(&Sha256(sha256::Hash::from_slice(&[3;32][..]).unwrap())) + Bolt11InvoiceDescription::Hash(&Sha256(sha256::Hash::from_slice(&[3;32][..]).unwrap())) ); assert_eq!(invoice.payment_hash(), &sha256::Hash::from_slice(&[21;32][..]).unwrap()); assert_eq!(invoice.payment_secret(), &PaymentSecret([42; 32]));