diff --git a/substrate/core/state-machine/src/basic.rs b/substrate/core/state-machine/src/basic.rs index e922db260cf02bb1344b8c0c786b29efd32173f9..0ed2598060239c3180def0fac31e01e6bbca7ba1 100644 --- a/substrate/core/state-machine/src/basic.rs +++ b/substrate/core/state-machine/src/basic.rs @@ -22,8 +22,7 @@ use crate::backend::{Backend, InMemory}; use hash_db::Hasher; use trie::trie_root; use primitives::offchain; -use primitives::storage::well_known_keys::{HEAP_PAGES, is_child_storage_key}; -use parity_codec::Encode; +use primitives::storage::well_known_keys::is_child_storage_key; use super::{ChildStorageKey, Externalities}; use log::warn; @@ -42,10 +41,9 @@ impl BasicExternalities { /// Create a new instance of `BasicExternalities` with children pub fn new_with_children( - mut top: HashMap<Vec<u8>, Vec<u8>>, + top: HashMap<Vec<u8>, Vec<u8>>, children: HashMap<Vec<u8>, HashMap<Vec<u8>, Vec<u8>>>, ) -> Self { - top.insert(HEAP_PAGES.to_vec(), 8u64.encode()); BasicExternalities { top, children, @@ -188,7 +186,7 @@ mod tests { ext.set_storage(b"doe".to_vec(), b"reindeer".to_vec()); ext.set_storage(b"dog".to_vec(), b"puppy".to_vec()); ext.set_storage(b"dogglesworth".to_vec(), b"cat".to_vec()); - const ROOT: [u8; 32] = hex!("0b33ed94e74e0f8e92a55923bece1ed02d16cf424e124613ddebc53ac3eeeabe"); + const ROOT: [u8; 32] = hex!("0b41e488cccbd67d1f1089592c2c235f5c5399b053f7fe9152dd4b5f279914cd"); assert_eq!(ext.storage_root(), H256::from(ROOT)); } @@ -231,4 +229,12 @@ mod tests { ext.kill_child_storage(child()); assert_eq!(ext.child_storage(child(), b"doe"), None); } + + #[test] + fn basic_externalities_is_empty() { + // Make sure no values are set by default in `BasicExternalities`. + let (storage, child_storage) = BasicExternalities::new(Default::default()).into_storages(); + assert!(storage.is_empty()); + assert!(child_storage.is_empty()); + } }