Merge pull request #2697 from jkczyz/2023-10-offer-functional-tests
[rust-lightning] / lightning / src / ln / onion_route_tests.rs
index ca7d33f50c032907cef80d3629fd943e813ba4a7..cfdba07a2f2839af321bddfc1e9f0c5ec26abc63 100644 (file)
@@ -29,8 +29,7 @@ use crate::util::test_utils;
 use crate::util::config::{UserConfig, ChannelConfig, MaxDustHTLCExposure};
 use crate::util::errors::APIError;
 
-use bitcoin::hash_types::BlockHash;
-
+use bitcoin::blockdata::constants::ChainHash;
 use bitcoin::hashes::{Hash, HashEngine};
 use bitcoin::hashes::hmac::{Hmac, HmacEngine};
 use bitcoin::hashes::sha256::Hash as Sha256;
@@ -234,12 +233,13 @@ fn run_onion_failure_test_with_fail_intercept<F1,F2,F3>(
 
 impl msgs::ChannelUpdate {
        fn dummy(short_channel_id: u64) -> msgs::ChannelUpdate {
+               use bitcoin::hash_types::BlockHash;
                use bitcoin::secp256k1::ffi::Signature as FFISignature;
                use bitcoin::secp256k1::ecdsa::Signature;
                msgs::ChannelUpdate {
                        signature: Signature::from(unsafe { FFISignature::new() }),
                        contents: msgs::UnsignedChannelUpdate {
-                               chain_hash: BlockHash::hash(&vec![0u8][..]),
+                               chain_hash: ChainHash::from(BlockHash::hash(&vec![0u8][..]).as_ref()),
                                short_channel_id,
                                timestamp: 0,
                                flags: 0,
@@ -639,7 +639,7 @@ fn test_onion_failure() {
                        let um = onion_utils::gen_um_from_shared_secret(&onion_keys[1].shared_secret.as_ref());
                        let mut hmac = HmacEngine::<Sha256>::new(&um);
                        hmac.input(&decoded_err_packet.encode()[32..]);
-                       decoded_err_packet.hmac = Hmac::from_engine(hmac).into_inner();
+                       decoded_err_packet.hmac = Hmac::from_engine(hmac).to_byte_array();
                        msg.reason = onion_utils::encrypt_failure_packet(
                                &onion_keys[1].shared_secret.as_ref(), &decoded_err_packet.encode()[..])
                }, || nodes[2].node.fail_htlc_backwards(&payment_hash), false, None,
@@ -662,7 +662,7 @@ fn test_onion_failure() {
                        let um = onion_utils::gen_um_from_shared_secret(&onion_keys[0].shared_secret.as_ref());
                        let mut hmac = HmacEngine::<Sha256>::new(&um);
                        hmac.input(&decoded_err_packet.encode()[32..]);
-                       decoded_err_packet.hmac = Hmac::from_engine(hmac).into_inner();
+                       decoded_err_packet.hmac = Hmac::from_engine(hmac).to_byte_array();
                        msg.reason = onion_utils::encrypt_failure_packet(
                                &onion_keys[0].shared_secret.as_ref(), &decoded_err_packet.encode()[..])
                }, || {}, true, Some(0x1000|7),
@@ -686,7 +686,7 @@ fn test_onion_failure() {
                        let um = onion_utils::gen_um_from_shared_secret(&onion_keys[1].shared_secret.as_ref());
                        let mut hmac = HmacEngine::<Sha256>::new(&um);
                        hmac.input(&decoded_err_packet.encode()[32..]);
-                       decoded_err_packet.hmac = Hmac::from_engine(hmac).into_inner();
+                       decoded_err_packet.hmac = Hmac::from_engine(hmac).to_byte_array();
                        msg.reason = onion_utils::encrypt_failure_packet(
                                &onion_keys[1].shared_secret.as_ref(), &decoded_err_packet.encode()[..])
                }, || nodes[2].node.fail_htlc_backwards(&payment_hash), true, Some(0x1000|7),
@@ -790,7 +790,7 @@ fn do_test_onion_failure_stale_channel_update(announced_channel: bool) {
                        htlc_minimum_msat: None,
                }])];
                let payment_params = PaymentParameters::from_node_id(*channel_to_update_counterparty, TEST_FINAL_CLTV)
-                       .with_bolt11_features(nodes[2].node.invoice_features()).unwrap()
+                       .with_bolt11_features(nodes[2].node.bolt11_invoice_features()).unwrap()
                        .with_route_hints(hop_hints).unwrap();
                get_route_and_payment_hash!(nodes[0], nodes[2], payment_params, PAYMENT_AMT)
        };
@@ -1047,7 +1047,7 @@ macro_rules! get_phantom_route {
                let phantom_pubkey = $nodes[1].keys_manager.get_node_id(Recipient::PhantomNode).unwrap();
                let phantom_route_hint = $nodes[1].node.get_phantom_route_hints();
                let payment_params = PaymentParameters::from_node_id(phantom_pubkey, TEST_FINAL_CLTV)
-                       .with_bolt11_features($nodes[1].node.invoice_features()).unwrap()
+                       .with_bolt11_features($nodes[1].node.bolt11_invoice_features()).unwrap()
                        .with_route_hints(vec![RouteHint(vec![
                                        RouteHintHop {
                                                src_node_id: $nodes[0].node.get_our_node_id(),
@@ -1119,7 +1119,7 @@ fn test_phantom_onion_hmac_failure() {
                                }, ..
                        }) => {
                                onion_packet.hmac[onion_packet.hmac.len() - 1] ^= 1;
-                               Sha256::hash(&onion_packet.hop_data).into_inner().to_vec()
+                               Sha256::hash(&onion_packet.hop_data).to_byte_array().to_vec()
                        },
                        _ => panic!("Unexpected forward"),
                }