X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning-invoice%2Fsrc%2Futils.rs;h=b75a215ee430341b64ca62bacfe4d278e86c02d0;hb=cff6abf3996977b9aaae2de4d66d5d1b70d64ae9;hp=20247ed321a72d87180ccc6347c1cd7e6f9f55a2;hpb=8cde7e8db9b7a4084bd47d506d039b7decdd8c41;p=rust-lightning diff --git a/lightning-invoice/src/utils.rs b/lightning-invoice/src/utils.rs index 20247ed3..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(), 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();