From b496ce8f4c8df10a490989dbc85be5c91c515815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Fri, 11 Mar 2022 23:01:17 +0100 Subject: [PATCH] Directly use the new `to_memory_db` function (#1080) This reduces the amount of code a little bit. --- .../src/validate_block/implementation.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/pallets/parachain-system/src/validate_block/implementation.rs b/pallets/parachain-system/src/validate_block/implementation.rs index 4aac6d8778..3dcbf29158 100644 --- a/pallets/parachain-system/src/validate_block/implementation.rs +++ b/pallets/parachain-system/src/validate_block/implementation.rs @@ -66,19 +66,15 @@ where let block = B::new(header, extrinsics); assert!(parent_head.hash() == *block.header().parent_hash(), "Invalid parent hash",); - // Uncompress - let mut db = MemoryDB::default(); - let root = match sp_trie::decode_compact::>, _, _>( - &mut db, - storage_proof.iter_compact_encoded_nodes(), - Some(parent_head.state_root()), - ) { - Ok(root) => root, + // Create the db + let (db, root) = match storage_proof.to_memory_db(Some(parent_head.state_root())) { + Ok((db, root)) => (db, root), Err(_) => panic!("Compact proof decoding failure."), }; + sp_std::mem::drop(storage_proof); - let backend = sp_state_machine::TrieBackend::new(db, root); + let backend = sp_state_machine::TrieBackend::new(db, *parent_head.state_root()); let _guard = ( // Replace storage calls with our own implementations