Refactor add_validation_token

This commit is contained in:
NicolasCantu 2025-03-13 14:42:05 +01:00
parent 4582807822
commit 40f8a6ec20

View File

@ -76,6 +76,8 @@ use sdk_common::secrets::SecretsStore;
use crate::user::{lock_local_device, set_new_device, LOCAL_DEVICE};
use crate::wallet::{generate_sp_wallet, lock_freezed_utxos};
const EMPTYSTATEID: &str = "0000000000000000000000000000000000000000000000000000000000000000";
#[derive(Debug, PartialEq, Tsify, Serialize, Deserialize, Default)]
#[tsify(into_wasm_abi)]
#[allow(non_camel_case_types)]
@ -1463,23 +1465,20 @@ pub fn evaluate_state(process_id: String, previous_state: Option<ProcessState>,
fn add_validation_token(mut process: Process, state_id: String, approval: bool) -> ApiResult<ApiReturn> {
let process_id = process.get_process_id()?;
let state_id: [u8; 32] = Vec::from_hex(&state_id)?.try_into().map_err(|_| ApiError::new("Invalid state_id".to_owned()))?;
if state_id == [0u8; 32] { return Err(ApiError::new("Can't validate empty state".to_owned())); }
{
let update_state: &mut ProcessState = process.get_state_for_id_mut(&state_id)?;
let update_state: &mut ProcessState = process.get_state_for_id_mut(&state_id)?;
let message_hash = if approval {
AnkHash::ValidationYes(AnkValidationYesHash::from_merkle_root(state_id))
} else {
AnkHash::ValidationNo(AnkValidationNoHash::from_merkle_root(state_id))
};
let message_hash = if approval {
AnkHash::ValidationYes(AnkValidationYesHash::from_merkle_root(state_id))
} else {
AnkHash::ValidationNo(AnkValidationNoHash::from_merkle_root(state_id))
};
let local_device = lock_local_device()?;
let sp_wallet = local_device.get_wallet();
let proof = Proof::new(message_hash, sp_wallet.get_client().get_spend_key().try_into()?);
let local_device = lock_local_device()?;
let sp_wallet = local_device.get_wallet();
let proof = Proof::new(message_hash, sp_wallet.get_client().get_spend_key().try_into()?);
update_state.validation_tokens.push(proof);
}
update_state.validation_tokens.push(proof);
let mut commit_msg = CommitMessage::new(
process_id,