2025-08-11 12:44:14 +02:00
|
|
|
use anyhow::Result;
|
2025-08-11 14:22:51 -03:00
|
|
|
use methods::*;
|
|
|
|
|
use risc0_zkvm::{default_prover, Digest, ExecutorEnv};
|
2025-08-11 12:44:14 +02:00
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
|
fn verify_rejects_wrong_image() -> Result<()> {
|
|
|
|
|
let key = [0x42u8; 32];
|
|
|
|
|
let nonce = [0x24u8; 12];
|
|
|
|
|
let plaintext = b"bad id test".to_vec();
|
|
|
|
|
|
|
|
|
|
let env = ExecutorEnv::builder()
|
2025-08-11 14:22:51 -03:00
|
|
|
.write(&key)?
|
|
|
|
|
.write(&nonce)?
|
|
|
|
|
.write(&plaintext)?
|
|
|
|
|
.build()?;
|
2025-08-11 12:44:14 +02:00
|
|
|
|
|
|
|
|
let info = default_prover().prove(env, GUEST_ELF)?;
|
|
|
|
|
|
|
|
|
|
// Intentionally bogus image id
|
|
|
|
|
let bogus = Digest::from([0u32; 8]);
|
2025-08-11 14:22:51 -03:00
|
|
|
assert!(
|
|
|
|
|
info.receipt.verify(bogus).is_err(),
|
|
|
|
|
"verification should fail"
|
|
|
|
|
);
|
2025-08-11 12:44:14 +02:00
|
|
|
Ok(())
|
|
|
|
|
}
|