Remove useless question mark operator

Clippy emits:

  warning: Question mark operator is useless here

No need to use the `?` operator inside an `Ok()` statement when
returning, just return directly.
This commit is contained in:
Tobin Harding 2021-02-10 10:20:06 +11:00
parent cb3b8cf21b
commit 24df438607
No known key found for this signature in database
GPG Key ID: 40BF9E4C269D6607
3 changed files with 32 additions and 34 deletions

View File

@ -119,7 +119,7 @@ where
} }
fn deserialize(data: &[u8]) -> Result<Self, CompactFiltersError> { fn deserialize(data: &[u8]) -> Result<Self, CompactFiltersError> {
Ok(deserialize(data).map_err(|_| CompactFiltersError::DataCorruption)?) deserialize(data).map_err(|_| CompactFiltersError::DataCorruption)
} }
} }
@ -436,15 +436,14 @@ impl ChainStore<Full> {
let key = StoreEntry::BlockHeaderIndex(Some(*block_hash)).get_key(); let key = StoreEntry::BlockHeaderIndex(Some(*block_hash)).get_key();
let data = read_store.get_pinned_cf(cf_handle, key)?; let data = read_store.get_pinned_cf(cf_handle, key)?;
Ok(data data.map(|data| {
.map(|data| { Ok::<_, CompactFiltersError>(usize::from_be_bytes(
Ok::<_, CompactFiltersError>(usize::from_be_bytes( data.as_ref()
data.as_ref() .try_into()
.try_into() .map_err(|_| CompactFiltersError::DataCorruption)?,
.map_err(|_| CompactFiltersError::DataCorruption)?, ))
)) })
}) .transpose()
.transpose()?)
} }
pub fn get_block_hash(&self, height: usize) -> Result<Option<BlockHash>, CompactFiltersError> { pub fn get_block_hash(&self, height: usize) -> Result<Option<BlockHash>, CompactFiltersError> {
@ -453,13 +452,12 @@ impl ChainStore<Full> {
let key = StoreEntry::BlockHeader(Some(height)).get_key(); let key = StoreEntry::BlockHeader(Some(height)).get_key();
let data = read_store.get_pinned_cf(cf_handle, key)?; let data = read_store.get_pinned_cf(cf_handle, key)?;
Ok(data data.map(|data| {
.map(|data| { let (header, _): (BlockHeader, Uint256) =
let (header, _): (BlockHeader, Uint256) = deserialize(&data).map_err(|_| CompactFiltersError::DataCorruption)?;
deserialize(&data).map_err(|_| CompactFiltersError::DataCorruption)?; Ok::<_, CompactFiltersError>(header.block_hash())
Ok::<_, CompactFiltersError>(header.block_hash()) })
}) .transpose()
.transpose()?)
} }
pub fn save_full_block(&self, block: &Block, height: usize) -> Result<(), CompactFiltersError> { pub fn save_full_block(&self, block: &Block, height: usize) -> Result<(), CompactFiltersError> {
@ -475,10 +473,10 @@ impl ChainStore<Full> {
let key = StoreEntry::Block(Some(height)).get_key(); let key = StoreEntry::Block(Some(height)).get_key();
let opt_block = read_store.get_pinned(key)?; let opt_block = read_store.get_pinned(key)?;
Ok(opt_block opt_block
.map(|data| deserialize(&data)) .map(|data| deserialize(&data))
.transpose() .transpose()
.map_err(|_| CompactFiltersError::DataCorruption)?) .map_err(|_| CompactFiltersError::DataCorruption)
} }
pub fn delete_blocks_until(&self, height: usize) -> Result<(), CompactFiltersError> { pub fn delete_blocks_until(&self, height: usize) -> Result<(), CompactFiltersError> {
@ -565,14 +563,14 @@ impl<T: StoreType> ChainStore<T> {
let prefix = StoreEntry::BlockHeader(None).get_key(); let prefix = StoreEntry::BlockHeader(None).get_key();
let iterator = read_store.prefix_iterator_cf(cf_handle, prefix); let iterator = read_store.prefix_iterator_cf(cf_handle, prefix);
Ok(iterator iterator
.last() .last()
.map(|(_, v)| -> Result<_, CompactFiltersError> { .map(|(_, v)| -> Result<_, CompactFiltersError> {
let (header, _): (BlockHeader, Uint256) = SerializeDb::deserialize(&v)?; let (header, _): (BlockHeader, Uint256) = SerializeDb::deserialize(&v)?;
Ok(header.block_hash()) Ok(header.block_hash())
}) })
.transpose()?) .transpose()
} }
pub fn apply( pub fn apply(
@ -716,11 +714,11 @@ impl CFStore {
// FIXME: we have to filter manually because rocksdb sometimes returns stuff that doesn't // FIXME: we have to filter manually because rocksdb sometimes returns stuff that doesn't
// have the right prefix // have the right prefix
Ok(iterator iterator
.filter(|(k, _)| k.starts_with(&prefix)) .filter(|(k, _)| k.starts_with(&prefix))
.skip(1) .skip(1)
.map(|(_, data)| Ok::<_, CompactFiltersError>(BundleEntry::deserialize(&data)?.1)) .map(|(_, data)| Ok::<_, CompactFiltersError>(BundleEntry::deserialize(&data)?.1))
.collect::<Result<_, _>>()?) .collect::<Result<_, _>>()
} }
pub fn replace_checkpoints( pub fn replace_checkpoints(

View File

@ -75,7 +75,7 @@ impl<T: DescriptorTemplate> IntoWalletDescriptor for T {
secp: &SecpCtx, secp: &SecpCtx,
network: Network, network: Network,
) -> Result<(ExtendedDescriptor, KeyMap), DescriptorError> { ) -> 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<K: IntoDescriptorKey<Legacy>>(pub K);
impl<K: IntoDescriptorKey<Legacy>> DescriptorTemplate for P2PKH<K> { impl<K: IntoDescriptorKey<Legacy>> DescriptorTemplate for P2PKH<K> {
fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> { fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> {
Ok(descriptor!(pkh(self.0))?) descriptor!(pkh(self.0))
} }
} }
@ -142,7 +142,7 @@ pub struct P2WPKH_P2SH<K: IntoDescriptorKey<Segwitv0>>(pub K);
impl<K: IntoDescriptorKey<Segwitv0>> DescriptorTemplate for P2WPKH_P2SH<K> { impl<K: IntoDescriptorKey<Segwitv0>> DescriptorTemplate for P2WPKH_P2SH<K> {
fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> { fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> {
Ok(descriptor!(sh(wpkh(self.0)))?) descriptor!(sh(wpkh(self.0)))
} }
} }
@ -175,7 +175,7 @@ pub struct P2WPKH<K: IntoDescriptorKey<Segwitv0>>(pub K);
impl<K: IntoDescriptorKey<Segwitv0>> DescriptorTemplate for P2WPKH<K> { impl<K: IntoDescriptorKey<Segwitv0>> DescriptorTemplate for P2WPKH<K> {
fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> { fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> {
Ok(descriptor!(wpkh(self.0))?) descriptor!(wpkh(self.0))
} }
} }
@ -210,7 +210,7 @@ pub struct BIP44<K: DerivableKey<Legacy>>(pub K, pub KeychainKind);
impl<K: DerivableKey<Legacy>> DescriptorTemplate for BIP44<K> { impl<K: DerivableKey<Legacy>> DescriptorTemplate for BIP44<K> {
fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> { fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> {
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<K: DerivableKey<Legacy>>(pub K, pub bip32::Fingerprint, p
impl<K: DerivableKey<Legacy>> DescriptorTemplate for BIP44Public<K> { impl<K: DerivableKey<Legacy>> DescriptorTemplate for BIP44Public<K> {
fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> { fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> {
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<K: DerivableKey<Segwitv0>>(pub K, pub KeychainKind);
impl<K: DerivableKey<Segwitv0>> DescriptorTemplate for BIP49<K> { impl<K: DerivableKey<Segwitv0>> DescriptorTemplate for BIP49<K> {
fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> { fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> {
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<K: DerivableKey<Segwitv0>>(pub K, pub bip32::Fingerprint,
impl<K: DerivableKey<Segwitv0>> DescriptorTemplate for BIP49Public<K> { impl<K: DerivableKey<Segwitv0>> DescriptorTemplate for BIP49Public<K> {
fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> { fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> {
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<K: DerivableKey<Segwitv0>>(pub K, pub KeychainKind);
impl<K: DerivableKey<Segwitv0>> DescriptorTemplate for BIP84<K> { impl<K: DerivableKey<Segwitv0>> DescriptorTemplate for BIP84<K> {
fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> { fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> {
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<K: DerivableKey<Segwitv0>>(pub K, pub bip32::Fingerprint,
impl<K: DerivableKey<Segwitv0>> DescriptorTemplate for BIP84Public<K> { impl<K: DerivableKey<Segwitv0>> DescriptorTemplate for BIP84Public<K> {
fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> { fn build(self) -> Result<DescriptorTemplateOut, DescriptorError> {
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()
} }
} }

View File

@ -733,7 +733,7 @@ fn expand_multi_keys<Pk: IntoDescriptorKey<Ctx>, Ctx: ScriptContext>(
) -> Result<(Vec<DescriptorPublicKey>, KeyMap, ValidNetworks), KeyError> { ) -> Result<(Vec<DescriptorPublicKey>, KeyMap, ValidNetworks), KeyError> {
let (pks, key_maps_networks): (Vec<_>, Vec<_>) = pks let (pks, key_maps_networks): (Vec<_>, Vec<_>) = pks
.into_iter() .into_iter()
.map(|key| Ok::<_, KeyError>(key.into_descriptor_key()?.extract(secp)?)) .map(|key| key.into_descriptor_key()?.extract(secp))
.collect::<Result<Vec<_>, _>>()? .collect::<Result<Vec<_>, _>>()?
.into_iter() .into_iter()
.map(|(a, b, c)| (a, (b, c))) .map(|(a, b, c)| (a, (b, c)))