Overhaul ChannelMonitor/OnchainTxHandler to new nomenclature
[rust-lightning] / lightning / src / chain / chaininterface.rs
index fe3914545c6e05ac17bf012dd8598041c327b6f4..295c337e29d905ff8e6e5b28ffb4043b76429148 100644 (file)
@@ -17,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};
 
@@ -227,6 +226,8 @@ impl ChainWatchedUtil {
 /// parameters with static lifetimes). Other times you can afford a reference, which is more
 /// efficient, in which case BlockNotifierRef is a more appropriate type. Defining these type
 /// aliases prevents issues such as overly long function definitions.
+///
+/// (C-not exported) as we let clients handle any reference counting they need to do
 pub type BlockNotifierArc<C> = Arc<BlockNotifier<'static, Arc<ChainListener>, C>>;
 
 /// BlockNotifierRef is useful when you want a BlockNotifier that points to ChainListeners
@@ -274,6 +275,8 @@ impl<'a, CL: Deref + 'a, C: Deref> BlockNotifier<'a, CL, C>
        /// If the same listener is registered multiple times, unregistering
        /// will remove ALL occurrences of that listener. Comparison is done using
        /// the pointer returned by the Deref trait implementation.
+       ///
+       /// (C-not exported) because the equality check would always fail
        pub fn unregister_listener(&self, listener: CL) {
                let mut vec = self.listeners.lock().unwrap();
                // item is a ref to an abstract thing that dereferences to a ChainListener,
@@ -366,7 +369,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)