File size: 1,001 Bytes
74f2b46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use sha2::{Digest, Sha256};

use crate::models::ConsortiumAttestation;

pub fn simulate_attestations(cid: &str, proof_commitment: &str, count: usize) -> Vec<ConsortiumAttestation> {
    let hospitals = [
        "General Hospital A",
        "Regional Medical Center",
        "University Clinic",
        "Children's Care Network",
    ];
    hospitals
        .into_iter()
        .take(count)
        .enumerate()
        .map(|(index, hospital)| {
            let mut hasher = Sha256::new();
            hasher.update(cid.as_bytes());
            hasher.update(proof_commitment.as_bytes());
            hasher.update(hospital.as_bytes());
            hasher.update(index.to_le_bytes());
            let attestation_hash = hex::encode(hasher.finalize());
            ConsortiumAttestation {
                hospital: hospital.to_string(),
                attestation_hash,
                signature_status: "verified on consortium ledger".to_string(),
            }
        })
        .collect()
}