From ff47da3083299d24a462bfd49fae4d0d28b2a28a Mon Sep 17 00:00:00 2001 From: Sosthene Date: Mon, 25 Nov 2024 22:32:56 +0100 Subject: [PATCH] Minor fixes --- src/api.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/api.rs b/src/api.rs index c806e10..d09515c 100644 --- a/src/api.rs +++ b/src/api.rs @@ -812,11 +812,7 @@ fn handle_prd( std::collections::hash_map::Entry::Occupied(entry) => entry.into_mut(), std::collections::hash_map::Entry::Vacant(entry) => { debug!("Creating new process for outpoint: {}", outpoint); - let empty_state = ProcessState { - commited_in: outpoint, - ..Default::default() - }; - entry.insert(Process::new(vec![empty_state], vec![])) + entry.insert(Process::new(outpoint)) } }; @@ -1085,6 +1081,10 @@ pub fn create_connect_transaction(members_str: Vec, fee_rate: u32) -> Ap addresses.extend(member.get_addresses().into_iter()); } + if addresses.is_empty() { + return Err(ApiError::new("No addresses to connect to".to_owned())); + } + let psbt = create_transaction_for_addresses(addresses.clone(), fee_rate)?; let new_secrets = get_shared_secrets_in_transaction(&psbt, addresses)?; @@ -1149,6 +1149,8 @@ pub fn create_new_process( // We now need a hash that commits to the clear value of each field + the process id (or outpoint) let fields_commitment = pcd.hash_fields(outpoint)?; + let mut process = Process::new(outpoint); + // We now create the first process state with all that data let process_state = ProcessState { commited_in: outpoint, @@ -1156,9 +1158,9 @@ pub fn create_new_process( encrypted_pcd: Value::Object(fields2cipher.clone()), keys: fields2keys.clone(), validation_tokens: vec![], - }; + }; - let process = Process::new(vec![process_state], vec![]); + process.insert_concurrent_state(process_state)?; { let mut processes = lock_processes()?;