pub fn from_hex(s: &str) -> Option<Vec<u8>>
Decode a hex string to bytes. Returns None on invalid input.