X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=lightning-invoice%2Fsrc%2Futils.rs;h=b75a215ee430341b64ca62bacfe4d278e86c02d0;hb=9c9081dfcbcbfe70b3b660d378349f749a7fd771;hp=b90aad82d8263349c280f83a31b3bd86f3b60201;hpb=4c7be7e137d5ad552bfae481ba1e5e26f34e74f7;p=rust-lightning diff --git a/lightning-invoice/src/utils.rs b/lightning-invoice/src/utils.rs index b90aad82..b75a215e 100644 --- a/lightning-invoice/src/utils.rs +++ b/lightning-invoice/src/utils.rs @@ -1,15 +1,15 @@ //! Convenient utilities to create an invoice. -use {Currency, Invoice, InvoiceBuilder, SignOrCreationError, RawInvoice}; +use {Currency, DEFAULT_EXPIRY_TIME, Invoice, InvoiceBuilder, SignOrCreationError, RawInvoice}; use bech32::ToBase32; use bitcoin_hashes::Hash; use lightning::chain; use lightning::chain::chaininterface::{BroadcasterInterface, FeeEstimator}; use lightning::chain::keysinterface::{Sign, KeysInterface}; use lightning::ln::channelmanager::{ChannelManager, MIN_FINAL_CLTV_EXPIRY}; -use lightning::ln::features::InvoiceFeatures; use lightning::routing::network_graph::RoutingFees; use lightning::routing::router::RouteHintHop; use lightning::util::logger::Logger; +use std::convert::TryInto; use std::ops::Deref; /// Utility to construct an invoice. Generally, unless you want to do something like a custom @@ -55,7 +55,7 @@ where let (payment_hash, payment_secret) = channelmanager.create_inbound_payment( amt_msat, - 7200, // default invoice expiry is 2 hours + DEFAULT_EXPIRY_TIME.try_into().unwrap(), 0, ); let our_node_pubkey = channelmanager.get_our_node_id(); @@ -65,7 +65,7 @@ where .payee_pub_key(our_node_pubkey) .payment_hash(Hash::from_slice(&payment_hash.0).unwrap()) .payment_secret(payment_secret) - .features(InvoiceFeatures::known()) + .basic_mpp() .min_final_cltv_expiry(MIN_FINAL_CLTV_EXPIRY.into()); if let Some(amt) = amt_msat { invoice = invoice.amount_pico_btc(amt * 10); @@ -93,6 +93,7 @@ where mod test { use {Currency, Description, InvoiceDescription}; use lightning::ln::PaymentHash; + use lightning::ln::channelmanager::MIN_FINAL_CLTV_EXPIRY; use lightning::ln::functional_test_utils::*; use lightning::ln::features::InitFeatures; use lightning::ln::msgs::ChannelMessageHandler; @@ -108,7 +109,7 @@ mod test { let _chan = create_announced_chan_between_nodes(&nodes, 0, 1, InitFeatures::known(), InitFeatures::known()); let invoice = ::utils::create_invoice_from_channelmanager(&nodes[1].node, nodes[1].keys_manager, Currency::BitcoinTestnet, Some(10_000), "test".to_string()).unwrap(); assert_eq!(invoice.amount_pico_btc(), Some(100_000)); - assert_eq!(invoice.min_final_cltv_expiry(), Some(9)); + assert_eq!(invoice.min_final_cltv_expiry(), MIN_FINAL_CLTV_EXPIRY as u64); assert_eq!(invoice.description(), InvoiceDescription::Direct(&Description("test".to_string()))); let mut route_hints = invoice.routes().clone(); @@ -129,7 +130,7 @@ mod test { Some(&first_hops.iter().collect::>()), &last_hops.iter().collect::>(), amt_msat, - invoice.min_final_cltv_expiry().unwrap() as u32, + invoice.min_final_cltv_expiry() as u32, &logger, ).unwrap();