Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion trie-db/src/fatdb.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ where
}

fn get_hash(&self, key: &[u8]) -> Result<Option<TrieHash<L>>, TrieHash<L>, CError<L>> {
self.raw.get_hash(key)
self.raw.get_hash(L::Hash::hash(key).as_ref())
}

fn get_with<Q: Query<L::Hash>>(
Expand Down
2 changes: 1 addition & 1 deletion trie-db/src/sectriedb.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ where
}

fn get_hash(&self, key: &[u8]) -> Result<Option<TrieHash<L>>, TrieHash<L>, CError<L>> {
self.raw.get_hash(key)
self.raw.get_hash(L::Hash::hash(key).as_ref())
}

fn get_with<Q: Query<L::Hash>>(
Expand Down
14 changes: 14 additions & 0 deletions trie-db/test/src/fatdb.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.

use hash_db::Hasher;
use memory_db::{HashKey, MemoryDB};
use reference_trie::{RefFatDB, RefFatDBMut, RefHasher};
use trie_db::{DBValue, Trie, TrieMut};
Expand All @@ -35,3 +36,16 @@ fn fatdb_to_trie() {
vec![vec![0x01u8, 0x23]]
);
}

#[test]
fn fatdb_get_hash_uses_logical_key() {
let mut memdb = MemoryDB::<RefHasher, HashKey<_>, DBValue>::default();
let mut root = Default::default();
{
let mut t = RefFatDBMut::new(&mut memdb, &mut root);
t.insert(b"key", b"value").unwrap();
}

let t = RefFatDB::new(&memdb, &root);
assert_eq!(t.get_hash(b"key").unwrap(), Some(RefHasher::hash(b"value")));
}
15 changes: 14 additions & 1 deletion trie-db/test/src/sectriedb.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

use hash_db::Hasher;
use memory_db::{HashKey, MemoryDB};
use reference_trie::{RefHasher, RefSecTrieDB, RefTrieDBMutBuilder};
use reference_trie::{RefHasher, RefSecTrieDB, RefSecTrieDBMut, RefTrieDBMutBuilder};
use trie_db::{DBValue, Trie, TrieMut};

#[test]
Expand All @@ -28,3 +28,16 @@ fn trie_to_sectrie() {
let t = RefSecTrieDB::new(&db, &root);
assert_eq!(t.get(&[0x01u8, 0x23]).unwrap().unwrap(), vec![0x01u8, 0x23]);
}

#[test]
fn sectriedb_get_hash_uses_logical_key() {
let mut db = MemoryDB::<RefHasher, HashKey<_>, DBValue>::default();
let mut root = Default::default();
{
let mut t = RefSecTrieDBMut::new(&mut db, &mut root);
t.insert(b"key", b"value").unwrap();
}

let t = RefSecTrieDB::new(&db, &root);
assert_eq!(t.get_hash(b"key").unwrap(), Some(RefHasher::hash(b"value")));
}