pub fn arr32(b: Vec<u8>) -> anyhow::Result<[u8; 32]> {
println!("{}", b.len());
b.try_into().map_err(|_| anyhow::anyhow!("bad input"))
}
pub fn arr64(b: Vec<u8>) -> anyhow::Result<[u8; 64]> {