rust_chain/utils.rs
1use crate::{
2 check,
3 vec::Vec,
4};
5
6pub fn decode_hex(s: &str) -> Vec<u8> {
7 check(s.len() % 2 == 0, "decod_hex: bad hex string length");
8 (0..s.len())
9 .step_by(2)
10 .map(|i| {
11 if let Ok(c) = u8::from_str_radix(&s[i..i + 2], 16) {
12 c
13 } else {
14 check(false, "bad hex characters");
15 0u8
16 }
17 })
18 .collect::<Vec<_>>()
19}