| 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() | |
| } | |