Skip to content

Commit

Permalink
test: add tests for nullifier's data encoding/decoding
Browse files Browse the repository at this point in the history
  • Loading branch information
polydez committed Mar 6, 2024
1 parent 5797945 commit 80c1527
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion store/src/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ fn block_num_to_nullifier_value(block: BlockNumber) -> Word {
///
/// There are no nullifiers in the genesis block. The value zero is instead used to signal absence
/// of a value.
pub fn nullifier_value_to_block_num(value: Word) -> BlockNumber {
fn nullifier_value_to_block_num(value: Word) -> BlockNumber {
value[0].as_int().try_into().expect("invalid block number found in store")
}

Expand Down Expand Up @@ -558,3 +558,27 @@ async fn load_accounts(
SimpleSmt::with_leaves(account_data)
.map_err(StateInitializationError::FailedToCreateAccountsTree)
}

#[cfg(test)]
mod tests {
use miden_objects::{Felt, ZERO};

use super::{block_num_to_nullifier_value, nullifier_value_to_block_num};

#[test]
fn test_nullifier_data_encoding() {
let block_num = 123;
let nullifier_value = block_num_to_nullifier_value(block_num);

assert_eq!(nullifier_value, [Felt::from(block_num), ZERO, ZERO, ZERO])
}

#[test]
fn test_nullifier_data_decoding() {
let block_num = 123;
let nullifier_value = [Felt::from(block_num), ZERO, ZERO, ZERO];
let decoded_block_num = nullifier_value_to_block_num(nullifier_value);

assert_eq!(decoded_block_num, block_num);
}
}

0 comments on commit 80c1527

Please sign in to comment.