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:
parent
cb3b8cf21b
commit
24df438607
@ -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(
|
||||||
|
@ -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()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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)))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user