mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 22:11:06 +00:00
Run cargo fmt on the whole code base (#9394)
* Run cargo fmt on the whole code base * Second run * Add CI check * Fix compilation * More unnecessary braces * Handle weights * Use --all * Use correct attributes... * Fix UI tests * AHHHHHHHHH * 🤦 * Docs * Fix compilation * 🤷 * Please stop * 🤦 x 2 * More * make rustfmt.toml consistent with polkadot Co-authored-by: André Silva <andrerfosilva@gmail.com>
This commit is contained in:
@@ -17,29 +17,33 @@
|
||||
|
||||
//! Trie-based state machine backend.
|
||||
|
||||
use crate::{warn, debug};
|
||||
use hash_db::Hasher;
|
||||
use sp_trie::{Trie, delta_trie_root, empty_child_trie_root, child_delta_trie_root};
|
||||
use sp_trie::trie_types::{TrieDB, TrieError, Layout};
|
||||
use sp_core::storage::{ChildInfo, ChildType};
|
||||
use codec::{Codec, Decode};
|
||||
use crate::{
|
||||
StorageKey, StorageValue, Backend,
|
||||
trie_backend_essence::{TrieBackendEssence, TrieBackendStorage, Ephemeral},
|
||||
debug,
|
||||
trie_backend_essence::{Ephemeral, TrieBackendEssence, TrieBackendStorage},
|
||||
warn, Backend, StorageKey, StorageValue,
|
||||
};
|
||||
use codec::{Codec, Decode};
|
||||
use hash_db::Hasher;
|
||||
use sp_core::storage::{ChildInfo, ChildType};
|
||||
use sp_std::{boxed::Box, vec::Vec};
|
||||
use sp_trie::{
|
||||
child_delta_trie_root, delta_trie_root, empty_child_trie_root,
|
||||
trie_types::{Layout, TrieDB, TrieError},
|
||||
Trie,
|
||||
};
|
||||
|
||||
/// Patricia trie-based backend. Transaction type is an overlay of changes to commit.
|
||||
pub struct TrieBackend<S: TrieBackendStorage<H>, H: Hasher> {
|
||||
pub (crate) essence: TrieBackendEssence<S, H>,
|
||||
pub(crate) essence: TrieBackendEssence<S, H>,
|
||||
}
|
||||
|
||||
impl<S: TrieBackendStorage<H>, H: Hasher> TrieBackend<S, H> where H::Out: Codec {
|
||||
impl<S: TrieBackendStorage<H>, H: Hasher> TrieBackend<S, H>
|
||||
where
|
||||
H::Out: Codec,
|
||||
{
|
||||
/// Create new trie-based backend.
|
||||
pub fn new(storage: S, root: H::Out) -> Self {
|
||||
TrieBackend {
|
||||
essence: TrieBackendEssence::new(storage, root),
|
||||
}
|
||||
TrieBackend { essence: TrieBackendEssence::new(storage, root) }
|
||||
}
|
||||
|
||||
/// Get backend essence reference.
|
||||
@@ -74,7 +78,8 @@ impl<S: TrieBackendStorage<H>, H: Hasher> sp_std::fmt::Debug for TrieBackend<S,
|
||||
}
|
||||
}
|
||||
|
||||
impl<S: TrieBackendStorage<H>, H: Hasher> Backend<H> for TrieBackend<S, H> where
|
||||
impl<S: TrieBackendStorage<H>, H: Hasher> Backend<H> for TrieBackend<S, H>
|
||||
where
|
||||
H::Out: Ord + Codec,
|
||||
{
|
||||
type Error = crate::DefaultError;
|
||||
@@ -121,7 +126,8 @@ impl<S: TrieBackendStorage<H>, H: Hasher> Backend<H> for TrieBackend<S, H> where
|
||||
f: F,
|
||||
allow_missing: bool,
|
||||
) -> Result<bool, Self::Error> {
|
||||
self.essence.apply_to_key_values_while(child_info, prefix, start_at, f, allow_missing)
|
||||
self.essence
|
||||
.apply_to_key_values_while(child_info, prefix, start_at, f, allow_missing)
|
||||
}
|
||||
|
||||
fn apply_to_keys_while<F: FnMut(&[u8]) -> bool>(
|
||||
@@ -159,7 +165,7 @@ impl<S: TrieBackendStorage<H>, H: Hasher> Backend<H> for TrieBackend<S, H> where
|
||||
Err(e) => {
|
||||
debug!(target: "trie", "Error extracting trie values: {}", e);
|
||||
Vec::new()
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,21 +183,23 @@ impl<S: TrieBackendStorage<H>, H: Hasher> Backend<H> for TrieBackend<S, H> where
|
||||
Ok(v)
|
||||
};
|
||||
|
||||
collect_all().map_err(|e| debug!(target: "trie", "Error extracting trie keys: {}", e)).unwrap_or_default()
|
||||
collect_all()
|
||||
.map_err(|e| debug!(target: "trie", "Error extracting trie keys: {}", e))
|
||||
.unwrap_or_default()
|
||||
}
|
||||
|
||||
fn storage_root<'a>(
|
||||
&self,
|
||||
delta: impl Iterator<Item=(&'a [u8], Option<&'a [u8]>)>,
|
||||
) -> (H::Out, Self::Transaction) where H::Out: Ord {
|
||||
delta: impl Iterator<Item = (&'a [u8], Option<&'a [u8]>)>,
|
||||
) -> (H::Out, Self::Transaction)
|
||||
where
|
||||
H::Out: Ord,
|
||||
{
|
||||
let mut write_overlay = S::Overlay::default();
|
||||
let mut root = *self.essence.root();
|
||||
|
||||
{
|
||||
let mut eph = Ephemeral::new(
|
||||
self.essence.backend_storage(),
|
||||
&mut write_overlay,
|
||||
);
|
||||
let mut eph = Ephemeral::new(self.essence.backend_storage(), &mut write_overlay);
|
||||
|
||||
match delta_trie_root::<Layout<H>, _, _, _, _, _>(&mut eph, root, delta) {
|
||||
Ok(ret) => root = ret,
|
||||
@@ -205,17 +213,21 @@ impl<S: TrieBackendStorage<H>, H: Hasher> Backend<H> for TrieBackend<S, H> where
|
||||
fn child_storage_root<'a>(
|
||||
&self,
|
||||
child_info: &ChildInfo,
|
||||
delta: impl Iterator<Item=(&'a [u8], Option<&'a [u8]>)>,
|
||||
) -> (H::Out, bool, Self::Transaction) where H::Out: Ord {
|
||||
delta: impl Iterator<Item = (&'a [u8], Option<&'a [u8]>)>,
|
||||
) -> (H::Out, bool, Self::Transaction)
|
||||
where
|
||||
H::Out: Ord,
|
||||
{
|
||||
let default_root = match child_info.child_type() {
|
||||
ChildType::ParentKeyId => empty_child_trie_root::<Layout<H>>()
|
||||
ChildType::ParentKeyId => empty_child_trie_root::<Layout<H>>(),
|
||||
};
|
||||
|
||||
let mut write_overlay = S::Overlay::default();
|
||||
let prefixed_storage_key = child_info.prefixed_storage_key();
|
||||
let mut root = match self.storage(prefixed_storage_key.as_slice()) {
|
||||
Ok(value) =>
|
||||
value.and_then(|r| Decode::decode(&mut &r[..]).ok()).unwrap_or_else(|| default_root.clone()),
|
||||
Ok(value) => value
|
||||
.and_then(|r| Decode::decode(&mut &r[..]).ok())
|
||||
.unwrap_or_else(|| default_root.clone()),
|
||||
Err(e) => {
|
||||
warn!(target: "trie", "Failed to read child storage root: {}", e);
|
||||
default_root.clone()
|
||||
@@ -223,10 +235,7 @@ impl<S: TrieBackendStorage<H>, H: Hasher> Backend<H> for TrieBackend<S, H> where
|
||||
};
|
||||
|
||||
{
|
||||
let mut eph = Ephemeral::new(
|
||||
self.essence.backend_storage(),
|
||||
&mut write_overlay,
|
||||
);
|
||||
let mut eph = Ephemeral::new(self.essence.backend_storage(), &mut write_overlay);
|
||||
|
||||
match child_delta_trie_root::<Layout<H>, _, _, _, _, _, _>(
|
||||
child_info.keyspace(),
|
||||
@@ -248,7 +257,7 @@ impl<S: TrieBackendStorage<H>, H: Hasher> Backend<H> for TrieBackend<S, H> where
|
||||
Some(self)
|
||||
}
|
||||
|
||||
fn register_overlay_stats(&self, _stats: &crate::stats::StateMachineStats) { }
|
||||
fn register_overlay_stats(&self, _stats: &crate::stats::StateMachineStats) {}
|
||||
|
||||
fn usage_info(&self) -> crate::UsageInfo {
|
||||
crate::UsageInfo::empty()
|
||||
@@ -261,12 +270,12 @@ impl<S: TrieBackendStorage<H>, H: Hasher> Backend<H> for TrieBackend<S, H> where
|
||||
|
||||
#[cfg(test)]
|
||||
pub mod tests {
|
||||
use std::{collections::HashSet, iter};
|
||||
use sp_core::H256;
|
||||
use codec::Encode;
|
||||
use sp_trie::{TrieMut, PrefixedMemoryDB, trie_types::TrieDBMut, KeySpacedDBMut};
|
||||
use sp_runtime::traits::BlakeTwo256;
|
||||
use super::*;
|
||||
use codec::Encode;
|
||||
use sp_core::H256;
|
||||
use sp_runtime::traits::BlakeTwo256;
|
||||
use sp_trie::{trie_types::TrieDBMut, KeySpacedDBMut, PrefixedMemoryDB, TrieMut};
|
||||
use std::{collections::HashSet, iter};
|
||||
|
||||
const CHILD_KEY_1: &[u8] = b"sub1";
|
||||
|
||||
@@ -312,7 +321,9 @@ pub mod tests {
|
||||
fn read_from_child_storage_returns_some() {
|
||||
let test_trie = test_trie();
|
||||
assert_eq!(
|
||||
test_trie.child_storage(&ChildInfo::new_default(CHILD_KEY_1), b"value3").unwrap(),
|
||||
test_trie
|
||||
.child_storage(&ChildInfo::new_default(CHILD_KEY_1), b"value3")
|
||||
.unwrap(),
|
||||
Some(vec![142u8]),
|
||||
);
|
||||
}
|
||||
@@ -332,7 +343,9 @@ pub mod tests {
|
||||
assert!(TrieBackend::<PrefixedMemoryDB<BlakeTwo256>, BlakeTwo256>::new(
|
||||
PrefixedMemoryDB::default(),
|
||||
Default::default(),
|
||||
).pairs().is_empty());
|
||||
)
|
||||
.pairs()
|
||||
.is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -347,9 +360,8 @@ pub mod tests {
|
||||
|
||||
#[test]
|
||||
fn storage_root_transaction_is_non_empty() {
|
||||
let (new_root, mut tx) = test_trie().storage_root(
|
||||
iter::once((&b"new-key"[..], Some(&b"new-value"[..]))),
|
||||
);
|
||||
let (new_root, mut tx) =
|
||||
test_trie().storage_root(iter::once((&b"new-key"[..], Some(&b"new-value"[..]))));
|
||||
assert!(!tx.drain().is_empty());
|
||||
assert!(new_root != test_trie().storage_root(iter::empty()).0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user