Struct lagoon_runtime::constants::fee::WeightToFee
source · pub struct WeightToFee;
Expand description
Handles converting a weight scalar to a fee value, based on the scale and granularity of the node’s balance type.
This should typically create a mapping between the following ranges:
- [0, MAXIMUM_BLOCK_WEIGHT]
- [Balance::min, Balance::max]
Yet, it can be used for any other sort of change to weight-fee. Some examples being:
- Setting it to
0
will essentially disable the weight fee. - Setting it to
1
will cause the literal#[weight = x]
values to be charged.
Trait Implementations§
source§impl WeightToFeePolynomial for WeightToFee
impl WeightToFeePolynomial for WeightToFee
source§fn polynomial() -> WeightToFeeCoefficients<Self::Balance>
fn polynomial() -> WeightToFeeCoefficients<Self::Balance>
Returns a polynomial that describes the weight to fee conversion. Read more
Auto Trait Implementations§
impl RefUnwindSafe for WeightToFee
impl Send for WeightToFee
impl Sync for WeightToFee
impl Unpin for WeightToFee
impl UnwindSafe for WeightToFee
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read moresource§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read moresource§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read moresource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read moresource§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, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.source§impl<T> WeightToFee for Twhere
T: WeightToFeePolynomial,
impl<T> WeightToFee for Twhere
T: WeightToFeePolynomial,
source§fn weight_to_fee(weight: &Weight) -> <T as WeightToFee>::Balance
fn weight_to_fee(weight: &Weight) -> <T as WeightToFee>::Balance
Calculates the fee from the passed weight
according to the polynomial
.
This should not be overridden in most circumstances. Calculation is done in the
Balance
type and never overflows. All evaluation is saturating.
§type Balance = <T as WeightToFeePolynomial>::Balance
type Balance = <T as WeightToFeePolynomial>::Balance
The type that is returned as result from calculation.