pub struct OperatorWeights {
pub weights: HashMap<Address, u16>,
pub total_exposure: u64,
}Expand description
Operator weight information for a service
Fields§
§weights: HashMap<Address, u16>Map of operator address to their exposure in basis points
total_exposure: u64Total exposure across all operators
Implementations§
Source§impl OperatorWeights
impl OperatorWeights
Sourcepub fn contains(&self, operator: &Address) -> bool
pub fn contains(&self, operator: &Address) -> bool
Check if an operator is active in this service
Sourcepub fn iter(&self) -> impl Iterator<Item = (&Address, &u16)>
pub fn iter(&self) -> impl Iterator<Item = (&Address, &u16)>
Iterate over all operators and their weights
Sourcepub fn calculate_threshold_signers(&self, threshold_bps: u16) -> usize
pub fn calculate_threshold_signers(&self, threshold_bps: u16) -> usize
Calculate the stake-weighted threshold count
Given a threshold in basis points, calculates how many operators (sorted by weight descending) are needed to meet the threshold.
Trait Implementations§
Source§impl Clone for OperatorWeights
impl Clone for OperatorWeights
Source§fn clone(&self) -> OperatorWeights
fn clone(&self) -> OperatorWeights
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for OperatorWeights
impl RefUnwindSafe for OperatorWeights
impl Send for OperatorWeights
impl Sync for OperatorWeights
impl Unpin for OperatorWeights
impl UnsafeUnpin for OperatorWeights
impl UnwindSafe for OperatorWeights
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