INNER CODE UNIT · Rust
seed
Quantova/QCore.js · src/lib.rs:7
fn seed(bytes: &[u8]) -> Result<Zeroizing<[u8; 32]>, JsError> {
if bytes.len() != 32 {
return Err(JsError::new("a seed is 32 raw bytes (a Uint8Array)"));
}
let mut seed = Zeroizing::new([0u8; 32]);
seed.copy_from_slice(bytes);
Ok(seed)
}
fn whole(value: &str, label: &str) -> Result<u128, JsError> {
if value.is_empty() || !value.bytes().all(|b| b.is_ascii_digit()) {
return Err(JsError::new(&format!("{label} is a whole number string")));
}
value
.parse()
.map_err(|_| JsError::new(&format!("{label} is out of range")))
}