Correct default expiry.
[rust-lightning] / lightning-invoice / src / utils.rs
index 20247ed321a72d87180ccc6347c1cd7e6f9f55a2..b75a215ee430341b64ca62bacfe4d278e86c02d0 100644 (file)
@@ -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();