INNER CODE UNIT · Rust
deserialize_pubkey_compressed
mratsim/constantine · constantine-rust/constantine-ethereum-bls-sig/src/lib.rs:194
pub fn deserialize_pubkey_compressed(src: &[u8; 48]) -> Result<EthBlsPubKey, ctt_codec_ecc_status> {
let mut result: MaybeUninit<EthBlsPubKey> = MaybeUninit::uninit();
unsafe {
let status = ctt_eth_bls_deserialize_pubkey_compressed(
result.as_mut_ptr() as *mut ctt_eth_bls_pubkey,
src.as_ptr() as *const byte,
);
match status {
ctt_codec_ecc_status::cttCodecEcc_Success => Ok(result.assume_init()),
ctt_codec_ecc_status::cttCodecEcc_PointAtInfinity => Ok(result.assume_init()),
_ => Err(status),
}
}
}
#[must_use]
pub fn deserialize_signature_compressed(
src: &[u8; 96],