Fix for miscalculation of storage root (#2285)

This commit is contained in:
cheme
2019-04-16 09:28:53 +02:00
committed by Gav Wood
parent 1aa6eb9fa8
commit 47c1b4b26e
2 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -367,7 +367,7 @@ pub fn set_storage(key: &[u8], value: &[u8]) {
pub fn set_child_storage(storage_key: &[u8], key: &[u8], value: &[u8]) {
unsafe {
ext_set_child_storage.get()(
storage_key.as_ptr(), key.len() as u32,
storage_key.as_ptr(), storage_key.len() as u32,
key.as_ptr(), key.len() as u32,
value.as_ptr(), value.len() as u32
);
+2 -1
View File
@@ -297,7 +297,8 @@ where
}
let mut transaction = B::Transaction::default();
let child_storage_keys: Vec<_> = self.overlay.prospective.children.keys().cloned().collect();
let child_storage_keys: std::collections::BTreeSet<_> = self.overlay.prospective.children.keys().cloned()
.chain(self.overlay.committed.children.keys().cloned()).collect();
for key in child_storage_keys {
let (_, t) = self.child_storage_root_transaction(&key);