Merge pull request #458 from TheBlueMatt/2020-01-spendable-docs
[rust-lightning] / lightning / src / ln / channelmonitor.rs
index 70f11405d0cb8399beb1c540acbe84ff20955982..41c7eb89a069df737ce30006371df6c7c9838439 100644 (file)
@@ -152,7 +152,6 @@ pub struct SimpleManyChannelMonitor<Key> {
 }
 
 impl<'a, Key : Send + cmp::Eq + hash::Hash> ChainListener for SimpleManyChannelMonitor<Key> {
-
        fn block_connected(&self, header: &BlockHeader, height: u32, txn_matched: &[&Transaction], _indexes_of_txn_matched: &[u32]) {
                let block_hash = header.bitcoin_hash();
                let mut new_events: Vec<events::Event> = Vec::with_capacity(0);
@@ -219,8 +218,8 @@ impl<'a, Key : Send + cmp::Eq + hash::Hash> ChainListener for SimpleManyChannelM
 impl<Key : Send + cmp::Eq + hash::Hash + 'static> SimpleManyChannelMonitor<Key> {
        /// Creates a new object which can be used to monitor several channels given the chain
        /// interface with which to register to receive notifications.
-       pub fn new(chain_monitor: Arc<ChainWatchInterface>, broadcaster: Arc<BroadcasterInterface>, logger: Arc<Logger>, feeest: Arc<FeeEstimator>) -> Arc<SimpleManyChannelMonitor<Key>> {
-               let res = Arc::new(SimpleManyChannelMonitor {
+       pub fn new(chain_monitor: Arc<ChainWatchInterface>, broadcaster: Arc<BroadcasterInterface>, logger: Arc<Logger>, feeest: Arc<FeeEstimator>) -> SimpleManyChannelMonitor<Key> {
+               let res = SimpleManyChannelMonitor {
                        monitors: Mutex::new(HashMap::new()),
                        chain_monitor,
                        broadcaster,
@@ -228,7 +227,7 @@ impl<Key : Send + cmp::Eq + hash::Hash + 'static> SimpleManyChannelMonitor<Key>
                        pending_htlc_updated: Mutex::new(HashMap::new()),
                        logger,
                        fee_estimator: feeest,
-               });
+               };
 
                res
        }
@@ -2219,7 +2218,8 @@ impl ChannelMonitor {
                                assert!(local_tx.tx.has_local_sig());
                                match self.key_storage {
                                        Storage::Local { ref delayed_payment_base_key, .. } => {
-                                               append_onchain_update!(self.broadcast_by_local_state(local_tx, delayed_payment_base_key, height));
+                                               let mut res = self.broadcast_by_local_state(local_tx, delayed_payment_base_key, height);
+                                               append_onchain_update!(res);
                                        },
                                        Storage::Watchtower { .. } => { }
                                }
@@ -2242,7 +2242,8 @@ impl ChannelMonitor {
                                assert!(local_tx.tx.has_local_sig());
                                match self.key_storage {
                                        Storage::Local { ref delayed_payment_base_key, .. } => {
-                                               append_onchain_update!(self.broadcast_by_local_state(local_tx, delayed_payment_base_key, height));
+                                               let mut res = self.broadcast_by_local_state(local_tx, delayed_payment_base_key, height);
+                                               append_onchain_update!(res);
                                        },
                                        Storage::Watchtower { .. } => { }
                                }