From 634821a95d3b6b233a8531a5ef5cb54005f0fd78 Mon Sep 17 00:00:00 2001 From: Elias Rohrer Date: Thu, 20 Jun 2024 11:08:32 +0200 Subject: [PATCH] `rustfmt`: Run on `lightning-block-sync/src/rest.rs` --- lightning-block-sync/src/rest.rs | 52 ++++++++++++++++++++------------ rustfmt_excluded_files | 1 - 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/lightning-block-sync/src/rest.rs b/lightning-block-sync/src/rest.rs index 74a460a7a..9473f7b1b 100644 --- a/lightning-block-sync/src/rest.rs +++ b/lightning-block-sync/src/rest.rs @@ -1,13 +1,13 @@ //! Simple REST client implementation which implements [`BlockSource`] against a Bitcoin Core REST //! endpoint. -use crate::{BlockData, BlockHeaderData, BlockSource, AsyncBlockSourceResult}; -use crate::http::{BinaryResponse, HttpEndpoint, HttpClient, JsonResponse}; -use crate::gossip::UtxoSource; use crate::convert::GetUtxosResponse; +use crate::gossip::UtxoSource; +use crate::http::{BinaryResponse, HttpClient, HttpEndpoint, JsonResponse}; +use crate::{AsyncBlockSourceResult, BlockData, BlockHeaderData, BlockSource}; -use bitcoin::OutPoint; use bitcoin::hash_types::BlockHash; +use bitcoin::OutPoint; use std::convert::TryFrom; use std::convert::TryInto; @@ -29,11 +29,16 @@ impl RestClient { /// Requests a resource encoded in `F` format and interpreted as type `T`. pub async fn request_resource(&self, resource_path: &str) -> std::io::Result - where F: TryFrom, Error = std::io::Error> + TryInto { + where + F: TryFrom, Error = std::io::Error> + TryInto, + { let host = format!("{}:{}", self.endpoint.host(), self.endpoint.port()); let uri = format!("{}/{}", self.endpoint.path().trim_end_matches("/"), resource_path); - let mut client = if let Some(client) = self.client.lock().unwrap().take() { client } - else { HttpClient::connect(&self.endpoint)? }; + let mut client = if let Some(client) = self.client.lock().unwrap().take() { + client + } else { + HttpClient::connect(&self.endpoint)? + }; let res = client.get::(&uri, &host).await?.try_into(); *self.client.lock().unwrap() = Some(client); res @@ -41,29 +46,37 @@ impl RestClient { } impl BlockSource for RestClient { - fn get_header<'a>(&'a self, header_hash: &'a BlockHash, _height: Option) -> AsyncBlockSourceResult<'a, BlockHeaderData> { + fn get_header<'a>( + &'a self, header_hash: &'a BlockHash, _height: Option, + ) -> AsyncBlockSourceResult<'a, BlockHeaderData> { Box::pin(async move { let resource_path = format!("headers/1/{}.json", header_hash.to_string()); Ok(self.request_resource::(&resource_path).await?) }) } - fn get_block<'a>(&'a self, header_hash: &'a BlockHash) -> AsyncBlockSourceResult<'a, BlockData> { + fn get_block<'a>( + &'a self, header_hash: &'a BlockHash, + ) -> AsyncBlockSourceResult<'a, BlockData> { Box::pin(async move { let resource_path = format!("block/{}.bin", header_hash.to_string()); - Ok(BlockData::FullBlock(self.request_resource::(&resource_path).await?)) + Ok(BlockData::FullBlock( + self.request_resource::(&resource_path).await?, + )) }) } fn get_best_block<'a>(&'a self) -> AsyncBlockSourceResult<'a, (BlockHash, Option)> { - Box::pin(async move { - Ok(self.request_resource::("chaininfo.json").await?) - }) + Box::pin( + async move { Ok(self.request_resource::("chaininfo.json").await?) }, + ) } } impl UtxoSource for RestClient { - fn get_block_hash_by_height<'a>(&'a self, block_height: u32) -> AsyncBlockSourceResult<'a, BlockHash> { + fn get_block_hash_by_height<'a>( + &'a self, block_height: u32, + ) -> AsyncBlockSourceResult<'a, BlockHash> { Box::pin(async move { let resource_path = format!("blockhashbyheight/{}.bin", block_height); Ok(self.request_resource::(&resource_path).await?) @@ -72,7 +85,8 @@ impl UtxoSource for RestClient { fn is_output_unspent<'a>(&'a self, outpoint: OutPoint) -> AsyncBlockSourceResult<'a, bool> { Box::pin(async move { - let resource_path = format!("getutxos/{}-{}.json", outpoint.txid.to_string(), outpoint.vout); + let resource_path = + format!("getutxos/{}-{}.json", outpoint.txid.to_string(), outpoint.vout); let utxo_result = self.request_resource::(&resource_path).await?; Ok(utxo_result.hit_bitmap_nonempty) @@ -83,8 +97,8 @@ impl UtxoSource for RestClient { #[cfg(test)] mod tests { use super::*; - use crate::http::BinaryResponse; use crate::http::client_tests::{HttpServer, MessageBody}; + use crate::http::BinaryResponse; use bitcoin::hashes::Hash; /// Parses binary data as a string-encoded `u32`. @@ -97,7 +111,7 @@ mod tests { Ok(s) => match u32::from_str_radix(s, 10) { Err(e) => Err(std::io::Error::new(std::io::ErrorKind::InvalidData, e)), Ok(n) => Ok(n), - } + }, } } } @@ -140,7 +154,7 @@ mod tests { let server = HttpServer::responding_with_ok(MessageBody::Content( // A real response contains a few more fields, but we actually only look at the // "bitmap" field, so this should suffice for testing - "{\"chainHeight\": 1, \"bitmap\":\"0\",\"utxos\":[]}" + "{\"chainHeight\": 1, \"bitmap\":\"0\",\"utxos\":[]}", )); let client = RestClient::new(server.endpoint()).unwrap(); @@ -154,7 +168,7 @@ mod tests { let server = HttpServer::responding_with_ok(MessageBody::Content( // A real response contains lots more data, but we actually only look at the "bitmap" // field, so this should suffice for testing - "{\"chainHeight\": 1, \"bitmap\":\"1\",\"utxos\":[]}" + "{\"chainHeight\": 1, \"bitmap\":\"1\",\"utxos\":[]}", )); let client = RestClient::new(server.endpoint()).unwrap(); diff --git a/rustfmt_excluded_files b/rustfmt_excluded_files index 03cc19f7c..1097968c1 100644 --- a/rustfmt_excluded_files +++ b/rustfmt_excluded_files @@ -1,6 +1,5 @@ ./lightning-background-processor/src/lib.rs ./lightning-block-sync/src/lib.rs -./lightning-block-sync/src/rest.rs ./lightning-block-sync/src/rpc.rs ./lightning-block-sync/src/test_utils.rs ./lightning-block-sync/src/utils.rs -- 2.39.5