pub struct Weight(/* private fields */);
alloc
only.Expand description
Represents block weight - the weight of a transaction or block.
This is an integer newtype representing Weight
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) -> Self
pub const fn from_wu_usize(wu: usize) -> Self
Directly constructs Weight
from usize weight units.
Sourcepub const fn from_vb_unwrap(vb: u64) -> Weight
pub const fn from_vb_unwrap(vb: u64) -> Weight
Sourcepub const fn from_vb_unchecked(vb: u64) -> Self
pub const fn from_vb_unchecked(vb: u64) -> Self
Constructs Weight
from virtual bytes without an overflow check.
Sourcepub const fn from_witness_data_size(witness_size: u64) -> Self
pub const fn from_witness_data_size(witness_size: u64) -> Self
Constructs Weight
from witness size.
Sourcepub const fn from_non_witness_data_size(non_witness_size: u64) -> Self
pub const fn from_non_witness_data_size(non_witness_size: u64) -> Self
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: Self) -> Option<Self>
pub fn checked_add(self, rhs: Self) -> Option<Self>
Checked addition.
Computes self + rhs
returning None
if an overflow occurred.
Sourcepub fn checked_sub(self, rhs: Self) -> Option<Self>
pub fn checked_sub(self, rhs: Self) -> Option<Self>
Checked subtraction.
Computes self - rhs
returning None
if an overflow occurred.
Sourcepub fn checked_mul(self, rhs: u64) -> Option<Self>
pub fn checked_mul(self, rhs: u64) -> Option<Self>
Checked multiplication.
Computes self * rhs
returning None
if an overflow occurred.
Sourcepub fn checked_div(self, rhs: u64) -> Option<Self>
pub fn checked_div(self, rhs: u64) -> Option<Self>
Checked division.
Computes self / rhs
returning None
if rhs == 0
.
Trait Implementations§
Source§impl AddAssign for Weight
impl AddAssign for Weight
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+=
operation. Read moreSource§impl<'a> Arbitrary<'a> for Weight
Available on crate feature arbitrary
only.
impl<'a> Arbitrary<'a> for Weight
arbitrary
only.Source§fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
Self
from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Self
from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured
this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured
this type
needs to construct itself. Read moreSource§impl<'de> Deserialize<'de> for Weight
impl<'de> Deserialize<'de> for Weight
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::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 Mul<FeeRate> for Weight
Computes the ceiling so that the fee computation is conservative.
impl Mul<FeeRate> for Weight
Computes the ceiling so that the fee computation is conservative.
Source§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 SubAssign for Weight
impl SubAssign for Weight
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-=
operation. Read more