mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 03:01:07 +00:00
Less slices (#9176)
* Less slices Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
This commit is contained in:
@@ -29,9 +29,6 @@
|
||||
|
||||
use sp_std::vec::Vec;
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
use sp_std::ops::Deref;
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
use tracing;
|
||||
|
||||
@@ -990,7 +987,7 @@ pub trait Offchain {
|
||||
.local_storage_compare_and_set(
|
||||
kind,
|
||||
key,
|
||||
old_value.as_ref().map(|v| v.deref()),
|
||||
old_value.as_deref(),
|
||||
new_value,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ fn encode_with_vec_prefix<T: Encode, F: Fn(&mut Vec<u8>)>(encoder: F) -> Vec<u8>
|
||||
let size = ::sp_std::mem::size_of::<T>();
|
||||
let reserve = match size {
|
||||
0..=0b00111111 => 1,
|
||||
0..=0b00111111_11111111 => 2,
|
||||
0b01000000..=0b00111111_11111111 => 2,
|
||||
_ => 4,
|
||||
};
|
||||
let mut v = Vec::with_capacity(reserve + size);
|
||||
|
||||
@@ -207,7 +207,7 @@ pub trait Backend<H: Hasher>: sp_std::fmt::Debug {
|
||||
}
|
||||
}
|
||||
let (root, parent_txs) = self.storage_root(delta
|
||||
.map(|(k, v)| (&k[..], v.as_ref().map(|v| &v[..])))
|
||||
.map(|(k, v)| (k, v.as_ref().map(|v| &v[..])))
|
||||
.chain(
|
||||
child_roots
|
||||
.iter()
|
||||
|
||||
@@ -279,22 +279,22 @@ fn prepare_digest_input<'a, H, Number>(
|
||||
trie_root,
|
||||
);
|
||||
|
||||
trie_storage.for_key_values_with_prefix(&child_prefix, |key, value|
|
||||
if let Ok(InputKey::ChildIndex::<Number>(trie_key)) = Decode::decode(&mut &key[..]) {
|
||||
if let Ok(value) = <Vec<u8>>::decode(&mut &value[..]) {
|
||||
trie_storage.for_key_values_with_prefix(&child_prefix, |mut key, mut value|
|
||||
if let Ok(InputKey::ChildIndex::<Number>(trie_key)) = Decode::decode(&mut key) {
|
||||
if let Ok(value) = <Vec<u8>>::decode(&mut value) {
|
||||
let mut trie_root = <H as Hasher>::Out::default();
|
||||
trie_root.as_mut().copy_from_slice(&value[..]);
|
||||
children_roots.insert(trie_key.storage_key, trie_root);
|
||||
}
|
||||
});
|
||||
|
||||
trie_storage.for_keys_with_prefix(&extrinsic_prefix, |key|
|
||||
if let Ok(InputKey::ExtrinsicIndex::<Number>(trie_key)) = Decode::decode(&mut &key[..]) {
|
||||
trie_storage.for_keys_with_prefix(&extrinsic_prefix, |mut key|
|
||||
if let Ok(InputKey::ExtrinsicIndex::<Number>(trie_key)) = Decode::decode(&mut key) {
|
||||
insert_to_map(&mut map, trie_key.key);
|
||||
});
|
||||
|
||||
trie_storage.for_keys_with_prefix(&digest_prefix, |key|
|
||||
if let Ok(InputKey::DigestIndex::<Number>(trie_key)) = Decode::decode(&mut &key[..]) {
|
||||
trie_storage.for_keys_with_prefix(&digest_prefix, |mut key|
|
||||
if let Ok(InputKey::DigestIndex::<Number>(trie_key)) = Decode::decode(&mut key) {
|
||||
insert_to_map(&mut map, trie_key.key);
|
||||
});
|
||||
}
|
||||
@@ -310,13 +310,13 @@ fn prepare_digest_input<'a, H, Number>(
|
||||
crate::changes_trie::TrieBackendStorageAdapter(storage),
|
||||
trie_root,
|
||||
);
|
||||
trie_storage.for_keys_with_prefix(&extrinsic_prefix, |key|
|
||||
if let Ok(InputKey::ExtrinsicIndex::<Number>(trie_key)) = Decode::decode(&mut &key[..]) {
|
||||
trie_storage.for_keys_with_prefix(&extrinsic_prefix, |mut key|
|
||||
if let Ok(InputKey::ExtrinsicIndex::<Number>(trie_key)) = Decode::decode(&mut key) {
|
||||
insert_to_map(&mut map, trie_key.key);
|
||||
});
|
||||
|
||||
trie_storage.for_keys_with_prefix(&digest_prefix, |key|
|
||||
if let Ok(InputKey::DigestIndex::<Number>(trie_key)) = Decode::decode(&mut &key[..]) {
|
||||
trie_storage.for_keys_with_prefix(&digest_prefix, |mut key|
|
||||
if let Ok(InputKey::DigestIndex::<Number>(trie_key)) = Decode::decode(&mut key) {
|
||||
insert_to_map(&mut map, trie_key.key);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -66,9 +66,9 @@ pub fn prune<H: Hasher, Number: BlockNumber, F: FnMut(H::Out)>(
|
||||
);
|
||||
let child_prefix = ChildIndex::key_neutral_prefix(block.clone());
|
||||
let mut children_roots = Vec::new();
|
||||
trie_storage.for_key_values_with_prefix(&child_prefix, |key, value| {
|
||||
if let Ok(InputKey::ChildIndex::<Number>(_trie_key)) = Decode::decode(&mut &key[..]) {
|
||||
if let Ok(value) = <Vec<u8>>::decode(&mut &value[..]) {
|
||||
trie_storage.for_key_values_with_prefix(&child_prefix, |mut key, mut value| {
|
||||
if let Ok(InputKey::ChildIndex::<Number>(_trie_key)) = Decode::decode(&mut key) {
|
||||
if let Ok(value) = <Vec<u8>>::decode(&mut value) {
|
||||
let mut trie_root = <H as Hasher>::Out::default();
|
||||
trie_root.as_mut().copy_from_slice(&value[..]);
|
||||
children_roots.push(trie_root);
|
||||
|
||||
@@ -637,7 +637,7 @@ where
|
||||
}
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
fn storage_changes_root(&mut self, parent_hash: &[u8]) -> Result<Option<Vec<u8>>, ()> {
|
||||
fn storage_changes_root(&mut self, mut parent_hash: &[u8]) -> Result<Option<Vec<u8>>, ()> {
|
||||
let _guard = guard();
|
||||
if let Some(ref root) = self.storage_transaction_cache.changes_trie_transaction_storage_root {
|
||||
trace!(
|
||||
@@ -653,7 +653,7 @@ where
|
||||
let root = self.overlay.changes_trie_root(
|
||||
self.backend,
|
||||
self.changes_trie_state.as_ref(),
|
||||
Decode::decode(&mut &parent_hash[..]).map_err(|e|
|
||||
Decode::decode(&mut parent_hash).map_err(|e|
|
||||
trace!(
|
||||
target: "state",
|
||||
"Failed to decode changes root parent hash: {}",
|
||||
|
||||
@@ -211,7 +211,7 @@ pub fn read_trie_value<L: TrieConfiguration, DB: hash_db::HashDBRef<L::Hash, tri
|
||||
root: &TrieHash<L>,
|
||||
key: &[u8]
|
||||
) -> Result<Option<Vec<u8>>, Box<TrieError<L>>> {
|
||||
Ok(TrieDB::<L>::new(&*db, root)?.get(key).map(|x| x.map(|val| val.to_vec()))?)
|
||||
TrieDB::<L>::new(&*db, root)?.get(key).map(|x| x.map(|val| val.to_vec()))
|
||||
}
|
||||
|
||||
/// Read a value from the trie with given Query.
|
||||
@@ -225,7 +225,7 @@ pub fn read_trie_value_with<
|
||||
key: &[u8],
|
||||
query: Q
|
||||
) -> Result<Option<Vec<u8>>, Box<TrieError<L>>> {
|
||||
Ok(TrieDB::<L>::new(&*db, root)?.get_with(key, query).map(|x| x.map(|val| val.to_vec()))?)
|
||||
TrieDB::<L>::new(&*db, root)?.get_with(key, query).map(|x| x.map(|val| val.to_vec()))
|
||||
}
|
||||
|
||||
/// Determine the empty trie root.
|
||||
@@ -317,7 +317,7 @@ pub fn read_child_trie_value<L: TrieConfiguration, DB>(
|
||||
root.as_mut().copy_from_slice(root_slice);
|
||||
|
||||
let db = KeySpacedDB::new(&*db, keyspace);
|
||||
Ok(TrieDB::<L>::new(&db, &root)?.get(key).map(|x| x.map(|val| val.to_vec()))?)
|
||||
TrieDB::<L>::new(&db, &root)?.get(key).map(|x| x.map(|val| val.to_vec()))
|
||||
}
|
||||
|
||||
/// Read a value from the child trie with given query.
|
||||
@@ -336,7 +336,7 @@ pub fn read_child_trie_value_with<L: TrieConfiguration, Q: Query<L::Hash, Item=D
|
||||
root.as_mut().copy_from_slice(root_slice);
|
||||
|
||||
let db = KeySpacedDB::new(&*db, keyspace);
|
||||
Ok(TrieDB::<L>::new(&db, &root)?.get_with(key, query).map(|x| x.map(|val| val.to_vec()))?)
|
||||
TrieDB::<L>::new(&db, &root)?.get_with(key, query).map(|x| x.map(|val| val.to_vec()))
|
||||
}
|
||||
|
||||
/// `HashDB` implementation that append a encoded prefix (unique id bytes) in addition to the
|
||||
|
||||
@@ -259,7 +259,7 @@ fn partial_encode(partial: Partial, node_kind: NodeKind) -> Vec<u8> {
|
||||
if number_nibble_encoded > 0 {
|
||||
output.push(nibble_ops::pad_right((partial.0).1));
|
||||
}
|
||||
output.extend_from_slice(&partial.1[..]);
|
||||
output.extend_from_slice(partial.1);
|
||||
output
|
||||
}
|
||||
|
||||
@@ -272,8 +272,8 @@ const BITMAP_LENGTH: usize = 2;
|
||||
pub(crate) struct Bitmap(u16);
|
||||
|
||||
impl Bitmap {
|
||||
pub fn decode(data: &[u8]) -> Result<Self, Error> {
|
||||
Ok(Bitmap(u16::decode(&mut &data[..])?))
|
||||
pub fn decode(mut data: &[u8]) -> Result<Self, Error> {
|
||||
Ok(Bitmap(u16::decode(&mut data)?))
|
||||
}
|
||||
|
||||
pub fn value_at(&self, i: usize) -> bool {
|
||||
|
||||
Reference in New Issue
Block a user