Skip to main content

AlgorithmFlags

Struct AlgorithmFlags 

Source
pub struct AlgorithmFlags(/* private fields */);
Expand description

Typed view of the algorithm flags byte from a decoded CompactReceipt.

§Examples

use h33_substrate_verifier::AlgorithmFlags;

let flags = AlgorithmFlags::from_byte(0b0000_0111);
assert!(flags.has_dilithium());
assert!(flags.has_falcon());
assert!(flags.has_sphincs());
assert_eq!(flags.count(), 3);

Implementations§

Source§

impl AlgorithmFlags

Source

pub const fn all_three() -> Self

The “all three families present” bit set.

Source

pub const fn from_byte(byte: u8) -> Self

Construct from a raw byte. Does not validate that the bits are recognized — use validated_from_byte for that.

Source

pub const fn validated_from_byte(byte: u8) -> Result<Self, VerifierError>

Construct from a raw byte, returning an error if unknown bits are set.

Source

pub const fn as_byte(self) -> u8

Raw byte value.

Source

pub const fn has_dilithium(self) -> bool

Does the flag set include Dilithium?

Source

pub const fn has_falcon(self) -> bool

Does the flag set include FALCON?

Source

pub const fn has_sphincs(self) -> bool

Does the flag set include SPHINCS+?

Source

pub const fn count(self) -> u32

Count how many families are present.

Trait Implementations§

Source§

impl Clone for AlgorithmFlags

Source§

fn clone(&self) -> AlgorithmFlags

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AlgorithmFlags

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for AlgorithmFlags

Source§

fn eq(&self, other: &AlgorithmFlags) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for AlgorithmFlags

Source§

impl Eq for AlgorithmFlags

Source§

impl StructuralPartialEq for AlgorithmFlags

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.