Rust fmt
This commit is contained in:
		
							parent
							
								
									b5559767db
								
							
						
					
					
						commit
						303a1703c9
					
				| @ -24,8 +24,14 @@ | ||||
| //! /* Updating an empty sparsechain will always succeed */
 | ||||
| //!
 | ||||
| //! let update = SparseChain::from_checkpoints(vec![
 | ||||
| //!     BlockId { height: 1, hash: hash_a },
 | ||||
| //!     BlockId { height: 2, hash: hash_b },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 1,
 | ||||
| //!         hash: hash_a,
 | ||||
| //!     },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 2,
 | ||||
| //!         hash: hash_b,
 | ||||
| //!     },
 | ||||
| //! ]);
 | ||||
| //! let _ = chain
 | ||||
| //!     .apply_update(update)
 | ||||
| @ -34,8 +40,14 @@ | ||||
| //! /* To update a non-empty sparsechain, the update must connect */
 | ||||
| //!
 | ||||
| //! let update = SparseChain::from_checkpoints(vec![
 | ||||
| //!     BlockId { height: 2, hash: hash_b },
 | ||||
| //!     BlockId { height: 3, hash: hash_c },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 2,
 | ||||
| //!         hash: hash_b,
 | ||||
| //!     },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 3,
 | ||||
| //!         hash: hash_c,
 | ||||
| //!     },
 | ||||
| //! ]);
 | ||||
| //! let _ = chain
 | ||||
| //!     .apply_update(update)
 | ||||
| @ -56,17 +68,29 @@ | ||||
| //! # let hash_d = new_hash::<BlockHash>("d");
 | ||||
| //! // our sparsechain has 2 checkpoints
 | ||||
| //! let chain = SparseChain::<TxHeight>::from_checkpoints(vec![
 | ||||
| //!     BlockId { height: 1, hash: hash_a },
 | ||||
| //!     BlockId { height: 2, hash: hash_b },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 1,
 | ||||
| //!         hash: hash_a,
 | ||||
| //!     },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 2,
 | ||||
| //!         hash: hash_b,
 | ||||
| //!     },
 | ||||
| //! ]);
 | ||||
| //!
 | ||||
| //! /* Example of an ambiguous update that does not fully connect */
 | ||||
| //!
 | ||||
| //! let ambiguous_update = SparseChain::from_checkpoints(vec![
 | ||||
| //!     // the update sort of "connects" at checkpoint 1, but...
 | ||||
| //!     BlockId { height: 1, hash: hash_a },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 1,
 | ||||
| //!         hash: hash_a,
 | ||||
| //!     },
 | ||||
| //!     // we cannot determine whether checkpoint 3 connects with checkpoint 2
 | ||||
| //!     BlockId { height: 3, hash: hash_c },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 3,
 | ||||
| //!         hash: hash_c,
 | ||||
| //!     },
 | ||||
| //! ]);
 | ||||
| //! let _ = chain
 | ||||
| //!     .determine_changeset(&ambiguous_update)
 | ||||
| @ -76,8 +100,14 @@ | ||||
| //!
 | ||||
| //! let disconnected_update = SparseChain::from_checkpoints(vec![
 | ||||
| //!     // the last checkpoint in chain is 2, so 3 and 4 do not connect
 | ||||
| //!     BlockId { height: 3, hash: hash_c },
 | ||||
| //!     BlockId { height: 4, hash: hash_d },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 3,
 | ||||
| //!         hash: hash_c,
 | ||||
| //!     },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 4,
 | ||||
| //!         hash: hash_d,
 | ||||
| //!     },
 | ||||
| //! ]);
 | ||||
| //! let _ = chain
 | ||||
| //!     .determine_changeset(&disconnected_update)
 | ||||
| @ -97,14 +127,21 @@ | ||||
| //! # let hash_c = new_hash::<BlockHash>("c");
 | ||||
| //! # let hash_d = new_hash::<BlockHash>("d");
 | ||||
| //! // our chain has a single checkpoint at height 11
 | ||||
| //! let mut chain = SparseChain::<TxHeight>::from_checkpoints(vec![
 | ||||
| //!     BlockId { height: 11, hash: hash_a },
 | ||||
| //! ]);
 | ||||
| //! let mut chain = SparseChain::<TxHeight>::from_checkpoints(vec![BlockId {
 | ||||
| //!     height: 11,
 | ||||
| //!     hash: hash_a,
 | ||||
| //! }]);
 | ||||
| //!
 | ||||
| //! // we detect a reorg at height 11, and we introduce a new checkpoint at height 12
 | ||||
| //! let update = SparseChain::from_checkpoints(vec![
 | ||||
| //!     BlockId { height: 11, hash: hash_b },
 | ||||
| //!     BlockId { height: 12, hash: hash_c },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 11,
 | ||||
| //!         hash: hash_b,
 | ||||
| //!     },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 12,
 | ||||
| //!         hash: hash_c,
 | ||||
| //!     },
 | ||||
| //! ]);
 | ||||
| //! let _ = chain
 | ||||
| //!     .apply_update(update)
 | ||||
| @ -114,8 +151,14 @@ | ||||
| //! // we detect another reorg, this time at height 12...
 | ||||
| //! let update = SparseChain::from_checkpoints(vec![
 | ||||
| //!     // we connect at checkpoint 11 as this is our "point of agreement"
 | ||||
| //!     BlockId { height: 11, hash: hash_b },
 | ||||
| //!     BlockId { height: 12, hash: hash_d },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 11,
 | ||||
| //!         hash: hash_b,
 | ||||
| //!     },
 | ||||
| //!     BlockId {
 | ||||
| //!         height: 12,
 | ||||
| //!         hash: hash_d,
 | ||||
| //!     },
 | ||||
| //! ]);
 | ||||
| //! let _ = chain
 | ||||
| //!     .apply_update(update)
 | ||||
| @ -166,48 +209,102 @@ | ||||
| //! }
 | ||||
| //!
 | ||||
| //! impl Default for TxPosition {
 | ||||
| //!     fn default() -> Self { Self::Unconfirmed }
 | ||||
| //!     fn default() -> Self {
 | ||||
| //!         Self::Unconfirmed
 | ||||
| //!     }
 | ||||
| //! }
 | ||||
| //!
 | ||||
| //! impl ChainPosition for TxPosition {
 | ||||
| //!     fn height(&self) -> TxHeight {
 | ||||
| //!         match self {
 | ||||
| //!             Self::Confirmed{ height, .. } => TxHeight::Confirmed(*height),
 | ||||
| //!             Self::Confirmed { height, .. } => TxHeight::Confirmed(*height),
 | ||||
| //!             Self::Unconfirmed => TxHeight::Unconfirmed,
 | ||||
| //!         }
 | ||||
| //!     }
 | ||||
| //!
 | ||||
| //!     fn max_ord_of_height(height: TxHeight) -> Self {
 | ||||
| //!         match height {
 | ||||
| //!             TxHeight::Confirmed(height) => Self::Confirmed{ height, position: u32::MAX },
 | ||||
| //!             TxHeight::Confirmed(height) => Self::Confirmed {
 | ||||
| //!                 height,
 | ||||
| //!                 position: u32::MAX,
 | ||||
| //!             },
 | ||||
| //!             TxHeight::Unconfirmed => Self::Unconfirmed,
 | ||||
| //!         }
 | ||||
| //!     }
 | ||||
| //!
 | ||||
| //!     fn min_ord_of_height(height: TxHeight) -> Self {
 | ||||
| //!         match height {
 | ||||
| //!             TxHeight::Confirmed(height) => Self::Confirmed{ height, position: u32::MIN },
 | ||||
| //!             TxHeight::Confirmed(height) => Self::Confirmed {
 | ||||
| //!                 height,
 | ||||
| //!                 position: u32::MIN,
 | ||||
| //!             },
 | ||||
| //!             TxHeight::Unconfirmed => Self::Unconfirmed,
 | ||||
| //!         }
 | ||||
| //!     }
 | ||||
| //! }
 | ||||
| //!
 | ||||
| //! let mut chain = SparseChain::<TxPosition>::default();
 | ||||
| //! let _ = chain.insert_checkpoint(BlockId { height: 10, hash: hash_a }).unwrap();
 | ||||
| //! let _ = chain.insert_tx(txid_1, TxPosition::Confirmed{ height: 9, position: 4321 }).unwrap();
 | ||||
| //! let _ = chain.insert_tx(txid_2, TxPosition::Confirmed{ height: 9, position: 1234 }).unwrap();
 | ||||
| //! let _ = chain.insert_tx(txid_3, TxPosition::Confirmed{ height: 10, position: 321 }).unwrap();
 | ||||
| //! let _ = chain
 | ||||
| //!     .insert_checkpoint(BlockId {
 | ||||
| //!         height: 10,
 | ||||
| //!         hash: hash_a,
 | ||||
| //!     })
 | ||||
| //!     .unwrap();
 | ||||
| //! let _ = chain
 | ||||
| //!     .insert_tx(
 | ||||
| //!         txid_1,
 | ||||
| //!         TxPosition::Confirmed {
 | ||||
| //!             height: 9,
 | ||||
| //!             position: 4321,
 | ||||
| //!         },
 | ||||
| //!     )
 | ||||
| //!     .unwrap();
 | ||||
| //! let _ = chain
 | ||||
| //!     .insert_tx(
 | ||||
| //!         txid_2,
 | ||||
| //!         TxPosition::Confirmed {
 | ||||
| //!             height: 9,
 | ||||
| //!             position: 1234,
 | ||||
| //!         },
 | ||||
| //!     )
 | ||||
| //!     .unwrap();
 | ||||
| //! let _ = chain
 | ||||
| //!     .insert_tx(
 | ||||
| //!         txid_3,
 | ||||
| //!         TxPosition::Confirmed {
 | ||||
| //!             height: 10,
 | ||||
| //!             position: 321,
 | ||||
| //!         },
 | ||||
| //!     )
 | ||||
| //!     .unwrap();
 | ||||
| //!
 | ||||
| //! // transactions are ordered correctly
 | ||||
| //! assert_eq!(
 | ||||
| //!     chain.txids().collect::<Vec<_>>(),
 | ||||
| //!     vec![
 | ||||
| //!         &(TxPosition::Confirmed{ height: 9, position: 1234 }, txid_2),
 | ||||
| //!         &(TxPosition::Confirmed{ height: 9, position: 4321 }, txid_1),
 | ||||
| //!         &(TxPosition::Confirmed{ height: 10, position: 321 }, txid_3),
 | ||||
| //!         &(
 | ||||
| //!             TxPosition::Confirmed {
 | ||||
| //!                 height: 9,
 | ||||
| //!                 position: 1234
 | ||||
| //!             },
 | ||||
| //!             txid_2
 | ||||
| //!         ),
 | ||||
| //!         &(
 | ||||
| //!             TxPosition::Confirmed {
 | ||||
| //!                 height: 9,
 | ||||
| //!                 position: 4321
 | ||||
| //!             },
 | ||||
| //!             txid_1
 | ||||
| //!         ),
 | ||||
| //!         &(
 | ||||
| //!             TxPosition::Confirmed {
 | ||||
| //!                 height: 10,
 | ||||
| //!                 position: 321
 | ||||
| //!             },
 | ||||
| //!             txid_3
 | ||||
| //!         ),
 | ||||
| //!     ],
 | ||||
| //! );
 | ||||
| //!
 | ||||
| //! ```
 | ||||
| use core::{ | ||||
|     fmt::Debug, | ||||
| @ -853,7 +950,7 @@ impl<P: ChainPosition> SparseChain<P> { | ||||
|             .iter() | ||||
|             .filter(|(&txid, pos)| { | ||||
|                 pos.is_some() /*it was not a deletion*/ && | ||||
|                 self.tx_position(txid).is_none() /*we don't have the txid already*/ | ||||
|                 self.tx_position(txid).is_none() /* we don't have the txid already */ | ||||
|             }) | ||||
|             .map(|(&txid, _)| txid) | ||||
|     } | ||||
|  | ||||
| @ -195,11 +195,11 @@ impl<I: Clone + Ord> SpkTxOutIndex<I> { | ||||
|     /// # use bdk_chain::SpkTxOutIndex;
 | ||||
|     ///
 | ||||
|     /// // imagine our spks are indexed like (keychain, derivation_index).
 | ||||
|     /// let txout_index = SpkTxOutIndex::<(u32,u32)>::default();
 | ||||
|     /// let txout_index = SpkTxOutIndex::<(u32, u32)>::default();
 | ||||
|     /// let all_unused_spks = txout_index.unused_spks(..);
 | ||||
|     /// let change_index = 1;
 | ||||
|     /// let unused_change_spks = txout_index
 | ||||
|     ///     .unused_spks((change_index, u32::MIN)..(change_index, u32::MAX));
 | ||||
|     /// let unused_change_spks =
 | ||||
|     ///     txout_index.unused_spks((change_index, u32::MIN)..(change_index, u32::MAX));
 | ||||
|     /// ```
 | ||||
|     pub fn unused_spks<R>(&self, range: R) -> impl DoubleEndedIterator<Item = (&I, &Script)> | ||||
|     where | ||||
|  | ||||
| @ -52,7 +52,6 @@ | ||||
| //! let additions = graph.apply_update(update);
 | ||||
| //! assert!(additions.is_empty());
 | ||||
| //! ```
 | ||||
| //!
 | ||||
| use crate::{collections::*, AsTransaction, ForEachTxOut, IntoOwned}; | ||||
| use alloc::vec::Vec; | ||||
| use bitcoin::{OutPoint, Transaction, TxOut, Txid}; | ||||
|  | ||||
| @ -5,11 +5,11 @@ use bdk_chain::{ | ||||
| }; | ||||
| use bdk_file_store::{FileError, IterError, KeychainStore, MAGIC_BYTES, MAGIC_BYTES_LEN}; | ||||
| use serde; | ||||
| use tempfile::NamedTempFile; | ||||
| use std::{ | ||||
|     io::{Read, Write}, | ||||
|     vec::Vec, | ||||
| }; | ||||
| use tempfile::NamedTempFile; | ||||
| #[derive(
 | ||||
|     Debug, Clone, Copy, PartialOrd, Ord, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, | ||||
| )] | ||||
| @ -49,8 +49,7 @@ fn new_fails_if_magic_bytes_are_invalid() { | ||||
|     let invalid_magic_bytes = "ldkfs0000000"; | ||||
| 
 | ||||
|     let mut file = NamedTempFile::new().unwrap(); | ||||
|     file | ||||
|         .write_all(invalid_magic_bytes.as_bytes()) | ||||
|     file.write_all(invalid_magic_bytes.as_bytes()) | ||||
|         .expect("should write"); | ||||
| 
 | ||||
|     match KeychainStore::<TestKeychain, TxHeight, Transaction>::new(file.reopen().unwrap()) { | ||||
| @ -83,8 +82,9 @@ fn append_changeset_truncates_invalid_bytes() { | ||||
|     let mut file = NamedTempFile::new().unwrap(); | ||||
|     file.write_all(&data).expect("should write"); | ||||
| 
 | ||||
|     let mut store = KeychainStore::<TestKeychain, TxHeight, Transaction>::new(file.reopen().unwrap()) | ||||
|         .expect("should open"); | ||||
|     let mut store = | ||||
|         KeychainStore::<TestKeychain, TxHeight, Transaction>::new(file.reopen().unwrap()) | ||||
|             .expect("should open"); | ||||
|     match store.iter_changesets().expect("seek should succeed").next() { | ||||
|         Some(Err(IterError::Bincode(_))) => {} | ||||
|         unexpected_res => panic!("unexpected result: {:?}", unexpected_res), | ||||
| @ -96,7 +96,10 @@ fn append_changeset_truncates_invalid_bytes() { | ||||
| 
 | ||||
|     let got_bytes = { | ||||
|         let mut buf = Vec::new(); | ||||
|         file.reopen().unwrap().read_to_end(&mut buf).expect("should read"); | ||||
|         file.reopen() | ||||
|             .unwrap() | ||||
|             .read_to_end(&mut buf) | ||||
|             .expect("should read"); | ||||
|         buf | ||||
|     }; | ||||
| 
 | ||||
|  | ||||
| @ -35,7 +35,7 @@ pub struct PlanKey<Ak> { | ||||
| impl<Ak> TemplateItem<Ak> { | ||||
|     pub fn expected_size(&self) -> usize { | ||||
|         match self { | ||||
|             TemplateItem::Sign { .. } => 64, /*size of sig TODO: take into consideration sighash falg*/ | ||||
|             TemplateItem::Sign { .. } => 64, /* size of sig TODO: take into consideration sighash falg */ | ||||
|             TemplateItem::Pk { .. } => 32, | ||||
|             TemplateItem::One => varint_len(1), | ||||
|             TemplateItem::Zero => 0, /* zero means an empty witness element */ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user