From b781fe67532629f21ae52168bad8a5e4675d337d Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Thu, 14 Jan 2016 23:13:28 +0100 Subject: [PATCH] from_existing works for an empty DB if passed empty RLP SHA3. --- src/trie/triedbmut.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/trie/triedbmut.rs b/src/trie/triedbmut.rs index 03d2b59de..d205dc8e0 100644 --- a/src/trie/triedbmut.rs +++ b/src/trie/triedbmut.rs @@ -71,6 +71,9 @@ impl<'db> TrieDBMut<'db> { /// Create a new trie with the backing database `db` and `root` /// Panics, if `root` does not exist pub fn from_existing(db: &'db mut HashDB, root: &'db mut H256) -> Self { + if !db.exists(root) && root == &SHA3_NULL_RLP { + *root = db.insert(&NULL_RLP); + } assert!(db.exists(root)); TrieDBMut { db: db,