From 191019beaa97029e0e73be2787ed8fd465c0cd55 Mon Sep 17 00:00:00 2001 From: Rostyslav Tyshko Date: Fri, 25 Oct 2024 00:36:10 +0200 Subject: [PATCH] setup for core --- storage/src/nullifier.rs | 2 +- utxo/src/utxo_core.rs | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/storage/src/nullifier.rs b/storage/src/nullifier.rs index 050c180..5033fa6 100644 --- a/storage/src/nullifier.rs +++ b/storage/src/nullifier.rs @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize}; use crate::merkle_tree_public::TreeHashType; //ToDo: Update Nullifier model, when it is clear -#[derive(Debug, Serialize, Deserialize, Clone, Default)] +#[derive(Debug, Serialize, Deserialize, Clone, Default, PartialEq, Eq)] ///General nullifier object pub struct UTXONullifier { pub utxo_hash: TreeHashType, diff --git a/utxo/src/utxo_core.rs b/utxo/src/utxo_core.rs index d076598..432a012 100644 --- a/utxo/src/utxo_core.rs +++ b/utxo/src/utxo_core.rs @@ -6,7 +6,7 @@ use storage::{merkle_tree_public::TreeHashType, nullifier::UTXONullifier, Accoun ///Raw asset data pub type Asset = Vec; -#[derive(Debug)] +#[derive(Debug, PartialEq, Eq, Clone)] ///Container for raw utxo payload pub struct UTXO { pub hash: TreeHashType, @@ -53,3 +53,36 @@ impl UTXO { Ok(serde_json::from_slice(&self.asset)?) } } + +#[cfg(test)] +mod tests { + use super::*; + use storage::{merkle_tree_public::TreeHashType, nullifier::UTXONullifier, AccountId}; + + #[derive(Serialize, Deserialize, PartialEq, Debug)] + struct TestAsset { + id: u32, + name: String, + } + + fn sample_account() -> AccountId { + AccountId::default() + } + + fn sample_nullifier() -> UTXONullifier { + UTXONullifier::default() + } + + fn sample_tree_hash() -> TreeHashType { + TreeHashType::default() + } + + fn sample_payload() -> UTXOPayload { + UTXOPayload { + owner: sample_account(), + asset: serde_json::to_vec(&TestAsset { id: 1, name: "Test".to_string() }).unwrap(), + } + } + + +}