pub struct ValidTransactionBuilder { /* private fields */ }
Expand description
ValidTransaction
builder.
Allows to easily construct ValidTransaction
and most importantly takes care of
prefixing requires
and provides
tags to avoid conflicts.
Implementations§
source§impl ValidTransactionBuilder
impl ValidTransactionBuilder
sourcepub fn priority(self, priority: TransactionPriority) -> Self
pub fn priority(self, priority: TransactionPriority) -> Self
Set the priority of a transaction.
Note that the final priority for FRAME
is combined from all SignedExtension
s.
Most likely for unsigned transactions you want the priority to be higher
than for regular transactions. We recommend exposing a base priority for unsigned
transactions as a runtime module parameter, so that the runtime can tune inter-module
priorities.
sourcepub fn longevity(self, longevity: TransactionLongevity) -> Self
pub fn longevity(self, longevity: TransactionLongevity) -> Self
Set the longevity of a transaction.
By default the transaction will be considered valid forever and will not be revalidated by the transaction pool. It’s recommended though to set the longevity to a finite value though. If unsure, it’s also reasonable to expose this parameter via module configuration and let the runtime decide.
sourcepub fn propagate(self, propagate: bool) -> Self
pub fn propagate(self, propagate: bool) -> Self
Set the propagate flag.
Set to false
if the transaction is not meant to be gossiped to peers. Combined with
TransactionSource::Local
validation it can be used to have special kind of
transactions that are only produced and included by the validator nodes.
sourcepub fn and_requires(self, tag: impl Encode) -> Self
pub fn and_requires(self, tag: impl Encode) -> Self
Add a TransactionTag
to the set of required tags.
The tag will be encoded and prefixed with module prefix (if any).
If you’d rather add a raw require
tag, consider using #combine_with
method.
sourcepub fn and_provides(self, tag: impl Encode) -> Self
pub fn and_provides(self, tag: impl Encode) -> Self
Add a TransactionTag
to the set of provided tags.
The tag will be encoded and prefixed with module prefix (if any).
If you’d rather add a raw require
tag, consider using #combine_with
method.
sourcepub fn combine_with(self, validity: ValidTransaction) -> Self
pub fn combine_with(self, validity: ValidTransaction) -> Self
Augment the builder with existing ValidTransaction
.
This method does add the prefix to require
or provides
tags.
sourcepub fn build(self) -> TransactionValidity
pub fn build(self) -> TransactionValidity
Finalize the builder and produce TransactionValidity
.
Note the result will always be Ok
. Use Into
to produce ValidTransaction
.
Trait Implementations§
source§impl Clone for ValidTransactionBuilder
impl Clone for ValidTransactionBuilder
source§fn clone(&self) -> ValidTransactionBuilder
fn clone(&self) -> ValidTransactionBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ValidTransactionBuilder
impl Debug for ValidTransactionBuilder
source§impl Default for ValidTransactionBuilder
impl Default for ValidTransactionBuilder
source§fn default() -> ValidTransactionBuilder
fn default() -> ValidTransactionBuilder
source§impl From<ValidTransactionBuilder> for TransactionValidity
impl From<ValidTransactionBuilder> for TransactionValidity
source§fn from(builder: ValidTransactionBuilder) -> Self
fn from(builder: ValidTransactionBuilder) -> Self
source§impl From<ValidTransactionBuilder> for ValidTransaction
impl From<ValidTransactionBuilder> for ValidTransaction
source§fn from(builder: ValidTransactionBuilder) -> Self
fn from(builder: ValidTransactionBuilder) -> Self
Auto Trait Implementations§
impl RefUnwindSafe for ValidTransactionBuilder
impl Send for ValidTransactionBuilder
impl Sync for ValidTransactionBuilder
impl Unpin for ValidTransactionBuilder
impl UnwindSafe for ValidTransactionBuilder
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
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, 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>,
§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>,
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
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
T
.