INNER CODE UNIT · Rust

deserialize_pubkey_compressed_unchecked

mratsim/constantine · constantine-rust/constantine-ethereum-bls-sig/src/lib.rs:158

pub fn deserialize_pubkey_compressed_unchecked(
    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_unchecked(
            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]

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…