use freenet_stdlib::prelude::*;
#[test]
fn delegate_key_formula_matches_manual_blake3_computation() {
let fake_wasm = b"test-delegate-wasm-bytes-for-key-verification";
let code = DelegateCode::from(fake_wasm.to_vec());
let params = Parameters::from(Vec::<u8>::new());
let delegate = Delegate::from((&code, ¶ms));
let key = delegate.key();
let code_hash: [u8; 32] = *blake3::hash(fake_wasm).as_bytes();
let expected_key: [u8; 32] = *blake3::hash(&code_hash).as_bytes();
assert_eq!(
key.bytes(),
&expected_key,
"DelegateKey must equal BLAKE3(BLAKE3(wasm)) for empty params.\n\
If this fails, the key computation formula has changed in freenet-stdlib."
);
}