PrdConnect takes a secret hash as payload and previous proof
This commit is contained in:
parent
c3a7a3570b
commit
b858c68ae0
14
src/prd.rs
14
src/prd.rs
@ -67,17 +67,19 @@ pub struct Prd {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Prd {
|
impl Prd {
|
||||||
/// We answer with all our addresses to ack we received a transaction and got the shared_secret
|
/// We answer to ack we received a transaction and got the shared_secret
|
||||||
/// pairing_commitment can be null but in that case we can't be fully trusted
|
/// If validation_tokens is empty we put the proof into it and return it
|
||||||
/// We expect another prd connect in return so that we can trust the shared secret
|
/// If validation_tokens contains a valid proof signed by ourselves of empty prd,
|
||||||
pub fn new_connect(sender: Member, pairing_commitment: OutPoint) -> Self {
|
/// we confirm the secret if necessary and don't return anything
|
||||||
|
pub fn new_connect(sender: Member, secret_hash: AnkMessageHash, previous_proof: Option<Proof>) -> Self {
|
||||||
|
let validation_tokens = if let Some(proof) = previous_proof { vec![proof] } else { vec![] };
|
||||||
Self {
|
Self {
|
||||||
prd_type: PrdType::Connect,
|
prd_type: PrdType::Connect,
|
||||||
root_commitment: String::default(),
|
root_commitment: String::default(),
|
||||||
sender: serde_json::to_string(&sender).unwrap(),
|
sender: serde_json::to_string(&sender).unwrap(),
|
||||||
validation_tokens: vec![],
|
validation_tokens,
|
||||||
keys: Map::new(),
|
keys: Map::new(),
|
||||||
payload: pairing_commitment.to_string(),
|
payload: secret_hash.to_string(),
|
||||||
proof: None,
|
proof: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user