diff --git a/src/api.rs b/src/api.rs index d06dfb6..a8298be 100644 --- a/src/api.rs +++ b/src/api.rs @@ -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, fn add_validation_token(mut process: Process, state_id: String, approval: bool) -> ApiResult { 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,