feat(crypto): add extra types and conversions (#517)

This commit is contained in:
Andrew Westberg 2024-10-04 07:37:36 -04:00 committed by GitHub
parent de88df1986
commit 0ca7c34776
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 63 additions and 19 deletions

View file

@ -2,7 +2,7 @@ use std::borrow::Cow;
use std::ops::Deref;
use pallas_codec::minicbor;
use pallas_crypto::hash::{Hash, Hasher};
use pallas_crypto::hash::Hash;
use pallas_primitives::{alonzo, babbage, byron};
use crate::{wellknown::GenesisValues, Era, Error, MultiEraHeader, OriginalHash};
@ -109,11 +109,7 @@ impl<'b> MultiEraHeader<'b> {
match self {
MultiEraHeader::EpochBoundary(_) => Err(Error::InvalidEra(Era::Byron)),
MultiEraHeader::ShelleyCompatible(x) => Ok(x.header_body.leader_vrf.0.to_vec()),
MultiEraHeader::BabbageCompatible(x) => {
let mut leader_tagged_vrf: Vec<u8> = vec![0x4C_u8]; /* "L" */
leader_tagged_vrf.extend(&*x.header_body.vrf_result.0);
Ok(Hasher::<256>::hash(&leader_tagged_vrf).to_vec())
}
MultiEraHeader::BabbageCompatible(x) => Ok(x.header_body.leader_vrf_output()),
MultiEraHeader::Byron(_) => Err(Error::InvalidEra(Era::Byron)),
}
}
@ -122,11 +118,7 @@ impl<'b> MultiEraHeader<'b> {
match self {
MultiEraHeader::EpochBoundary(_) => Err(Error::InvalidEra(Era::Byron)),
MultiEraHeader::ShelleyCompatible(x) => Ok(x.header_body.nonce_vrf.0.to_vec()),
MultiEraHeader::BabbageCompatible(x) => {
let mut nonce_tagged_vrf: Vec<u8> = vec![0x4E_u8]; /* "N" */
nonce_tagged_vrf.extend(&*x.header_body.vrf_result.0);
Ok(Hasher::<256>::hash(&nonce_tagged_vrf).to_vec())
}
MultiEraHeader::BabbageCompatible(x) => Ok(x.header_body.nonce_vrf_output()),
MultiEraHeader::Byron(_) => Err(Error::InvalidEra(Era::Byron)),
}
}