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}