feat(crypto): add extra types and conversions (#517)
This commit is contained in:
parent
de88df1986
commit
0ca7c34776
4 changed files with 63 additions and 19 deletions
|
|
@ -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)),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue