Function dcl_crypto::account::decode

source ·
pub fn decode(value: &str) -> Result<Vec<u8>, DecodeHexError>
Expand description

Decodes a hex string prefixed with 0x into raw bytes.

Both, upper and lower case characters are valid in the input string and can even be mixed (e.g. 0xf9b4ca, 0xF9B4CA and 0xf9B4Ca are all valid strings).

Example

use dcl_crypto::account::{decode, DecodeHexError};

assert_eq!(
    decode("0x48656c6c6f20776f726c6421"),
    Ok("Hello world!".to_owned().into_bytes())
);

assert_eq!(decode("123"), Err(DecodeHexError::MissingPrefix));
assert_eq!(decode("0x123"), Err(DecodeHexError::OddLength));
assert_eq!(decode("0xfo"), Err(DecodeHexError::InvalidHexCharacter { c: 'o', index: 3 }));