Update create_new_process
This commit is contained in:
parent
0c702de953
commit
2afc6c9a85
13
src/api.rs
13
src/api.rs
@ -1195,19 +1195,24 @@ pub fn create_new_process(
|
|||||||
let outpoint = OutPoint::new(transaction.txid(), 0);
|
let outpoint = OutPoint::new(transaction.txid(), 0);
|
||||||
|
|
||||||
// We now need a hash that commits to the clear value of each field + the process id (or outpoint)
|
// We now need a hash that commits to the clear value of each field + the process id (or outpoint)
|
||||||
let fields_commitment = pcd.hash_all_fields(outpoint)?;
|
let pcd_commitment = Value::Object(pcd.hash_all_fields(outpoint)?);
|
||||||
|
|
||||||
|
let merkle_root = pcd_commitment.create_merkle_tree()?.root().ok_or(ApiError::new("Invalid merkle tree".to_owned()))?.to_lower_hex_string();
|
||||||
|
|
||||||
let mut process = Process::new(outpoint);
|
let mut process = Process::new(outpoint);
|
||||||
|
|
||||||
// We now create the first process state with all that data
|
// We now create the first process state with all that data
|
||||||
let process_state = ProcessState {
|
let process_state = ProcessState {
|
||||||
commited_in: outpoint,
|
commited_in: outpoint,
|
||||||
pcd_commitment: Value::Object(fields_commitment.clone()),
|
pcd_commitment: pcd_commitment.clone(),
|
||||||
|
merkle_root: merkle_root.clone(),
|
||||||
encrypted_pcd: Value::Object(fields2cipher.clone()),
|
encrypted_pcd: Value::Object(fields2cipher.clone()),
|
||||||
keys: fields2keys.clone(),
|
keys: fields2keys.clone(),
|
||||||
validation_tokens: vec![],
|
validation_tokens: vec![],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let diffs = create_diffs(&process, &process_state)?;
|
||||||
|
|
||||||
process.insert_concurrent_state(process_state.clone())?;
|
process.insert_concurrent_state(process_state.clone())?;
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -1219,12 +1224,12 @@ pub fn create_new_process(
|
|||||||
processes.insert(outpoint.clone(), process.clone());
|
processes.insert(outpoint.clone(), process.clone());
|
||||||
}
|
}
|
||||||
|
|
||||||
let commit_msg = CommitMessage::new_first_commitment(transaction, Value::Object(fields_commitment), roles);
|
let commit_msg = CommitMessage::new_first_commitment(transaction, pcd_commitment, roles);
|
||||||
|
|
||||||
let updated_process = UpdatedProcess {
|
let updated_process = UpdatedProcess {
|
||||||
commitment_tx: outpoint,
|
commitment_tx: outpoint,
|
||||||
current_process: process,
|
current_process: process,
|
||||||
new_state: Some(process_state),
|
new_diffs: diffs,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user