pub struct BusSecurityModel { /* private fields */ }Expand description
Validated dimensions of one binary-native bus argument.
Implementations§
Source§impl BusSecurityModel
impl BusSecurityModel
Sourcepub const fn new(
field_bits: usize,
tuple_variables: usize,
non_padding_leaf_counts: [usize; 2],
product: ProductGkrSecurityProfile,
) -> Option<Self>
pub const fn new( field_bits: usize, tuple_variables: usize, non_padding_leaf_counts: [usize; 2], product: ProductGkrSecurityProfile, ) -> Option<Self>
Checks representability and compatibility with the supplied product profile.
Each declared factor count must fit in the logical product tree.
An absent bus or an unrepresentable product shape returns no model.
Other counts are trusted inputs to the numeric model.
The binary bus derives checked counts through BusPlan::security_term in p3-bus.
Sourcepub fn components(&self) -> Vec<SecurityTerm>
pub fn components(&self) -> Vec<SecurityTerm>
Return each algebraic error source for diagnostic reporting.
The result excludes commitment binding and authentication of terminal leaf claims. These components must not be passed separately as protocol extras.
Sourcepub fn combined_term(&self) -> SecurityTerm
pub fn combined_term(&self) -> SecurityTerm
Return the union bound that composes as one protocol extra.
Trait Implementations§
Source§impl Clone for BusSecurityModel
impl Clone for BusSecurityModel
impl Copy for BusSecurityModel
Source§impl Debug for BusSecurityModel
impl Debug for BusSecurityModel
impl Eq for BusSecurityModel
Source§impl PartialEq for BusSecurityModel
impl PartialEq for BusSecurityModel
impl StructuralPartialEq for BusSecurityModel
Auto Trait Implementations§
impl Freeze for BusSecurityModel
impl RefUnwindSafe for BusSecurityModel
impl Send for BusSecurityModel
impl Sync for BusSecurityModel
impl Unpin for BusSecurityModel
impl UnsafeUnpin for BusSecurityModel
impl UnwindSafe for BusSecurityModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more