pub struct Weight(/* private fields */);
Expand description
Re-export everything from the units::weight
module.
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 more