Revert "Don't include :code by default in storage proofs (#5060)" (#5136)

This reverts commit 6ee39261c8.
This commit is contained in:
Arkadiy Paronyan
2020-03-05 10:55:05 +01:00
committed by GitHub
parent ff2a36d7cb
commit 9a1b3b53f2
31 changed files with 182 additions and 478 deletions
@@ -18,9 +18,9 @@
use log::warn;
use hash_db::Hasher;
use codec::{Decode, Encode};
use codec::Encode;
use sp_core::{traits::RuntimeCode, storage::{ChildInfo, OwnedChildInfo, well_known_keys}};
use sp_core::storage::{ChildInfo, OwnedChildInfo};
use sp_trie::{TrieMut, MemoryDB, trie_types::TrieDBMut};
use crate::{
@@ -359,22 +359,3 @@ pub(crate) fn insert_into_memory_db<H, I>(mdb: &mut MemoryDB<H>, input: I) -> Op
Some(root)
}
/// Get the runtime code from the given `backend`.
///
/// Returns an error if the `:code` could not be found.
pub fn get_runtime_code<H: Hasher, B: Backend<H>>(backend: &B) -> Result<RuntimeCode, &'static str>
where H::Out: Encode,
{
let code = backend.storage(well_known_keys::CODE)
.ok()
.flatten()
.ok_or("`:code` not found")?;
let hash = H::hash(&code).encode();
let heap_pages = backend.storage(well_known_keys::HEAP_PAGES)
.ok()
.flatten()
.and_then(|d| Decode::decode(&mut &d[..]).ok());
Ok(RuntimeCode { code, hash, heap_pages })
}