Add signed_root to tree_hash crate

This commit is contained in:
Paul Hauner
2019-04-16 11:14:28 +10:00
parent d840d6e2d4
commit 024b9e315a
4 changed files with 105 additions and 3 deletions

View File

@@ -1,5 +1,5 @@
use tree_hash::CachedTreeHashSubTree;
use tree_hash_derive::{CachedTreeHashSubTree, TreeHash};
use tree_hash::{CachedTreeHashSubTree, SignedRoot, TreeHash};
use tree_hash_derive::{CachedTreeHashSubTree, SignedRoot, TreeHash};
#[derive(Clone, Debug, TreeHash, CachedTreeHashSubTree)]
pub struct Inner {
@@ -69,3 +69,32 @@ fn uneven_standard_vs_cached() {
test_standard_and_cached(&original, &modified);
}
#[derive(Clone, Debug, TreeHash, SignedRoot)]
pub struct SignedInner {
pub a: u64,
pub b: u64,
pub c: u64,
pub d: u64,
#[signed_root(skip_hashing)]
pub e: u64,
}
#[test]
fn signed_root() {
let unsigned = Inner {
a: 1,
b: 2,
c: 3,
d: 4,
};
let signed = SignedInner {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
assert_eq!(unsigned.tree_hash_root(), signed.signed_root());
}