Write to disk Member when process is pairing
This commit is contained in:
parent
a55159449a
commit
1e433b63e7
@ -76,7 +76,12 @@ fn handle_initial_transaction(tx: Transaction, commit_msg: &CommitMessage) -> Re
|
|||||||
|
|
||||||
let merkle_root_bin = pcd_commitment.create_merkle_tree()?.root().unwrap();
|
let merkle_root_bin = pcd_commitment.create_merkle_tree()?.root().unwrap();
|
||||||
|
|
||||||
handle_member_list(pcd_commitment, &parsed_roles, root_commitment)?;
|
match handle_member_list(pcd_commitment, &parsed_roles, root_commitment) {
|
||||||
|
Ok(()) => {
|
||||||
|
dump_cached_members()?;
|
||||||
|
}
|
||||||
|
Err(e) => log::error!("{}", e)
|
||||||
|
}
|
||||||
|
|
||||||
let mut new_process = Process::new(root_commitment);
|
let mut new_process = Process::new(root_commitment);
|
||||||
let init_state = ProcessState {
|
let init_state = ProcessState {
|
||||||
@ -119,7 +124,7 @@ fn handle_member_list(pcd_commitment: &Value, roles: &HashMap<String, RoleDefini
|
|||||||
|| !pcd_map.contains_key("session_privkey")
|
|| !pcd_map.contains_key("session_privkey")
|
||||||
|| !pcd_map.contains_key("session_pubkey")
|
|| !pcd_map.contains_key("session_pubkey")
|
||||||
{
|
{
|
||||||
return Err(Error::msg("Pcd must contain all keys for a pairing process"));
|
return Err(Error::msg("Process is not a pairing process"));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return Err(Error::msg("Pcd is missing"));
|
return Err(Error::msg("Pcd is missing"));
|
||||||
@ -160,6 +165,20 @@ fn handle_existing_commitment(outpoint: OutPoint, commit_msg: CommitMessage) ->
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn dump_cached_members() -> Result<(), anyhow::Error> {
|
||||||
|
let members = lock_members()?.clone();
|
||||||
|
|
||||||
|
let storage = STORAGE.get().ok_or(Error::msg("STORAGE is not initialized"))?.lock_anyhow()?;
|
||||||
|
|
||||||
|
let members_file = &storage.members_file;
|
||||||
|
|
||||||
|
members_file.save(&members)?;
|
||||||
|
|
||||||
|
log::debug!("saved members");
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
pub fn dump_cached_processes() -> Result<(), anyhow::Error> {
|
pub fn dump_cached_processes() -> Result<(), anyhow::Error> {
|
||||||
let processes = lock_processes()?.clone();
|
let processes = lock_processes()?.clone();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user