Update to latest upstream rust-bitcoin
[rust-lightning] / lightning / src / chain / chaininterface.rs
index 2e874296f5ab94d363c9244db192fa72a3bfb76d..2da2ae8c7eb618a49308e664e4a8edd50266bd58 100644 (file)
@@ -1,3 +1,12 @@
+// This file is Copyright its original authors, visible in version control
+// history.
+//
+// This file is licensed under the Apache License, Version 2.0 <LICENSE-APACHE
+// or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// You may not use this file except in accordance with one or both of these
+// licenses.
+
 //! Traits and utility impls which allow other parts of rust-lightning to interact with the
 //! blockchain.
 //!
@@ -8,7 +17,6 @@ use bitcoin::blockdata::block::{Block, BlockHeader};
 use bitcoin::blockdata::transaction::Transaction;
 use bitcoin::blockdata::script::Script;
 use bitcoin::blockdata::constants::genesis_block;
-use bitcoin::util::hash::BitcoinHash;
 use bitcoin::network::constants::Network;
 use bitcoin::hash_types::{Txid, BlockHash};
 
@@ -236,13 +244,15 @@ pub type BlockNotifierRef<'a, C> = BlockNotifier<'a, &'a ChainListener, C>;
 /// or a BlockNotifierRef for conciseness. See their documentation for more details, but essentially
 /// you should default to using a BlockNotifierRef, and use a BlockNotifierArc instead when you
 /// require ChainListeners with static lifetimes, such as when you're using lightning-net-tokio.
-pub struct BlockNotifier<'a, CL: Deref<Target = ChainListener + 'a> + 'a, C: Deref> where C::Target: ChainWatchInterface {
+pub struct BlockNotifier<'a, CL: Deref + 'a, C: Deref>
+               where CL::Target: ChainListener + 'a, C::Target: ChainWatchInterface {
        listeners: Mutex<Vec<CL>>,
        chain_monitor: C,
        phantom: PhantomData<&'a ()>,
 }
 
-impl<'a, CL: Deref<Target = ChainListener + 'a> + 'a, C: Deref> BlockNotifier<'a, CL, C> where C::Target: ChainWatchInterface {
+impl<'a, CL: Deref + 'a, C: Deref> BlockNotifier<'a, CL, C>
+               where CL::Target: ChainListener + 'a, C::Target: ChainWatchInterface {
        /// Constructs a new BlockNotifier without any listeners.
        pub fn new(chain_monitor: C) -> BlockNotifier<'a, CL, C> {
                BlockNotifier {
@@ -355,7 +365,7 @@ impl ChainWatchInterface for ChainWatchInterfaceUtil {
        }
 
        fn get_chain_utxo(&self, genesis_hash: BlockHash, _unspent_tx_output_identifier: u64) -> Result<(Script, u64), ChainError> {
-               if genesis_hash != genesis_block(self.network).header.bitcoin_hash() {
+               if genesis_hash != genesis_block(self.network).header.block_hash() {
                        return Err(ChainError::NotWatched);
                }
                Err(ChainError::NotSupported)