[−][src]Function eosio_numstr::name_from_bytes
pub fn name_from_bytes<I>(iter: I) -> Result<u64, ParseNameError> where
I: Iterator<Item = u8>,
Attempts to create an EOSIO name from an Iterator
.
Errors
Will return Err
if the name contains invalid characters or is too long.
Examples
use eosio_numstr::{name_from_bytes, ParseNameError}; assert_eq!(name_from_bytes("".bytes()), Ok(0)); assert_eq!(name_from_bytes("a".bytes()), Ok(3458764513820540928)); assert_eq!( name_from_bytes("123456789012".bytes()), Err(ParseNameError::BadChar(b'6')) ); assert_eq!( name_from_bytes("123451234512".bytes()), Ok(614251535012020768) ); assert_eq!( name_from_bytes("123451234512j".bytes()), Ok(614251535012020783) ); assert_eq!( name_from_bytes("123451234512k".bytes()), Err(ParseNameError::BadChar(b'k')) ); assert_eq!( name_from_bytes("12345123451234".bytes()), Err(ParseNameError::TooLong) ); assert_eq!( name_from_bytes("eosio.token".bytes()), Ok(6138663591592764928) ); assert_eq!( name_from_bytes("eosio.token".bytes()), Ok(6138663591592764928) ); assert_eq!( name_from_bytes("eosio.bpay".bytes()), Ok(6138663581940940800) ); assert_eq!( name_from_bytes("A".bytes()), Err(ParseNameError::BadChar(b'A')) ); assert_eq!( name_from_bytes("TEST".bytes()), Err(ParseNameError::BadChar(b'T')) );