//! # Ok::<_, Box<dyn std::error::Error>>(())
//! ```
-use alloc::string::{String, ToString};
+use alloc::string::String;
+use core::fmt;
use core::str::FromStr;
use serde::{Deserialize, Serialize};
pub label: String,
}
-impl ToString for FullyNodedExport {
- fn to_string(&self) -> String {
- serde_json::to_string(self).unwrap()
+impl fmt::Display for FullyNodedExport {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(f, "{}", serde_json::to_string(self).unwrap())
}
}
mod test {
use core::str::FromStr;
+ use crate::std::string::ToString;
use bdk_chain::{BlockId, ConfirmationTime};
use bitcoin::hashes::Hash;
use bitcoin::{transaction, BlockHash, Network, Transaction};
fn next(&mut self) -> Option<Self::Item> {
let current = self.current.clone()?;
- self.current = current.prev.clone();
+ self.current.clone_from(¤t.prev);
Some(CheckPoint(current))
}
}
/// The [`BTreeMap`] enforces the height order. However, the caller must ensure the blocks are
/// all of the same chain.
pub fn from_blocks(blocks: BTreeMap<u32, BlockHash>) -> Result<Self, MissingGenesisError> {
- if blocks.get(&0).is_none() {
+ if !blocks.contains_key(&0) {
return Err(MissingGenesisError);
}
spks: impl IntoIterator<IntoIter = impl Iterator<Item = (u32, ScriptBuf)> + Send + 'static>,
) -> Self {
match self.spks_by_keychain.remove(&keychain) {
+ // clippy here suggests to remove `into_iter` from `spks.into_iter()`, but doing so
+ // results in a compilation error
+ #[allow(clippy::useless_conversion)]
Some(keychain_spks) => self
.spks_by_keychain
.insert(keychain, Box::new(keychain_spks.chain(spks.into_iter()))),
}
// The following dummy traits were created to test if SpkIterator is working properly.
+ #[allow(unused)]
trait TestSendStatic: Send + 'static {
fn test(&self) -> u32 {
20
/// Here, "unused" means that after the script pubkey was stored in the index, the index has
/// never scanned a transaction output with it.
pub fn is_used(&self, index: &I) -> bool {
- self.unused.get(index).is_none()
+ !self.unused.contains(index)
}
/// Marks the script pubkey at `index` as used even though it hasn't seen an output spending to it.