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
sourceimpl 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
sourceimpl Clone for ValidTransactionBuilder
impl Clone for ValidTransactionBuilder
sourcefn clone(&self) -> ValidTransactionBuilder
fn clone(&self) -> ValidTransactionBuilder
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for ValidTransactionBuilder
impl Debug for ValidTransactionBuilder
sourceimpl Default for ValidTransactionBuilder
impl Default for ValidTransactionBuilder
sourcefn default() -> ValidTransactionBuilder
fn default() -> ValidTransactionBuilder
sourceimpl From<ValidTransactionBuilder> for TransactionValidity
impl From<ValidTransactionBuilder> for TransactionValidity
sourcefn from(builder: ValidTransactionBuilder) -> Self
fn from(builder: ValidTransactionBuilder) -> Self
sourceimpl From<ValidTransactionBuilder> for ValidTransaction
impl From<ValidTransactionBuilder> for ValidTransaction
sourcefn 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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<T> CheckedConversion for T
impl<T> CheckedConversion for T
sourcefn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
sourcefn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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 morefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read morefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read morefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read moresourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<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
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
sourcefn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moresourceimpl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
sourcefn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.sourceimpl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
sourcefn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.