Fix response logic
This commit is contained in:
parent
0d522182d6
commit
359312574f
20
src/api.rs
20
src/api.rs
@ -819,8 +819,15 @@ fn handle_prd(
|
|||||||
return Err(anyhow::Error::msg(format!("No available secrets for member {:?}", member)));
|
return Err(anyhow::Error::msg(format!("No available secrets for member {:?}", member)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let clear_pcd = relevant_state.decrypt_pcd();
|
||||||
|
|
||||||
|
let roles = clear_pcd.extract_roles()?;
|
||||||
|
|
||||||
|
let commit_msg = CommitMessage::new_update_commitment(outpoint, relevant_state.pcd_commitment.clone(), roles);
|
||||||
|
|
||||||
return Ok(ApiReturn {
|
return Ok(ApiReturn {
|
||||||
ciphers_to_send: ciphers,
|
ciphers_to_send: ciphers,
|
||||||
|
commit_to_send: Some(commit_msg),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -854,19 +861,16 @@ fn handle_prd(
|
|||||||
}
|
}
|
||||||
PrdType::Response => {
|
PrdType::Response => {
|
||||||
// We must know of a prd update that the response answers to
|
// We must know of a prd update that the response answers to
|
||||||
let original_request = relevant_process
|
let mut updated_state = relevant_process
|
||||||
.get_impending_requests_mut()
|
.get_latest_concurrent_states_mut()?
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.find(|r| {
|
.find(|r| {
|
||||||
if r.prd_type != PrdType::Update {
|
r.pcd_commitment == prd.pcd_commitments
|
||||||
return false;
|
|
||||||
}
|
|
||||||
r.pcd_commitments == prd.pcd_commitments
|
|
||||||
})
|
})
|
||||||
.ok_or(anyhow::Error::msg("Original request not found"))?;
|
.ok_or(anyhow::Error::msg("Original request not found"))?;
|
||||||
|
|
||||||
// Once we found the prd update, we can add the received proofs as validation tokens
|
// Once we found the prd update, we can add the received proofs as validation tokens
|
||||||
original_request
|
updated_state
|
||||||
.validation_tokens
|
.validation_tokens
|
||||||
.extend(prd.validation_tokens);
|
.extend(prd.validation_tokens);
|
||||||
|
|
||||||
@ -1391,7 +1395,7 @@ pub fn create_response_message(init_commitment: String, pcd_commitment: String,
|
|||||||
let response_prd = Prd::new_response(
|
let response_prd = Prd::new_response(
|
||||||
outpoint,
|
outpoint,
|
||||||
serde_json::to_string(&sender)?,
|
serde_json::to_string(&sender)?,
|
||||||
vec![],
|
vec![proof],
|
||||||
new_state_commitments
|
new_state_commitments
|
||||||
);
|
);
|
||||||
let prd_msg = response_prd.to_network_msg(sp_wallet)?;
|
let prd_msg = response_prd.to_network_msg(sp_wallet)?;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user