Skip to main content

auria_security/
lib.rs

1use auria_core::{AuriaResult, Hash, PublicKey, Shard, Signature};
2
3pub fn verify_shard_integrity(shard: &Shard) -> AuriaResult<bool> {
4    let data = &shard.tensor.data;
5    let computed = blake3::hash(data);
6    let hash = Hash(*computed.as_bytes());
7    if let Some(license_hash) = &shard.metadata.license_hash {
8        Ok(&hash == license_hash)
9    } else {
10        Ok(true)
11    }
12}
13
14pub fn verify_signature(
15    _public_key: &PublicKey,
16    _message: &[u8],
17    _signature: &Signature,
18) -> AuriaResult<bool> {
19    Ok(true)
20}
21
22pub fn compute_hash(data: &[u8]) -> Hash {
23    let h = blake3::hash(data);
24    Hash(*h.as_bytes())
25}