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}