diff --git a/src/blockchain/compact_filters/store.rs b/src/blockchain/compact_filters/store.rs index 5e278f24..3b879194 100644 --- a/src/blockchain/compact_filters/store.rs +++ b/src/blockchain/compact_filters/store.rs @@ -119,7 +119,7 @@ where } fn deserialize(data: &[u8]) -> Result { - Ok(deserialize(data).map_err(|_| CompactFiltersError::DataCorruption)?) + deserialize(data).map_err(|_| CompactFiltersError::DataCorruption) } } @@ -436,15 +436,14 @@ impl ChainStore { let key = StoreEntry::BlockHeaderIndex(Some(*block_hash)).get_key(); let data = read_store.get_pinned_cf(cf_handle, key)?; - Ok(data - .map(|data| { - Ok::<_, CompactFiltersError>(usize::from_be_bytes( - data.as_ref() - .try_into() - .map_err(|_| CompactFiltersError::DataCorruption)?, - )) - }) - .transpose()?) + data.map(|data| { + Ok::<_, CompactFiltersError>(usize::from_be_bytes( + data.as_ref() + .try_into() + .map_err(|_| CompactFiltersError::DataCorruption)?, + )) + }) + .transpose() } pub fn get_block_hash(&self, height: usize) -> Result, CompactFiltersError> { @@ -453,13 +452,12 @@ impl ChainStore { let key = StoreEntry::BlockHeader(Some(height)).get_key(); let data = read_store.get_pinned_cf(cf_handle, key)?; - Ok(data - .map(|data| { - let (header, _): (BlockHeader, Uint256) = - deserialize(&data).map_err(|_| CompactFiltersError::DataCorruption)?; - Ok::<_, CompactFiltersError>(header.block_hash()) - }) - .transpose()?) + data.map(|data| { + let (header, _): (BlockHeader, Uint256) = + deserialize(&data).map_err(|_| CompactFiltersError::DataCorruption)?; + Ok::<_, CompactFiltersError>(header.block_hash()) + }) + .transpose() } pub fn save_full_block(&self, block: &Block, height: usize) -> Result<(), CompactFiltersError> { @@ -475,10 +473,10 @@ impl ChainStore { let key = StoreEntry::Block(Some(height)).get_key(); let opt_block = read_store.get_pinned(key)?; - Ok(opt_block + opt_block .map(|data| deserialize(&data)) .transpose() - .map_err(|_| CompactFiltersError::DataCorruption)?) + .map_err(|_| CompactFiltersError::DataCorruption) } pub fn delete_blocks_until(&self, height: usize) -> Result<(), CompactFiltersError> { @@ -565,14 +563,14 @@ impl ChainStore { let prefix = StoreEntry::BlockHeader(None).get_key(); let iterator = read_store.prefix_iterator_cf(cf_handle, prefix); - Ok(iterator + iterator .last() .map(|(_, v)| -> Result<_, CompactFiltersError> { let (header, _): (BlockHeader, Uint256) = SerializeDb::deserialize(&v)?; Ok(header.block_hash()) }) - .transpose()?) + .transpose() } pub fn apply( @@ -716,11 +714,11 @@ impl CFStore { // FIXME: we have to filter manually because rocksdb sometimes returns stuff that doesn't // have the right prefix - Ok(iterator + iterator .filter(|(k, _)| k.starts_with(&prefix)) .skip(1) .map(|(_, data)| Ok::<_, CompactFiltersError>(BundleEntry::deserialize(&data)?.1)) - .collect::>()?) + .collect::>() } pub fn replace_checkpoints( diff --git a/src/descriptor/template.rs b/src/descriptor/template.rs index 14c3aef7..8ad9eaf7 100644 --- a/src/descriptor/template.rs +++ b/src/descriptor/template.rs @@ -75,7 +75,7 @@ impl IntoWalletDescriptor for T { secp: &SecpCtx, network: Network, ) -> Result<(ExtendedDescriptor, KeyMap), DescriptorError> { - Ok(self.build()?.into_wallet_descriptor(secp, network)?) + self.build()?.into_wallet_descriptor(secp, network) } } @@ -108,7 +108,7 @@ pub struct P2PKH>(pub K); impl> DescriptorTemplate for P2PKH { fn build(self) -> Result { - Ok(descriptor!(pkh(self.0))?) + descriptor!(pkh(self.0)) } } @@ -142,7 +142,7 @@ pub struct P2WPKH_P2SH>(pub K); impl> DescriptorTemplate for P2WPKH_P2SH { fn build(self) -> Result { - Ok(descriptor!(sh(wpkh(self.0)))?) + descriptor!(sh(wpkh(self.0))) } } @@ -175,7 +175,7 @@ pub struct P2WPKH>(pub K); impl> DescriptorTemplate for P2WPKH { fn build(self) -> Result { - Ok(descriptor!(wpkh(self.0))?) + descriptor!(wpkh(self.0)) } } @@ -210,7 +210,7 @@ pub struct BIP44>(pub K, pub KeychainKind); impl> DescriptorTemplate for BIP44 { fn build(self) -> Result { - Ok(P2PKH(legacy::make_bipxx_private(44, self.0, self.1)?).build()?) + P2PKH(legacy::make_bipxx_private(44, self.0, self.1)?).build() } } @@ -249,7 +249,7 @@ pub struct BIP44Public>(pub K, pub bip32::Fingerprint, p impl> DescriptorTemplate for BIP44Public { fn build(self) -> Result { - Ok(P2PKH(legacy::make_bipxx_public(44, self.0, self.1, self.2)?).build()?) + P2PKH(legacy::make_bipxx_public(44, self.0, self.1, self.2)?).build() } } @@ -284,7 +284,7 @@ pub struct BIP49>(pub K, pub KeychainKind); impl> DescriptorTemplate for BIP49 { fn build(self) -> Result { - Ok(P2WPKH_P2SH(segwit_v0::make_bipxx_private(49, self.0, self.1)?).build()?) + P2WPKH_P2SH(segwit_v0::make_bipxx_private(49, self.0, self.1)?).build() } } @@ -323,7 +323,7 @@ pub struct BIP49Public>(pub K, pub bip32::Fingerprint, impl> DescriptorTemplate for BIP49Public { fn build(self) -> Result { - Ok(P2WPKH_P2SH(segwit_v0::make_bipxx_public(49, self.0, self.1, self.2)?).build()?) + P2WPKH_P2SH(segwit_v0::make_bipxx_public(49, self.0, self.1, self.2)?).build() } } @@ -358,7 +358,7 @@ pub struct BIP84>(pub K, pub KeychainKind); impl> DescriptorTemplate for BIP84 { fn build(self) -> Result { - Ok(P2WPKH(segwit_v0::make_bipxx_private(84, self.0, self.1)?).build()?) + P2WPKH(segwit_v0::make_bipxx_private(84, self.0, self.1)?).build() } } @@ -397,7 +397,7 @@ pub struct BIP84Public>(pub K, pub bip32::Fingerprint, impl> DescriptorTemplate for BIP84Public { fn build(self) -> Result { - Ok(P2WPKH(segwit_v0::make_bipxx_public(84, self.0, self.1, self.2)?).build()?) + P2WPKH(segwit_v0::make_bipxx_public(84, self.0, self.1, self.2)?).build() } } diff --git a/src/keys/mod.rs b/src/keys/mod.rs index 0ce5d128..6edb419c 100644 --- a/src/keys/mod.rs +++ b/src/keys/mod.rs @@ -733,7 +733,7 @@ fn expand_multi_keys, Ctx: ScriptContext>( ) -> Result<(Vec, KeyMap, ValidNetworks), KeyError> { let (pks, key_maps_networks): (Vec<_>, Vec<_>) = pks .into_iter() - .map(|key| Ok::<_, KeyError>(key.into_descriptor_key()?.extract(secp)?)) + .map(|key| key.into_descriptor_key()?.extract(secp)) .collect::, _>>()? .into_iter() .map(|(a, b, c)| (a, (b, c)))