pub struct Weight(/* private fields */);Expand description
Represents block weight - the weight of a transaction or block.
This is an integer newtype representing weigth in wu. It provides protection against mixing
up the types as well as basic formatting features.
Implementations§
Source§impl Weight
impl Weight
Sourcepub const MIN: Weight
pub const MIN: Weight
Minimum possible value (0 wu).
Equivalent to ZERO, may better express intent in some contexts.
Sourcepub const WITNESS_SCALE_FACTOR: u64 = 4u64
pub const WITNESS_SCALE_FACTOR: u64 = 4u64
The factor that non-witness serialization data is multiplied by during weight calculation.
Sourcepub const MAX_BLOCK: Weight
pub const MAX_BLOCK: Weight
The maximum allowed weight for a block, see BIP 141 (network rule).
Sourcepub const MIN_TRANSACTION: Weight
pub const MIN_TRANSACTION: Weight
The minimum transaction weight for a valid serialized transaction.
Sourcepub const fn from_wu_usize(wu: usize) -> Weight
pub const fn from_wu_usize(wu: usize) -> Weight
Directly constructs Weight from usize weight units.
Sourcepub fn from_kwu(wu: u64) -> Option<Weight>
pub fn from_kwu(wu: u64) -> Option<Weight>
Constructs Weight from kilo weight units returning None if an overflow occurred.
Sourcepub fn from_vb(vb: u64) -> Option<Weight>
pub fn from_vb(vb: u64) -> Option<Weight>
Constructs Weight from virtual bytes, returning None on overflow.
Sourcepub const fn from_vb_unwrap(vb: u64) -> Weight
pub const fn from_vb_unwrap(vb: u64) -> Weight
Constructs Weight from virtual bytes panicking on overflow.
§Panics
If the conversion from virtual bytes overflows.
Sourcepub const fn from_vb_unchecked(vb: u64) -> Weight
pub const fn from_vb_unchecked(vb: u64) -> Weight
Constructs Weight from virtual bytes without an overflow check.
Sourcepub const fn from_witness_data_size(witness_size: u64) -> Weight
pub const fn from_witness_data_size(witness_size: u64) -> Weight
Constructs Weight from witness size.
Sourcepub const fn from_non_witness_data_size(non_witness_size: u64) -> Weight
pub const fn from_non_witness_data_size(non_witness_size: u64) -> Weight
Constructs Weight from non-witness size.
Sourcepub const fn to_wu(self) -> u64
pub const fn to_wu(self) -> u64
Returns raw weight units.
Can be used instead of into() to avoid inference issues.
Sourcepub const fn to_kwu_floor(self) -> u64
pub const fn to_kwu_floor(self) -> u64
Converts to kilo weight units rounding down.
Sourcepub const fn to_vbytes_floor(self) -> u64
pub const fn to_vbytes_floor(self) -> u64
Converts to vB rounding down.
Sourcepub const fn to_vbytes_ceil(self) -> u64
pub const fn to_vbytes_ceil(self) -> u64
Converts to vB rounding up.
Sourcepub fn checked_add(self, rhs: Weight) -> Option<Weight>
pub fn checked_add(self, rhs: Weight) -> Option<Weight>
Checked addition.
Computes self + rhs returning None if an overflow occurred.
Sourcepub fn checked_sub(self, rhs: Weight) -> Option<Weight>
pub fn checked_sub(self, rhs: Weight) -> Option<Weight>
Checked subtraction.
Computes self - rhs returning None if an overflow occurred.
Sourcepub fn checked_mul(self, rhs: u64) -> Option<Weight>
pub fn checked_mul(self, rhs: u64) -> Option<Weight>
Checked multiplication.
Computes self * rhs returning None if an overflow occurred.
Sourcepub fn checked_div(self, rhs: u64) -> Option<Weight>
pub fn checked_div(self, rhs: u64) -> Option<Weight>
Checked division.
Computes self / rhs returning None if rhs == 0.
Sourcepub fn scale_by_witness_factor(self) -> Option<Weight>
pub fn scale_by_witness_factor(self) -> Option<Weight>
Scale by witness factor.
Computes self * WITNESS_SCALE_FACTOR returning None if an overflow occurred.
Trait Implementations§
Source§impl AddAssign for Weight
impl AddAssign for Weight
Source§fn add_assign(&mut self, rhs: Weight)
fn add_assign(&mut self, rhs: Weight)
+= operation. Read moreSource§impl<'de> Deserialize<'de> for Weight
impl<'de> Deserialize<'de> for Weight
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Weight, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Weight, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl DivAssign<u64> for Weight
impl DivAssign<u64> for Weight
Source§fn div_assign(&mut self, rhs: u64)
fn div_assign(&mut self, rhs: u64)
/= operation. Read moreSource§impl MulAssign<u64> for Weight
impl MulAssign<u64> for Weight
Source§fn mul_assign(&mut self, rhs: u64)
fn mul_assign(&mut self, rhs: u64)
*= operation. Read moreSource§impl Ord for Weight
impl Ord for Weight
Source§impl PartialOrd for Weight
impl PartialOrd for Weight
Source§impl Serialize for Weight
impl Serialize for Weight
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl SubAssign for Weight
impl SubAssign for Weight
Source§fn sub_assign(&mut self, rhs: Weight)
fn sub_assign(&mut self, rhs: Weight)
-= operation. Read moreimpl Copy for Weight
impl Eq for Weight
impl StructuralPartialEq for Weight
Auto Trait Implementations§
impl Freeze for Weight
impl RefUnwindSafe for Weight
impl Send for Weight
impl Sync for Weight
impl Unpin for Weight
impl UnwindSafe for Weight
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.