X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning-block-sync%2Fsrc%2Flib.rs;h=f9ce6c636c6d8e50e5df79ade58a30f0f76959cb;hb=57017dfc0b610ef6095cb69ef50bd13274d5a2c8;hp=5d8bc27f8d141c2dcaaad9f1f53f97a25daa1cb0;hpb=2fda791d5c36863ca69b290c9293db2fe0d35a25;p=rust-lightning diff --git a/lightning-block-sync/src/lib.rs b/lightning-block-sync/src/lib.rs index 5d8bc27f..f9ce6c63 100644 --- a/lightning-block-sync/src/lib.rs +++ b/lightning-block-sync/src/lib.rs @@ -98,7 +98,7 @@ pub struct BlockSourceError { } /// The kind of `BlockSourceError`, either persistent or transient. -#[derive(Clone, Copy, Debug, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum BlockSourceErrorKind { /// Indicates an error that won't resolve when retrying a request (e.g., invalid data). Persistent, @@ -139,7 +139,7 @@ impl BlockSourceError { /// A block header and some associated data. This information should be available from most block /// sources (and, notably, is available in Bitcoin Core's RPC and REST interfaces). -#[derive(Clone, Copy, Debug, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct BlockHeaderData { /// The block header itself. pub header: BlockHeader, @@ -411,15 +411,15 @@ impl<'a, C: Cache, L: Deref> ChainNotifier<'a, C, L> where L::Target: chain::Lis let height = header.height; let block_data = chain_poller .fetch_block(&header).await - .or_else(|e| Err((e, Some(new_tip))))?; + .map_err(|e| (e, Some(new_tip)))?; debug_assert_eq!(block_data.block_hash, header.block_hash); match block_data.deref() { BlockData::FullBlock(block) => { - self.chain_listener.block_connected(&block, height); + self.chain_listener.block_connected(block, height); }, BlockData::HeaderOnly(header) => { - self.chain_listener.filtered_block_connected(&header, &[], height); + self.chain_listener.filtered_block_connected(header, &[], height); }, }