Skip to content

Commit

Permalink
formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
YeahNotSewerSide committed May 16, 2024
1 parent 7fd6c27 commit 6fd7521
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 10 deletions.
7 changes: 1 addition & 6 deletions src/merkletree.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ impl MerkleTree {
}

for left_index in (1..nodes_total - 1).step_by(2).rev() {

let mut to_hash = [0u8; 32];
unsafe {
for (index, (left, right)) in array_representation
Expand All @@ -57,7 +56,7 @@ impl MerkleTree {
{
*to_hash.get_unchecked_mut(index) = *left & *right;
}

let hash = Sha256::digest(to_hash);

*(array_representation.get_unchecked_mut((left_index - 1) / 2)) =
Expand Down Expand Up @@ -95,8 +94,6 @@ impl MerkleTree {
let lsb_set = index & 1;
let lsb_not_set = lsb_set ^ 1;



index += lsb_set;
index -= lsb_not_set;

Expand Down Expand Up @@ -150,8 +147,6 @@ impl MerkleTree {
pub fn get_root(&self) -> &[u8; 32] {
unsafe { self.array_representation.get_unchecked(0) }
}


}

#[cfg(test)]
Expand Down
28 changes: 24 additions & 4 deletions tests/tools_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,34 @@ use blockchaintree::tools::{self, check_pow};

#[test]
fn check_pow_test() {
let hash: [u8; 32] = [0x98, 0x2D, 0x9E, 0x3E, 0xB9, 0x96, 0xF5, 0x59, 0xE6, 0x33, 0xF4, 0xD1, 0x94, 0xDE, 0xF3, 0x76, 0x1D, 0x90, 0x9F, 0x5A, 0x3B, 0x64, 0x7D, 0x1A, 0x85, 0x1F, 0xEA, 0xD6, 0x7C, 0x32, 0xC9, 0xD1];
let hash: [u8; 32] = [
0x98, 0x2D, 0x9E, 0x3E, 0xB9, 0x96, 0xF5, 0x59, 0xE6, 0x33, 0xF4, 0xD1, 0x94, 0xDE, 0xF3,
0x76, 0x1D, 0x90, 0x9F, 0x5A, 0x3B, 0x64, 0x7D, 0x1A, 0x85, 0x1F, 0xEA, 0xD6, 0x7C, 0x32,
0xC9, 0xD1,
];

assert_eq!(
check_pow(&hash, &[0xF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], &[0x0, 0x7A, 0x9, 0xDE, 0x81, 0x32, 0x58, 0x4F, 0x6D, 0xE8]),
check_pow(
&hash,
&[
0xF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF
],
&[0x0, 0x7A, 0x9, 0xDE, 0x81, 0x32, 0x58, 0x4F, 0x6D, 0xE8]
),
false
);
assert_eq!(
check_pow(&hash, &[0xF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], &[0x3A, 0x91, 0x24, 0x45, 0xC9, 0x65, 0x60, 0xD5, 0x1E, 0x69]),
check_pow(
&hash,
&[
0xF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF
],
&[0x3A, 0x91, 0x24, 0x45, 0xC9, 0x65, 0x60, 0xD5, 0x1E, 0x69]
),
true
);
}
}

0 comments on commit 6fd7521

Please sign in to comment.